- Zigbee-датчик влажности почвы для растений (проект modkam.ru)
- О датчике
- Внешний вид
- SLS gateway
- Zigbee2mqtt
- Корпус
- Mi Flora
- Видео версия обзора
- Вывод
- Wifi датчики влажности почвы
- Требования к сенсору
- Требования к шлюзу
- Требования к сервису
- Выбор «железа»
- Схемы принципиальные
- Сенсор
- Сервер-шлюз
- Конструкция сенсора
- Конструкция щупов сенсора влажности
- Шлюз с интернет по WiFi
- Планы на будущее
Zigbee-датчик влажности почвы для растений (проект modkam.ru)
В этом обзоре мы с вами познакомимся с еще одной разработкой Jagera, автора сайта modkam.ru, широко известного среди энтузиастов умного дома. Это zigbee датчик влажности почвы для растений, функционал которого, при необходимости может быть существенно расширен для других измерений.
Также, пользуясь случаем, хочу выразить благодарность Jager и всем кто приложил свои знания и умения к созданию таких полезных устройств.
О датчике
Информация о первой версии устройства появилась еще в августе 2020 года, как альтернативе Mi Flora, который существенно вырос в цене, хотя пару лет назад стоил меньше 10 долларов. Разработка построена на базе многократно проверенного модуля E18-MS1-PCB и измеряет влажность почвы емкостным методом, что защищает электроды датчика от коррозии, а кроме этого имеет возможность установки еще ряда сенсоров — влажности, давления, освещенности и двух датчиков температуры, включая выносной.
Меньше чем через месяц, благодаря участникам сообщества, свет увидела вторая версия датчика, кстати именно про нее и пойдет речь в этом обзоре. Не отличаясь от первой версии функционально, она была оптимизирована с точки зрения схемотехники, что позволило убрать часть лишних элементов и упростить монтаж.
В конце февраля 2021 года, вышла третья версия датчика. Функциональность не изменилась, главное отличие в том — полностью фабричная сборка. Приложенные к статье исходники для заказа содержат всю необходимую информацию для производства готового устройства, самостоятельно останется установить и припаять держатель элементов питания, прошить и распечатать корпус.
Внешний вид
Итак, как я уже сказал, герой этого обзора — датчик второй версии, оптимизированный. Собран в Украине, и очередная моя благодарность для Александра из Одессы, который собрал и безвозмездно передал мне несколько таких устройств.
Попавшие ко мне датчики рассчитаны на установку двух батареек формата ААА. Здесь важно использовать именно батарейки, так как их напряжение равно 1,5 В, что в сумме дает 3. А напряжение никелевых аккумуляторов в сумме дает около 2,5 В. Также можно заказать на базе круглой батарейки CR2032.
В датчике используется модуль E18-MS1-PCB от EBYTE на базе чипа CC2530 который очень часто используется в подобного рода DIY устройствах.
Эта часть датчика должна находится в почве. Прямого контакта электродов с влажным грунтом нет, что предотвращает коррозию. В моем случае это единственный измеряемый параметр, остальные сенсоры не установлены
В сочетании с высокой энергоэффективностью Zigbee, кстати в данной версии датчик передает данные раз в 30 минут, емкости батареек должно хватить на несколько лет минимум.
На датчике есть кнопка — короткое нажатие принудительно проводит обновление данных, а для синхронизации — нужно около 10 секунд удерживать ее, пока светодиод не начнет мерцать.
SLS gateway
Подключение начнем с SLS шлюза, в котором сразу появляется поддержка всех устройств с modkam. Синхронизация и подключения происходит в штатном режиме, поддержка — полная.
Помним что особенностью работы SLS является то, что сразу после подключения появляются не все объекты устройства. Они отобразятся по мере получения с них каких-то данных, это нормально так и должно быть.
Вот так выглядит перечень всех возможных параметров которые можно получать с шлюза. Влажность воздуха, освещение, тут кстати есть какое-то значение, давление, и два датчика температуры — воздуха и выносной для почвы.
Параметр LastSeen это время последнего отзыва от датчик в Unix формате — количество секунд прошедших от 00:00 01.01.1970
Сущности зеркально пробрасываются в Home Assistant. По мере обновления в SLS — будут появлятся и тут. Обновить их принудительно можно коротким нажатием на кнопку датчика. Из реальных параметров на этой версии — уровень заряда, сигнала и влажность почвы.
Напомню — интервал между передачей показания датчика — составляет 30 минут, для растений этого вполне достаточно.
Zigbee2mqtt
Это устройство поддерживается и в zigbee2mqtt — без применения внешних конвертеров и необходимости ставить версию для разработчиков. Сопряжение — тоже стандартное без каких-то специальных действий.
Поддержка полная, включая корректное изображение устройства. На всякий случай уточню — датчик является конечным устройством и не передает данные от других участников сети.
Чтобы данные датчика не исчезали после перезагрузки инстанса — в меню настроек нужно поставить галочку retain, тогда все данные в топике mqtt будут сохранятся.
Все основные параметры датчика тут те же самые что и в SLS — главный — влажность почвы, данные устройства — уровень заряда и сигнала и опциональные — влажность воздуха, давление, освещение и две температуры.
Корпус
Для этого датчика обязательно нужен какой-то корпус, по крайней мере для защиты от брызг при поливе. К вопросу можно подойти с фантазией — например корпуса в виде грибка, которые мне прислали вместе с датчиками.
Шляпка съемная — она открывает доступ внутрь ножки гриба, в которой и находится электронная часть датчика. Кроме этого она выполняет роль зонтика, защищающего датчик от попадания брызг.
На одной из стороны предусмотрено отверстие, через которое можно вывести например выносной датчик температуры.
Нижняя часть датчика с электродами, которую нужно погружать в грунт, выводится через прорезь в нижней части ножки гриба.
Кроме защиты от брызг, корпус выполняет и эстетическую функцию. Грибок в горшке с растением — смотрится оригинально и не чужеродно.
Mi Flora
А так выглядит датчик в грибном корпусе по соседству с заводским решением от Xiaomi Mi Flora. Лично мне больше симпатичен гриб.
Вот сравнение показаний датчиков сразу после полива. Емкостной сенсор Zigbee устройства показывает 100%, а miflora — 76%. Мне кажется что тут ближе к правде Zigbee устройство, так как верхний слой почвы полностью пропитан водой. Кстати хочу отметить что с последним обновлением интеграции Xiaomi gateway 3 — mi flora стала намного чаще отдавать показания, раньше было намного инертнее.
Показания примерно через час. Оба сенсора показывают снижение уровня влаги, но miflora — на 20 с лишним процентов, что как-то много, а Zigbee — всего на 6%.
А тут показания двух рядом стоящих датчиков в другом горшке, менее чем через сутки после полива. MiFlora показывает всего 11%, хотя земля чувствительно влажная на ощупь. При этом грибок считает что влажность — 76% и это больше похоже на правду.
Всего у меня в системе три таких датчика, как раз по количеству горшков в комнате.
Так они выглядят на карте сети. Они находятся в одной комнате с координатором, здесь это USB Zigbee Stick CC2652 и считают оптимальным подключаться прямо к нему.
Выводить в интерфейс мне удобнее всего при помощи кастомной карты Multiple Entity Row, она позволяет несколько значений выводить одной строкой. Я вывожу все что дает этот датчик — влажность почвы, уровень заряда и сигнала.
Видео версия обзора
Вывод
Говоря о достоинствах этого датчика — в первую очередь стоит упомянуть интерфейс, на мой взгляд Zigbee наиболее подходящий для таких устройств и возможность установки емкого источника питания в виде батареек ААА. Более адекватная, на мой взгляд, методика измерения влажности почвы, по крайней мере она более логичная.
Так же мне очень понравился корпус, но это уже немного другая история, так как его печать не связана с производством датчика, который, напоминаю, в третьей версии можно заказать сразу в сборе, либо приобрести локально с уже установленной прошивкой и элементами питания по одной из указанных мной ссылок.
Wifi датчики влажности почвы
Когда-то давно приобрел на просторах Интернета простой прибор для измерения влажности почвы. Приборчик служи верой и правдой уже больше двух лет, показывая, когда нужно поливать комнатные растения. И ведь даже без всяких батареек!
Но прогресс не стоит на месте. Возникла задача дистанционного измерения влажности растений на дачном участке. Решил начать с прототипа — системы измерения влажности почвы комнатных растений. Сформировал такие требования
Вся система должна состоять из сенсоров, шлюза WiFi и сервиса в интернете с выдачей информации на компьютер или мобильные устройства.
Требования к сенсору
- Сенсор должен измерять влажность почвы, температуру (опционально) и иметь возможность расширения для подключения исполнительных устройств или дополнительных сенсоров.
- Сенсор должен быть беспроводным, один на одно растение (рядку, горшок). Максимальная дальность от приемника должна составлять 10-ки метров.
- Сенсор должен иметь минимальную стоимость и минимальные размеры.
- Питание сенсора должно осуществляться от батарейки с минимальной стоимостью и максимальным временем работы
Требования к шлюзу
- Шлюз должен получать информацию от сенсоров и сохранять в интернете через WiFi
- Число сенсоров может достигать несколько десятков
- Шлюз должен иметь WEB-интерфейс для настройки и отображения информации
- Стоимость шлюза должна быть минимальной
Требования к сервису
- Сервис должен иметь две функции — сохранение информации и отображения информации
- Должна быть в будущем возможность расширение функций и «фишичек»
Выбор «железа»
Сенсор влажности первоначально планировался использоваться покупной, в дальнейшем он был заменен на самодельный. Для измерения температуры опционально в каждый сенсор можно устанавливать DS18B20
Контроллер сенсора ATMEGA328 в корпусе DIP, который в перспективе должен замениться на более дешевые ATMEGA8A или ATTINT85 (а если не ставить датчик температуры, то и ATTINY24)
Сперва хотел использовать модули NRF24L01+, но потом остановился на боле дешевых и неприхотливых модулях RC433.
Питание сенсора может осуществляться от любой батарейки — АА, ААА и CR2032, так как на плате установлен повышающий преобразователь BL8530 с очень маленьким током покоя.
Для интернет шлюза использовал «народный WiFi» — ESP8266.
Схемы принципиальные
Сенсор
Повышающий стабилизатор использован BL8530-301 на 3В. Данное напряжение питание положительно сказывается на энергопотреблении сенсора, и отрицательно на мощности, а значит и дальности, передатчика. Для удаленных комнат лучше ставить преобразователь ML8530-501 на 5В и индуктивность L1 на 47мкГн.
Внешний кварц с конденсаторами C1 и C2 можно не ставить. ATMEGA328 отлично работает и на внутреннем резонаторе.
Сервер-шлюз
Конструкция сенсора
Сделал три варианта сенсора на ATMEGA328P DIP28.
Под батарейку CR2032 без корпуса
И под закрытые держатели на 4 ААА батарейки без внешнего кварцевого резонатора
На мой взгляд, самый симпатичный вариант. Хотя 50руб/корпус получается
Конструкция щупов сенсора влажности
- Готовый покупной щуп. Имеет стабильные характеристики. Из недостатков — небольшая глубина погружения и цена почти 40 руб.
2. Щуп из шпильки M3 их нержавейки. Удобно прикручивается прямо к плате. Цена шпильки примерно 120/м. Длину можно сделать любую. Недостаток — влажность мерится по всей длине щупа.
Это недостаток обоих щупов влажности. Выяснилось, что вода стоит в нижней части горшка, у корней растения. А измерение происходит в верхней части почвы, как у покупного сенсора или по всей глубине, как у шпильки, корая длиннее. Да и цена шпильки из нержавейки получается тоже не самой маленькой.
3. Поэтому родилась новая конструкция из электрического кабеля ШВВП 2 x 1.5 (а лучше 2 x 2.5). Длину щупов сделал 150мм, от изоляции зачистил на 50мм. Могу мерить таким щупом у самых корней растения. Стоит корейки, вернее практически бесплатно, так как обрезки провода остались после ремонта.
Неплохо было бы еще защитить медь от окисления каким нибудь покрытием
Шлюз с интернет по WiFi
Быстро собрал на макетной плате, в качестве БП взял плату от ненужного зарядника 5В
Итак железки собраны, прошивки разработаны и загружены. Сенсоры вставлены в растения. Ток в режиме покоя получился около 30мкА. В активном режиме 5мА. Батареек CR2032 по моим расчетам должно хватить примерно на пол года. (Для увеличения срока службы батареи можно увеличить время между замерами влажности)
Интерфейс пока выглядит так
Дальность передачи от сенсора получилось не очень большой — в пределах комнаты уверенно, из другой комнаты уже после пляски с бубном у антенны. Виной тому самодельные антенны, дешевые передатчики и низкое напряжение питание сенсора — 3В. Не зря в радиовыключателях и пультах стоят батарейки на 12В. Хотя для системы, работающей в одной комнате, низкая дальность это даже плюс — меньше забивается эфир.
Планы на будущее
- Повысить дальность передатчика заменой стабилизатора на 5В.
- Поставить миниатюрные но более качественные передатчики STX822 с покупными антенками на 433МГц
- Для уменьшения платы использовать ATTINY85 (Как нибудь будет время,попробую запихать весь код в ATTINY13)
По прошивкам сенсоров, шлюза, а также серверной части будет моя следующая статься. Исходники, схемы, чертежи печатных плат можно скачать с GITHUBа