Raspberry 3 GPIO DHT22(AM2301)
Модератор: immortal
-
- Сообщения: 315
- Зарегистрирован: Вс май 20, 2018 9:27 am
- Благодарил (а): 160 раз
- Поблагодарили: 29 раз
Re: Raspberry 3 GPIO DHT22(AM2301)
Подскажите не понимаю!
Я создал 2 свойства "ThisComputer.HumFromDHT22" и "ThisComputer.TempFromDHT22" и они прекрасно получают сведения с датчика "DHT22".
А как теперь эти свойства привязать к простым устройствам "TempSensor01" и "HumSensor01" я не понимаю! Все мои мысли сводятся к написанию "костыля", что не есть правильно!
Я создал 2 свойства "ThisComputer.HumFromDHT22" и "ThisComputer.TempFromDHT22" и они прекрасно получают сведения с датчика "DHT22".
А как теперь эти свойства привязать к простым устройствам "TempSensor01" и "HumSensor01" я не понимаю! Все мои мысли сводятся к написанию "костыля", что не есть правильно!
-
- Сообщения: 1561
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 577 раз
Re: Raspberry 3 GPIO DHT22(AM2301)
А зачем привязывать свойства к ПУ? Передавай температуру и влажность прямо в TempSensor01 и HumSensor01Yashalta писал(а): ↑Сб фев 16, 2019 11:50 amПодскажите не понимаю!
Я создал 2 свойства "ThisComputer.HumFromDHT22" и "ThisComputer.TempFromDHT22" и они прекрасно получают сведения с датчика "DHT22".
А как теперь эти свойства привязать к простым устройствам "TempSensor01" и "HumSensor01" я не понимаю! Все мои мысли сводятся к написанию "костыля", что не есть правильно!
-
- Сообщения: 315
- Зарегистрирован: Вс май 20, 2018 9:27 am
- Благодарил (а): 160 раз
- Поблагодарили: 29 раз
Re: Raspberry 3 GPIO DHT22(AM2301)
Я может не правильно выразился...
Вот тут у меня и проблема не знаю как прямо TempSensor01 и HumSensor01 передавать данные с "ThisComputer.HumFromDHT22" и "ThisComputer.TempFromDHT22" или может не нужно создавать свойства "ThisComputer.HumFromDHT22" и "ThisComputer.TempFromDHT22" а как-то сразу передавать температуру и влажность в TempSensor01 и HumSensor01?
-
- Сообщения: 1561
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 577 раз
Re: Raspberry 3 GPIO DHT22(AM2301)
Код, который по ссылочке, заносит данные в TempSensor01 и HumSensor01Yashalta писал(а): ↑Сб фев 16, 2019 8:23 pmЯ может не правильно выразился...
Вот тут у меня и проблема не знаю как прямо TempSensor01 и HumSensor01 передавать данные с "ThisComputer.HumFromDHT22" и "ThisComputer.TempFromDHT22" или может не нужно создавать свойства "ThisComputer.HumFromDHT22" и "ThisComputer.TempFromDHT22" а как-то сразу передавать температуру и влажность в TempSensor01 и HumSensor01?
http://majordomo.smartliving.ru/forum/v ... 976#p69168
-
- Сообщения: 315
- Зарегистрирован: Вс май 20, 2018 9:27 am
- Благодарил (а): 160 раз
- Поблагодарили: 29 раз
Re: Raspberry 3 GPIO DHT22(AM2301)
я добавил код который вы указали в свой скрипт, на python и мне выдает ошибкуfandaymon писал(а): ↑Сб фев 16, 2019 8:29 pmКод, который по ссылочке, заносит данные в TempSensor01 и HumSensor01
http://majordomo.smartliving.ru/forum/v ... 976#p69168
Код: Выделить всё
root@majordomo:/home/pi/scripts# python dht22.py
Temp=24.0*C Humidity=21.3%
Traceback (most recent call last):
File "dht22.py", line 53, in <module>
f=urllib.urlopen(link)
NameError: name 'urllib' is not defined
root@majordomo:/home/pi/scripts#
-
- Сообщения: 1561
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 577 раз
Re: Raspberry 3 GPIO DHT22(AM2301)
В начале скрипта надо написать import urllibYashalta писал(а): ↑Сб фев 16, 2019 11:05 pmя добавил код который вы указали в свой скрипт, на python и мне выдает ошибкуfandaymon писал(а): ↑Сб фев 16, 2019 8:29 pmКод, который по ссылочке, заносит данные в TempSensor01 и HumSensor01
http://majordomo.smartliving.ru/forum/v ... 976#p69168Код: Выделить всё
root@majordomo:/home/pi/scripts# python dht22.py Temp=24.0*C Humidity=21.3% Traceback (most recent call last): File "dht22.py", line 53, in <module> f=urllib.urlopen(link) NameError: name 'urllib' is not defined root@majordomo:/home/pi/scripts#
- Рейтинг: 1.16%
- omship
- Сообщения: 8
- Зарегистрирован: Вс июн 11, 2017 11:07 am
- Откуда: Краснодар
- Благодарил (а): 6 раз
- Поблагодарили: 0
Re: Raspberry 3 GPIO DHT22(AM2301)
Я создал скрипт temphum, добавил код
, добавил в onNewMinute , теперь каждые 5 минут заносит данные в TempSensor03 и HumSensor01
Код: Выделить всё
$answer = shell_exec('/home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 22 20');
$pattern = '(\d+\.*\d*)';
preg_match_all($pattern, $answer, $matches);
setGlobal("TempSensor03.value",$matches[0][1]);
setGlobal("HumSensor01.value",$matches[0][0]);
Код: Выделить всё
if($m%5 == 0){
runScript('temphum');
}
#ЗасебяизаСашку!
-
- Сообщения: 1561
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 577 раз
Re: Raspberry 3 GPIO DHT22(AM2301)
Можно конечно и так, но это какое-то извращение - вычленять шаблоном результат, вместо того чтобы просто его отправить в МДМ Если хочется работать со стороны МДМ, можно же просто поменять вывод программы AdafruitDHT.py, чтобы она выводила 2 числа, разделенных пробелом и воспользоватсяomship писал(а): ↑Чт янв 30, 2020 12:37 amЯ создал скрипт temphum, добавил код, добавил в onNewMinuteКод: Выделить всё
$answer = shell_exec('/home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 22 20'); $pattern = '(\d+\.*\d*)'; preg_match_all($pattern, $answer, $matches); setGlobal("TempSensor03.value",$matches[0][1]); setGlobal("HumSensor01.value",$matches[0][0]);
, теперь каждые 5 минут заносит данные в TempSensor03 и HumSensor01Код: Выделить всё
if($m%5 == 0){ runScript('temphum'); }
Код: Выделить всё
explode(' ',$answer);
- Рейтинг: 1.16%
- omship
- Сообщения: 8
- Зарегистрирован: Вс июн 11, 2017 11:07 am
- Откуда: Краснодар
- Благодарил (а): 6 раз
- Поблагодарили: 0
Re: Raspberry 3 GPIO DHT22(AM2301)
в файле AdafruitDHT.py эту строкуизменил на эту
в скрипте temphum изменил на
теперь все четко мана...
Код: Выделить всё
print('Temp={0:0.1f}* Humidity={1:0.1f}%'.format(temperature, humidity))
Код: Выделить всё
print('{0:0.1f} {1:0.1f}'.format(temperature, humidity))
Код: Выделить всё
$answer = shell_exec('/home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 22 20');
$matches = explode(' ',$answer);
setGlobal("TempSensor03.value",$matches[1]);
setGlobal("HumSensor01.value",$matches[0]);
#ЗасебяизаСашку!