Raspberry pi 3 и DHT 11

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

Ответить
easyman
Сообщения: 10
Зарегистрирован: Сб сен 22, 2018 6:38 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Raspberry pi 3 и DHT 11

Сообщение easyman » Сб сен 22, 2018 6:48 pm

Здравствуйте.
Дано: Raspberry pi 3 с majordomo и работающий DHT 11, по команде в консоли выдающий температуру и влажность. Суть вопроса, как подружить majordomo с DHT 11, есть ли готовое решение? Не удалось найти на форуме ответ именно при такой схеме подключения. И да, в majordomo только пару дней как втыкаю.
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: Raspberry pi 3 и DHT 11

Сообщение fandaymon » Сб сен 22, 2018 9:32 pm

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
За это сообщение автора fandaymon поблагодарил:
easyman (Вс сен 23, 2018 8:22 am)
Рейтинг: 1.16%
easyman
Сообщения: 10
Зарегистрирован: Сб сен 22, 2018 6:38 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Re: Raspberry pi 3 и DHT 11

Сообщение easyman » Вс сен 23, 2018 8:25 am

Благодарю за ответ, тоже использую питон, ссылка похоже на то что мне как раз и надо было.
easyman
Сообщения: 10
Зарегистрирован: Сб сен 22, 2018 6:38 pm
Благодарил (а): 5 раз
Поблагодарили: 0

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, это связано с ошибкой? В каком направлении копать не разберусь.
easyman
Сообщения: 10
Зарегистрирован: Сб сен 22, 2018 6:38 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Re: Raspberry pi 3 и DHT 11

Сообщение easyman » Вс сен 23, 2018 9:55 pm

Попробовал так же подтянуть данные через сценарии при помощи PHP но тоже безрезультатно.

Код: Выделить всё

$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
срабатывает без проблем, в majordomo данные не долетают.
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: Raspberry pi 3 и DHT 11

Сообщение fandaymon » Вс сен 23, 2018 11:23 pm

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
За это сообщение автора fandaymon поблагодарил:
easyman (Пн сен 24, 2018 12:24 am)
Рейтинг: 1.16%
easyman
Сообщения: 10
Зарегистрирован: Сб сен 22, 2018 6:38 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Re: Raspberry pi 3 и DHT 11

Сообщение easyman » Пн сен 24, 2018 12:25 am

Так в теме же написано
Ракую... исправил, пошли данные. Спасибо большое!
Ответить