Контроллер влажности почвы wi fi

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% и это больше похоже на правду.

Читайте также:  Поменять пароль вай фай ростелеком zte

Всего у меня в системе три таких датчика, как раз по количеству горшков в комнате.

Так они выглядят на карте сети. Они находятся в одной комнате с координатором, здесь это USB Zigbee Stick CC2652 и считают оптимальным подключаться прямо к нему.

Выводить в интерфейс мне удобнее всего при помощи кастомной карты Multiple Entity Row, она позволяет несколько значений выводить одной строкой. Я вывожу все что дает этот датчик — влажность почвы, уровень заряда и сигнала.

Видео версия обзора

Вывод

Говоря о достоинствах этого датчика — в первую очередь стоит упомянуть интерфейс, на мой взгляд Zigbee наиболее подходящий для таких устройств и возможность установки емкого источника питания в виде батареек ААА. Более адекватная, на мой взгляд, методика измерения влажности почвы, по крайней мере она более логичная.

Так же мне очень понравился корпус, но это уже немного другая история, так как его печать не связана с производством датчика, который, напоминаю, в третьей версии можно заказать сразу в сборе, либо приобрести локально с уже установленной прошивкой и элементами питания по одной из указанных мной ссылок.

Источник

Контроллер измерения влажности почвы для вертикальной фермы

Статья о разработке контроллера измерения влажности почвы с передачей данных по Wi‑Fi. Конкретно это устройство было разработано для вертикальной фермы на 64 ячейки.

Вертикальная ферма – обобщённое название высокоавтоматизированного агропромышленного комплекса для выращивания культурных растений методами гидропоники или аэропоники в закрытых помещениях внутри специально спроектированного или адаптированного для этого здания (Материал из Википедии).

Наше устройство сложно назвать высокоавтоматизированным комплексом. В данный момент это лишь часть системы. Помимо влажности почвы выращиваемых растений необходимо заботиться о таких деталях, как: температура, освещение, газовоздушный состав почвы/атмосферы, и многие другие. В ряде случаев важными параметрами являются цветовая температура освещения, влажность воздуха и кислотность почвы. На данном этапе разработки необходимо только измерение влажности с передачей данных на сервер. Остальное реализовано на стороннем оборудовании. Поэтапное внедрение новых ячеек системы (полив, освещение и т.д.) позволит постепенно отладить каждое из звеньев. Следующим этапом планируется разработка системы полива для этой же фермы.

Схема реализована на микроконтроллере STM32F030C6T6 и довольно распространенном Wi-Fi модуле ESP-12E. Конечно, существует масса возможных вариантов реализации данной задумки, но так как контроллер и модуль уже были освоены в других проектах, было решено применять именно эту связку. Я занимался аппаратной частью, все ПО на Алексее, который программировал другой наш совместный проект (https://habr.com/ru/post/411537/). Также есть непосредственно заказчик, который придумывает функционал, тестирует и дает рекомендации. Например, в качестве датчиков влажности применены готовые емкостные, что-то типа:

Рис.1. Датчик влажности почвы

Это обусловлено их дешевизной и легкой доступностью. Даже через лаковое покрытие на плате со временем появляется коррозия и датчики являются расходниками (нет смысла производить свои датчики в данный момент, хотя готовое и проверенное решение у нас есть). Задачу гидроизоляции верхней части датчиков тоже на заказчике. Протяжка проводов для подключения происходит на этапе установки фермы.

Читайте также:  Wifi пароль телевизоров philips

Наше устройство питается от блока питания 12В. С помощью DC/DC на датчики подается 4,2В. Напряжение выдается на два отдельных разъема, с каждого на 32 ячейки (включением и отключением можно управлять через WEB интерфейс). Для питания контроллера и модуля Wi-Fi стоит LDO.

Для опроса всех каналов задействованы 8 АЦП STM32, сигналы на которые подаются через мультиплексоры CD74HC4051M96. То есть каждый мультиплексор (соответственно один АЦП) получает данные от 8 ячеек.

Рис.2.1. Схема одного мультиплексора

Входы каждого мультиплексора заведены на разъемы TJ2-8P8C (RJ-45) позже стали использовать прямые, а не угловые – это упрощает прокладку проводов внутри корпуса. Тесты показали, что данные с датчиков без искажений приходят по витой паре. В другом нашем проекте мы заземляли экран кабелей аналоговых датчиков, так как в противном случае были существенные наводки от внешнего оборудования, но здесь этого не потребовалось.

С ESP все стандартно. Один программный UART используется для связи с микроконтроллером. Второй UART для вывода консольных логов. Две кнопки используются для сброса настроек и обновления прошивки. Для удобства есть индикация светодиодами и буззером.

Рис.2.1. Схема включение ESP

Программная часть

Микроконтроллер одновременно переключает все мультиплексоры и читает данные со всех датчиков. Данные копятся в скользящее окне и усредняются. Отправка в ESP происходит по 128 байт. Далее ESP запаковывает все в JSON и отправляет на сервер по MQTT. На сервере вместе живут три сущности: Node-RED, influxdb и Grafana. Мы решили использовать облачный сервер, хотя можно запустить и на своей машине.

Node-RED с брокером MQTT получает данные, парсит их (level->function 1) и отправляет в базу данных influxdb. Тут все настраивается как в детском конструкторе – просто и удобно.

Рис.3. Node-RED

Также у Node-RED есть GUI для настройки системы и отображения, например, статуса. В данный момент он сделан в минималистическом виде. Сюда уходят статусные сообщения и применяются параметры. Параметры летят в ESP (какие каналы передаем) и STM32 (управление питанием и интервал отправки данных).

Рис.4. Dashboard GUI

influxdb позволяет копить (хранить) данные и отображать их на графике в реальном времени. На кривизну графиков не обращайте внимания – мы тестируем отображение данных, постоянно меняем положение датчиков и т.д.

Рис.5. База данных influxdb

В принципе, на этом можно уже и остановиться, но, чтобы все было совсем удобно и красиво используется Grafana. Она забирает данные с сервера и отображает графики. Вообще тут очень емкий функционал, с которым мы еще разбираемся.

Рис.6. Grafana

Скорее всего, Алексей еще напишет подробнее по программному обеспечению и настройке в отдельной статье, так как мне не охватить даже половины проделанной по софту работы.

Корпус использовали стандартный, для вывода кабелей датчиков – гермоввод. Контроллер установлен в сухом помещении и герметичный корпус – это лишь предосторожность.

Рис.7. Контроллер в корпусеРис.8. Вариант с вертикальными разъемами

В данный момент ведется отладка и тестирование изделий. Мы копим данные, эмулируем различные варианты показаний и проводим проверки в реальной почве. Еще предстоит пересчет значений в проценты или относительные единицы с человеческой шкалой, возможно калибровка датчиков перед установкой.

Источник

Оцените статью
Adblock
detector