Как стать автором
Обновить

Zigbee датчик влажности почвы с E-Ink дисплеем eFlora

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров17K
Приветствую всех читателей Habr! Хочу показать и рассказать вам об одном из своих проектов, это небольшой и симпатичный датчик влажности почвы с небольшим экраном на электронных чернилах. Датчик работает от батарейки, умеет отправлять данные по воздуху по протоколу Zigbee в вашу систему умного дома. Данный проект — это дальнейшее развитие другого моего DIY ардуино проекта датчика влажности почвы.



Устройство было переработано, в сравнении с первоначальным проектом, как по железу, так и по софту. Теперь датчик работает на протоколе Zigbee 3.0. Поддерживается работа в популярных проектах, таких как Zigbee2MQTT, ZHA, iobroker.zigbee, node-red-contrib-zigbee (на базе zigbee-herdsman), SLS, Homed, SpruHub.

Исключён из схемы внешний генератор на LMC555CMX, теперь сигнал генерируется на soc с2530. Печатная плата четырехслойная, с медным сенсором во внутреннем слое. Это решение обеспечивает долговечность. Медный сенсор со временем не корродирует от проникающей влаги через микротрещины в маске, которые появляются со временем.







Добавлен как обязательный датчик температуры, так как схема имеет температурный дрейф, меньше чем при использовании варианта схемы на LMC555CMX. Дрейф от нагрева компенсируется программно на основе данных с сенсора shtc3, размещённого на плате. Также датчик оснащен сенсором освещенности.



Первая версия плат датчика





Новая Zigbee версия плат датчика





Корпус теперь изготавливается в Китае. Ранее корпуса печатались на бытовом FDM 3D принтере, с последующей шлифовкой и полировкой (очень трудоемкий способ). Сейчас используется технология 3D печати MJF. Данный вид печати доступен и в России, но стоимость печати одного корпуса сопоставима со стоимостью готового датчика с корпусом из Китая, даже при партии в 100 штук.





Для вывода информации на устройстве используется e-ink дисплей с диагональю 1.02 дюйма.



Характеристики дисплея:

  • модель: GDEW0102T4,
  • IC Driver: UC8175,
  • разрешение экрана: 128x80 пикселей (DPI 145),
  • напряжение питания: 2.3в — 3.6в,
  • потребление в режиме обновления изображения: 1.5мА,
  • потребление в режиме глубокого сна: 200нА,
  • время обновления экрана в стандартном режиме: 3сек,
  • время обновления экрана в режиме частичного обновления: 300мс.

Функциональность датчика

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

Основные передаваемые данные:

  • Soil moisture (измеренное значение влажности почвы)
  • Battery (оставшийся заряд в %)
  • Battery low (триггер разряда батареек)
  • Voltage (напряжение аккумулятора в милливольтах)

Дополнительные передаваемые данные:

  • Temperature (измеренное значение температуры)
  • Humidity (измеренная относительная влажность)
  • Illuminance lux (измеренная освещенность в люксах)
  • Illuminance (необработанная измеренная освещенность)

Конфигурационные команды:

  • Sleep delay (время сна датчика, в минутах, по умолчанию 30 минут)
  • Lower level (нижний уровень влажности почвы, который будет привязан к 0%)
  • Upper level (верхний уровень влажности почвы, который будет привязан к 100%)

Данные рассчитанные на стороне сервера для датчика
Linkquality (качество связи, мощность сигнала)







Датчик может отправлять данные в систему умного дома по протоколу Zigbee. Так же датчик может работать в режиме без сети, как standalone-устройство.

Датчик делает измерения влажности почвы один раз в 30 минут (по умолчанию). При изменении уровня влажности по отношению к предыдущему замеру на 1% устройство отправляет данные в систему умного дома и выводит новое значение на экран устройства. Так же во время измерения уровня влажности почвы производится измерение температуры, влажности воздуха и освещенности. При изменении любого из полученных значений, относительно предыдущего измерения, так же производится отправка данных и вывод информации на дисплей. Один раз в 12 часов (по умолчанию) производится замер напряжения батарейки, данные конвертируются в проценты и происходит отправка и вывод информации на экран. При низком значении уровня влажности почвы (ниже 20%, по умолчанию) на экран устройства выводится пиктограмма о необходимости произвести полив.

По данным влажности почвы строится график за 30 дней. При заполнении всей шкалы графика, значения на графике перестраиваются справа налево.



Датчик получает время по Zigbee сети, отображает на дисплее текущую дату. Так же на дисплее выводятся данные о заряде батарейки и статусе датчика в Zigbee сети.

Устройство может быть сконфигурировано внешними командами, отправляемыми через интерфейс контроллера умного дома. Внешними командами можно изменить интервал считывания сенсоров влажности почвы и температуры от 1 минуты до 12 часов с шагом в одну минуту. В зависимости от модели вашего цветка и типа почвы, можно перестроить расчет диапазона уровня влажности почвы. Это можно сделать, отправив новые значения в свойства Lower level и Upper level. Например, вашему цветку нежелательна слишком сухая почва, тогда для значения 0% можно задать новое значение например в 40%, тогда 40 процентов станет 0%, датчик будет пересчитывать диапазон 40%-100% в 0%-100%.

Слева на корпусе устройства есть кнопка. Для входа в сеть необходимо зажать кнопку на 5 секунд. Для выхода из Zigbee сети кнопку необходимо нажать и удерживать в течение 10 секунд. При коротком нажатии, без удержания будет вызвано чтение всех сенсоров, обновление дисплея и отправка данных (если устройство работает не как одиночное устройсво, зарегистрировано в сети Zigbee).

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



Характеристики датчика:

  • Модель: e-Flora
  • Батарейка: CR2477/CR2550 (не комплектуется)
  • Беспроводной протокол: Zigbee
  • Размеры: 140мм × 30мм × 18мм
  • Температурный диапазон и точность: 0°C ~ + 50 °C, ± 0,3 °C
  • Влажность воздуха, диапазон и точность: 0 — 100% относительной влажности, ± 3%
  • Влажность почвы, диапазон и точность: 0 — 100%, ± 3%
  • Освещенность, диапазон: 0-65000 (необработанные значения, RAW)

Группа в телеграм DIY DEV. Тут можно пообщаться на тему разработки DIY устройств, отвечу на ваши вопросы по датчикам Efekta.

Гитхаб первой открытой версии датчика влажности почвы, можно собрать самостоятельно.

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

Спасибо за внимание, всем добра!
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 51: ↑48 и ↓3+60
Комментарии59

Публикации

Истории

Ближайшие события

2 – 18 декабря
Yandex DataLens Festival 2024
МоскваОнлайн
11 – 13 декабря
Международная конференция по AI/ML «AI Journey»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань