Здравствуйте.
Дано: Raspberry pi 3 с majordomo и работающий DHT 11, по команде в консоли выдающий температуру и влажность. Суть вопроса, как подружить majordomo с DHT 11, есть ли готовое решение? Не удалось найти на форуме ответ именно при такой схеме подключения. И да, в majordomo только пару дней как втыкаю.
Raspberry pi 3 и DHT 11
Модератор: immortal
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Raspberry pi 3 и DHT 11
Тут очень сильно зависит при помощи чего в консоли выдаётся температура и влажность и с чем именно вам приятней/интересней работать.easyman писал(а): ↑Сб сен 22, 2018 6:48 pmЗдравствуйте.
Дано: Raspberry pi 3 с majordomo и работающий DHT 11, по команде в консоли выдающий температуру и влажность. Суть вопроса, как подружить majordomo с DHT 11, есть ли готовое решение? Не удалось найти на форуме ответ именно при такой схеме подключения. И да, в majordomo только пару дней как втыкаю.
Пути 2 - подключать phpшные библиотеки для работы с gpio и опрашивать в своём цикле (это для любителей php)
Или вызывать по cronу скрипт на каком-нибудь языке (я, например, использую для этого питон), получать значение и отправлять полученное значение через api МДМ.
По ссылке тема про DHT22, но смысл примерно тот же
viewtopic.php?f=8&t=4976&p=69157#p69157
- Рейтинг: 1.16%
-
- Сообщения: 10
- Зарегистрирован: Сб сен 22, 2018 6:38 pm
- Благодарил (а): 5 раз
- Поблагодарили: 0
Re: Raspberry pi 3 и DHT 11
Благодарю за ответ, тоже использую питон, ссылка похоже на то что мне как раз и надо было.
-
- Сообщения: 10
- Зарегистрирован: Сб сен 22, 2018 6:38 pm
- Благодарил (а): 5 раз
- Поблагодарили: 0
Re: Raspberry pi 3 и DHT 11
Из темы по ссылке вставил код:
Но при выполнении скрипта выдает ошибку:
Не подскажете в чем может быть причина?
В cron добавил выполнять ежеминутно скрипт, но что то не стыкуется с Majordomo, это связано с ошибкой? В каком направлении копать не разберусь.
Код: Выделить всё
if humidity is not None and temperature is not None:
# print('Temp={0:0.1f}* Humidity={1:0.1f}%'.format(temperature, humidity))
link="http://127.0.0.1/objects/?op=set&object=TempSensor01&p=value&v=" + str(round(temperature,1))
f=urllib.urlopen(link)
link="http://127.0.0.1/objects/?op=set&object=HumSensor01&p=value&v=" + str(round(humidity))
f=urllib.urlopen(link)
else:
print('Failed to get reading. Try again!')
sys.exit(1)
Код: Выделить всё
pi@raspberrypi:~ $ sudo ./DHT.py 11 27
Temp=26.0* Humidity=53.0%
Traceback (most recent call last):
File "./DHT.py", line 55, in <module>
f=urllib.urlopen(link)
NameError: name 'urllib' is not defined
В cron добавил выполнять ежеминутно скрипт, но что то не стыкуется с Majordomo, это связано с ошибкой? В каком направлении копать не разберусь.
-
- Сообщения: 10
- Зарегистрирован: Сб сен 22, 2018 6:38 pm
- Благодарил (а): 5 раз
- Поблагодарили: 0
Re: Raspberry pi 3 и DHT 11
Попробовал так же подтянуть данные через сценарии при помощи PHP но тоже безрезультатно.
Через консоль срабатывает без проблем, в majordomo данные не долетают.
Код: Выделить всё
$temp = shell_exec("sudo -S /home/pi/DHT.py 11 27 | awk '{print $1}' | cut -c 6-7");
echo $temp;
echo "\t";
sg("Temp.temp",$temp);
$humi = shell_exec("sudo -S /home/pi/DHT.py 11 27 | awk '{print $2}' | cut -c 10-11");
echo $humi;
echo "\t";
sg("Temp.humi",$humi);
Код: Выделить всё
sudo -S /home/pi/DHT.py 11 27 | awk '{print $1}' | cut -c 6-7
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Raspberry pi 3 и DHT 11
Так в теме же написаноeasyman писал(а): ↑Вс сен 23, 2018 6:56 pmИз темы по ссылке вставил код:Но при выполнении скрипта выдает ошибку:Код: Выделить всё
if humidity is not None and temperature is not None: # print('Temp={0:0.1f}* Humidity={1:0.1f}%'.format(temperature, humidity)) link="http://127.0.0.1/objects/?op=set&object=TempSensor01&p=value&v=" + str(round(temperature,1)) f=urllib.urlopen(link) link="http://127.0.0.1/objects/?op=set&object=HumSensor01&p=value&v=" + str(round(humidity)) f=urllib.urlopen(link) else: print('Failed to get reading. Try again!') sys.exit(1)
Не подскажете в чем может быть причина?Код: Выделить всё
pi@raspberrypi:~ $ sudo ./DHT.py 11 27 Temp=26.0* Humidity=53.0% Traceback (most recent call last): File "./DHT.py", line 55, in <module> f=urllib.urlopen(link) NameError: name 'urllib' is not defined
В cron добавил выполнять ежеминутно скрипт, но что то не стыкуется с Majordomo, это связано с ошибкой? В каком направлении копать не разберусь.
Добавить в начало import urllib
- Рейтинг: 1.16%
-
- Сообщения: 10
- Зарегистрирован: Сб сен 22, 2018 6:38 pm
- Благодарил (а): 5 раз
- Поблагодарили: 0
Re: Raspberry pi 3 и DHT 11
Ракую... исправил, пошли данные. Спасибо большое!Так в теме же написано