Беспроводной DIY монитор влажности почвы
Приветствую всех читателей Хабра! Сегодня хочу поделится с вами моим новым проектом — беспроводным датчиком влажности почвы, который построен на основе всем известного модуля влажности почвы с алиэкспрес. Новый датчик это логическое продолжение первого моего DIY проекта на эту тему. Но в новой реализации это уже не ардуино модуль, а законченный девайс с своим собственным корпусом. Итак, каша из топора, часть вторая! 🙂
Китайский модуль измерения влажности почвы построен на таймере 555. Метод измерения — емкостной. Для моего проекта нужна была версия модуля с установленным стабилизатором напряжения XC6206P332 на 3.3В, который в дальнейшем придется удалить с платы модуля. Дело в том что в таких версиях используемся модификация таймера TLC555 с нижним порогом по питанию в 2В. В версиях без стабилизатора используются таймеры NE555 c нижним порогом по питанию в 5В. Но в любом случае что проще купить для повторения этого проекта дело повторяющего. В первом варианте выпаиваем стабилизатор напряжения, во втором меняем таймер например на такой — LMC555 (даташит) работающий даже от 1.5В. Для беспроводного модуля к китайскому датчику влажности почвы я выбрал радиомодуль от EBYTE E73C на котором установлен чип nRF52840. Аргументом стала цена модуля и имеющееся количество данных модулей у меня в запасах.
Беспроводной модуль получился очень простой, RGB светодиод, пара кнопок, полевой транзистор, батарейка. Собрать такой девайс сможет даже самый неопытный начинающий паяльщик. На датчике влажности помимо удаления стабилизатора напряжения так же необходимо выпаять разъем и впаять на его место штырьевую вилку 3P, шаг 2.54 мм.
Размеры платы получились немного меньше чем в первом проекте — 42х29мм, определялись размером держателя батарейки.
Корпус был напечатан на моем бытовом SLA принтере ANYCUBIC. Время печати деталей порядка пары часов. Последующая пост обработка заняла около получаса. Стоимость израсходованной полимерной смолы
Потребление в режиме сна — 4.7мкА, в режиме передачи 8мА. Интервал замеров изменяемый, шаг 1 минута. Время измерения 50мс (5 замеров в тестовой программе), потребление во время измерения
1 мА. Так же производятся измерение температуры чипа, измерение уровня заряда батарейки. Передача данных на контролер УД посредством сети Mysensors, передача данных на контролер УД посредством сети Zigbee.
Код тестовых программ находится на моем Github
Пример работы в сети Mysensors и УД Мажордомо
Пример работы в сети ZigBee и УД Мажордомо
Код настройки конвертора в модуле zigbee2mqtt для датчика влажности (пока не уверен, что это верное решение).
Тестовую прошивку написал один из участников нашего DIY сообщества — Lenz, вот его GIthub.
Стоимость компонентов которые пришлось добавить к китайскому влагомеру составила порядка 400-500 рублей. На мой взгляд вполне неплохо.
Видео работы датчика
Дальнейшие планы на этот проект. Хочется заменить МК на что то более простое, например на nRF52810 или nRF52811, но всё будет упирается в цену, скорее всего придется отказаться от радиомодулей и сделать просто на чипе. Возможно подумаю добавить зуммер, вполне вероятно стабилизатор питания, так как сейчас необходимо учитывать напряжение питания при замере. Довести до стабильного состояния Zigbee версию, сделать BLE версию, сделать мобильное приложение-показометр. Вообщем точно будет что-то еще.
Если вас заинтересовал данный проект, предлагаю зайти в группу телеграмм, там всегда будет оказана помощь в освоении протокола Майсенсорс, Zigbee, BLE на nRF5, помогут освоить программирование nRF52 в Ардуино ИДЕ и не только в ней.
Источник
DIY датчик влажности почвы с E-Ink экраном
Приветствую всех читателей Хабра! Сегодня хочу рассказать вам об одном из своих проектов, это датчиком влажности почвы с небольшим экраном на электронных чернилах, датчик работает от батарейки, умеет отправлять данные по воздуху в какую нибудь из систем Умного Дома. Данный проект это дальнейшее развитие другого моего DIY проекта датчика влажности почвы.
Хронология:
В этом проекте, как и в предшествующих ему для измерения влажности в почве используется 555-ый таймер. Так как в этом проекте не используется готовый китайский сенсор с АлиЭкспресс то для этого проекта я выбрал КМОП таймер LMC555CMX. Заявляется стабильная работа на низких напряжениях от 1.5в, сверх низкое потребление в районе 150мкА, частота 3 МГц (даташит). Таймер по ножкам совместим с NE555 и другими аналогами.
Для вывода информации на самом датчике был использовать e-ink дисплей с диагональю 1.02 дюйма, который я уже ранее использовал в другом своем проекте миниатюрного датчика температуры и влажности.
- модель: GDEW0102T4,
- IC Driver: UC8175,
- разрешение экрана: 128×80 пикселей (DPI 145),
- напряжение питания: 2.3в — 3.6в,
- потребление в режиме обновления изображения: 1.5мА,
- потребление в режиме глубокого сна: 200нА,
- время обновления экрана в стандартном режиме: 3сек,
- время обновления экрана в режиме частичного обновления: 300мс.
Было разработано две версии плат под два радио модуля разных производителей. Радио модули были выбраны таким образом, что бы полностью перекрыть всю линейку nRF52. Модуль MINEW MS50SFA имеет три модификации на которые устанавливаются nRF52810, nRF52811 и nRF52832. И второй модуль это EBYTE E73-2G4M08S1 который имеет две модификации C и E (на само деле уже три, в третьей вместо керамической антенны используется внешняя) на которые устанавливаются nRF52840 и nRF52833.
Почему так много nRF? Просто мне хотелось минимизировать минусы при использовании датчиков в различных условиях. Например если сенсор находится недалеко от шлюза то будет достаточно мощности радиопередатчика в 4dBm, при этом получаем очень привлекательное потребление устройства когда оно находится в режиме сна(а это большая часть времени), примерно 2 мкА. Если шлюз находится на удалении, то можно будет использовать датчики на которых установлены радиомодули с nRF52833 или nRF52840, у которых максимальная мощность радиопередачи 8dBm. Ну и в мечтах есть планы на Тред и Зигби, а для этого нужно много места, которое есть только в nRF52833 и nRF52840.
Изготовление плат заказывалось в Китае, из-за габаритов основной платы с сенсором влажности стоимость заказа была выше, так как плата не вписывалась в 10х10см, а это максимальные размеры которые можно сделать за $2. Вторая плата для дисплея естественно вписалась в двухдолларовые условия.
Корпус устройства был отпечатан на FDM принтере PLA нитью, после печати корпус был отшлифован и отполирован.
Работа устройства
Устройство может быть сконфигурировано внешними командами отправляемыми через интерфейс контроллера Умного Дома. Внешними командами можно изменить интервал считывания сенсоров влажности почвы и температуры от 1 часа до 24 часов с шагом в один час. Можно изменить интервал считывания и отправки уровня заряда батарейки, от 1 часа до 3 суток с шагом в 1 час. Изменить порог оповещения о необходимости полива, в зависимости от модели вашего цветка 🙂 и типа почвы, шаг 1 %, по умолчанию установлен порог в 45%. Так же можно внешней командой сделать сброс устройства к первоначальным настройкам, происходит полное очищение памяти устройства, после устройство перезагружается и пытается зарегистрироваться в сети как новое устройство.
Устройство имеет кнопку «меню», через меню можно инвертировать изображение на экране(черное\белое), вызвать презентацию(передача параметров в УД) устройства и доступных у него сенсоров, включить вручную одноразово режим поиска сети(при потере сети, минуя стандартный автоматический поиск с интервалом в 1 час), вызов режима конфигурации устройства внешними командами, сброс устройства к первоначальным настройкам.
Источник
Zigbee-датчик влажности почвы для растений (проект modkam.ru)
В этом обзоре мы с вами познакомимся с еще одной разработкой Jagera, автора сайта modkam.ru, широко известного среди энтузиастов умного дома. Это zigbee датчик влажности почвы для растений, функционал которого, при необходимости может быть существенно расширен для других измерений.
Также, пользуясь случаем, хочу выразить благодарность Jager и всем кто приложил свои знания и умения к созданию таких полезных устройств.
Содержание
Где заказать ?
- Заказать в РФ — телеграмм
- Заказать в Украине — производитель датчика из обзора на OLX
О датчике
Информация о первой версии устройства появилась еще в августе 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 наиболее подходящий для таких устройств и возможность установки емкого источника питания в виде батареек ААА. Более адекватная, на мой взгляд, методика измерения влажности почвы, по крайней мере она более логичная.
Так же мне очень понравился корпус, но это уже немного другая история, так как его печать не связана с производством датчика, который, напоминаю, в третьей версии можно заказать сразу в сборе, либо приобрести локально с уже установленной прошивкой и элементами питания по одной из указанных мной ссылок.
Источник