Comments 30
ИМХО в статье на хватает линка на Ваш работающий датчик. Можете опубликовать?
0
Даже в данном случае, как систему мониторинга я бы выбрал Zabbix, тем более на то есть все ресурсы
0
Nexx WT3020H + RODOS-5 (MP707) Результат в Zabbix. Сейчас хочу SMALL METEO V4 прикупить.
0
Сейчас бы в 2017 писать на python 2
-1
здравствуйте, уважаемый автор,
Чтобы метеостанция не сдохла через полгода-год от самозапиливающейся флэшки, настоятельно рекомендую монтировать её в read-only, см., например, https://geektimes.ru/post/283802/. Остальные рекомендации помещаю в спойлеры.
PS
Лично мне по теме понравился вот этот tutorial: Raspberry Pi Tutorial Series: 1-Wire DS18B20 Sensor.
Чтобы метеостанция не сдохла через полгода-год от самозапиливающейся флэшки, настоятельно рекомендую монтировать её в read-only, см., например, https://geektimes.ru/post/283802/. Остальные рекомендации помещаю в спойлеры.
про 1-wire, sysfs и hardcode
Несмотря на имеющиеся ссылки, неплохо было бы посвятить хотя бы один абзац текста описанию того, что DS18B20 работает через интерфейс 1-wire, что доступ к нему получаете через YY-xxxxxxxxxxxx , где YY суть Family Code (28 для DS18B20), а остальное — уникальный номер устройства. И если Вы свои устройства зашиваете в скрипт хардкодом, предупредите, пожалуйста, об этом явно в комментариях. Хотя резиденты местного клуба и так разберутся, но для гостей портала все вышеперечисленное не будет лишним.
sysfs
, и что для этого подгружаются модули w1-gpio
и w1_therm
. Для тех, кто предпочитает активировать 1-wire по-простому, можно указать и на утилиту raspi-config
. Хорошо бы объяснить смысл параметров типа pullup
и питанию. Те, кто раньше не работал с датчиками через sysfs
, наверняка оценят и разъяснения к схеме именования, по которой все устройства появляются в /sys/bus/w1/devices
, а каждому устройству сопоставляется каталог вида про измеряемые температуры
Я бы указал на ограничения по рабочим температурам, длине проводов и т.д. У самого одноплатника есть ограничения по работе, см., например, https://habrahabr.ru/post/318486/ и комментарии.
Если спросить поисковик про «DS18B20 Raspberry Pi», будет просто взрыв. Та статья, что Вы выбрали, содержит достаточно абсурдное утверждение о якобы измеряемом диапазоне -10°C..+85°C. Это совершенно неверно, потому что на самом деле DS18B20 измеряет диапазон -55°C to +125°C, но только в диапазоне от -10 до +85 его точность заявлена как ±0.5°C (т.е. 1°C). Думаю, что в Вашей геолокации -10°C это вообще несерьёзно, неужели не обратили внимания?
Если спросить поисковик про «DS18B20 Raspberry Pi», будет просто взрыв. Та статья, что Вы выбрали, содержит достаточно абсурдное утверждение о якобы измеряемом диапазоне -10°C..+85°C. Это совершенно неверно, потому что на самом деле DS18B20 измеряет диапазон -55°C to +125°C, но только в диапазоне от -10 до +85 его точность заявлена как ±0.5°C (т.е. 1°C). Думаю, что в Вашей геолокации -10°C это вообще несерьёзно, неужели не обратили внимания?
про стиль naive coding
Конечно, стиль naive coding гораздо более понятен читателям, но всё-таки финальный скрипт я бы организовал так, чтобы перед сетевой частью все файлы
sysfs
были уже закрыты. Что будет при наползании следующего прогона на предыдущий, кстати? Мало ли чего, народный сервер придержит Вам транзакцию, скриптина зависнет минут на 15, за ней вторая, и т.д. У меня утилита feh недели за три из-за течки памяти сжирает всю оперативную память и флэшка не сдохла только потому, что работает в read-only с отключённым swap.Двухчасовой танец с бубном меня явно выбесилУверяю: у Вас впереди много интересного:) Тем не менее, плюсую авансом.
PS
Лично мне по теме понравился вот этот tutorial: Raspberry Pi Tutorial Series: 1-Wire DS18B20 Sensor.
+6
Учту ошибки. Вечером исправлю)
+2
Поправьте заголовок заодно, пожалуйста.
0
Вам ещё про параметр
gpiopin
ниже порекомендовали, это к вопросу 1-wire.0
Этот датчик разве не может работать как триггер? Насколько помню, что 1820, что 1821 — примерно одного класса устройства. Имел опыт работы с 18С21 (может быть неточно, там ещё что-то было в маркировке) в триггерном режиме. Суть в том, что датчик можно запрограммировать, так, что он перестаёт выдавать по 1-wire температуру, но выход принимает только два значения: лог.1 и лог.0. Запрограммировать верхний предел температуры и нижний можно специальным программатором (например, тут описано http://www.rtcs.ru/article_detail.asp?id=73). Точность в таком случае 1 градус, что для Вашего случая (насколько понял, теплица) вполне подойдёт для автоматической регулировки без каких либо микроконтроллеров и прочего — просто усилитель на транзисторе и реле, управляющее обогревом.
Конечно, если микроконтроллер/компьютер уже есть, то всё это и на нём можно сделать, я просто хотел сказать, что для регулировки температуры не нужно закупать компьютер.
Конечно, если микроконтроллер/компьютер уже есть, то всё это и на нём можно сделать, я просто хотел сказать, что для регулировки температуры не нужно закупать компьютер.
-1
UFO just landed and posted this here
Я просто думал, что датчики ставят как раз с целью автоматизации — чтобы была автоматическая регулировка. Но если нужен именно мониторинг значений температуры — то триггерный режим не подойдёт. Правда, можно передавать 0 или 1 — только трактовать это надо будет так — 1 — превышение TH, 0 — температура ниже TL (или наоборот, инвертировать можно хоть логикой в программе, хоть аппаратно).
+1
А где об этом режиме почитать?
Гугл выдает именно эту страницу.
Гугл выдает именно эту страницу.
0
1820 работает только в режиме измерителя температуры, в нем есть сигнализация о достижении/превышении температуры, но не физический триггер для подключения чего то напрямую.
+1
Может я не так понял — подскажите, а MAC устройства это разве не MAC самой малинки которая данные отправляет? Если да, то почему вы не берете адрес из системы и вбиваете его руками?
0
Можно и автоматизировать. Просто я обычно не меняю WIFI адаптеры на малинке, так что MAC не меняется. Каждый раз проверять его не нужно.
0
Я вообще то был уверен что программисты унифицируют код в порядке хорошего тона, чтобы голова не болела о таких мелочах. То есть вот случись чего с вашей малинкой или с wifi адаптером, или кто-то воспользуется вашим скриптом — придётся править этот кусок кода руками. Да банально — вам пришлось лезть в систему и копировать оттуда MAC адрес сетевухи в ручную! Не лень разве было?)
0
Удобно, когда на GPIO Raspberry Pi ничего другого не подключено, кроме одной шины с датчиками. Как в мануалах написано подключать к 4 ноге ds18b20, так все и подключают.
Пара лет назад мне потребовалось подключить ds18b20, на Raspberry оставались свободные пару ног и как оказалось в ядре захардкожена нога 4 для 1-wire. После пары дней танцов с бубнами, пересборкой модулей ядра я добился того, что 1-wire заработал на 22 ноге.
Сейчас по прежнему по умолчанию нога для 1-wire это 4. Но можно и поменять:
pi@raspberrypi:~ $ tail /boot/config.txt
#dtoverlay=lirc-rpi
# Additional overlays and parameters are documented /boot/overlays/README
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
gpu_mem=160
dtoverlay=lirc-rpi,gpio_in_pin=11,gpio_out_pin=9
dtoverlay=w1-gpio,gpiopin=22
+3
Своего датчика пока нет(но все готово для запуска).
Мониторю температуру с чужих
http://pastebin.com/7wGGZNtW
Мониторю температуру с чужих
http://pastebin.com/7wGGZNtW
0
Sign up to leave a comment.
Работа с Народным Мониторингом на Python с Raspberry Pi