Статья

Система полива своими руками с поддержкой HomeKit

Жарким летом хочется только лежать в гамаке и нежиться под лучами солнца, а ежедневные хлопоты по поливу огорода хочется оставить на «умный дом». Я обитаю в экосистеме компании Apple и выбор устройств с поддержкой Homekit "из коробки" ограничен.
Да и ценник для обычного жителя СНГ великоват.

Rachio 3 Smart Sprinkler Controller  - монстр среди систем полива, в зависимости от версии может поливать как 8, так и 16 зон! Настоящая мечта ленивого садовода, до того момента, пока мы не взглянем на цену. За младшую версию придется выложить 230$, а старшая версия сожрёт из вашего кармана уже 280 вечно зеленых.
И это цена в Штатах, что было бы у нас, страшно представить...

Есть вариант подешевле, к примеру - Eve Aqua. Работает от двух батареек формата АА, держит связь с яблочной продукцией по Bluetooth. Имеет защиту от влаги и пыли, встроенный расходомер. И стоит вполне разумных 100$. Только жаль не в России и странах СНГ.
Ценник в наших магазинах начинается от 10.300 руб.

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

Аппаратная часть

Для начала необходимо выбрать основной компонент системы - электромагнитный клапан. Их выбор слишком велик. Заострю внимание на потребляемом вольтаже, в основном - это 12v / 24v /220v. На мой взгляд, меньше - лучше. И клапан должен быть нормально закрытым.

В качестве микроконтроллера я буду использовать свой любимый Wemos D1 mini. Из-за наличия micro-usb разъёма на плате, который в разы упрощает жизнь для тех, кто постоянно
прошивает свой микроконтроллер. Есть решения меньше, энергоэффективнее, современнее, но я все равно считаю его лучшим для тех, кто только постигает ESP8266.

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

  • IRF520на плате - будем использовать для включения и выключения нашего клапана.
  • Преобразователь с 12 на 5 вольт на AMS1117. Главное возьмите к нему радиатор, иначе есть шанс того, что он сгорит.
  • Разъём питания 12 вольт "мама".
  • Корпус для радиоэлектронных проектов.
  • Провода для подключения, мама-мама.

Установка электроники в корпус

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

Homebridge и MQTT

Для управления системой полива мы будем использовать протокол MQTT, более подробно о нем можете узнать в данной статье.
Homebridge мы используем для управления вашей системой полива через приложение "Дом".

Если у вас нет настроенного HomeBridge сервера, тогда вам необходимо его установить.

После того как у вас появился Homebridge, необходимо установить плагин homebridge-mqttthing.
Сделать это можно двумя способами.

Способ первый:
Установить из Web интерфейса Homebridge.
Заходим на Web интерфейс Homebridge, нажимаем на вкладку "Plugins" и ищем homebridge-mqttthing.
Далее нажимаем INSTALL и ждем буквально 1 минуту.

Способ второй: Подключиться к устройству, на котором стоит HomeBridge, с помощью протокола SSH 

Вводим в командную строку :

sudo npm install -g homebridge-mqttthing

После чего у нас появится плагин для работы с протоколом mqtt.

Установка и настройка ESP_Easy

Скачиваем прошивку ESP_Easy.
Открываем архив и запускаем ESP.Easy.Flasher.exe

После подключения к точке доступа ESP, вас перекинет на странницу ввода автоматически, если этого не произошло, необходимо в адресной стройке вашего браузера вбить следующий адрес : 192.168.4.1

У нас откроется список Wi-Fi сетей, отмечаете вашу сеть, и вводим пароль сети.
За 20 секунд ESP подключится к вашей Wi-Fi сети.
Если ESP подключилась к Wi-Fi, на экране вы увидите ее IP адрес в вашей сети.Перейдем к настройке прошивки, нажав на кнопку "Proceed to main config"

После того как мы оказались на главном экране ESP_Easy, нам необходимо перейти к вкладке "Controllers", для этого нажимаем "Edit".
Необходимо указать протокол OpenHAB MQTT. После чего откроется меню расширенных настроек, тут необходимо:

  • Указать IP адрес вашего MQTT сервера ( У меня mqtt сервер стоит на Raspberry Pi, которая имеет IP адрес 192.168.31.136).
  • Изменить порт, если он у вас отличается от стандартного 1883.
  • Поставить галочку напротив "Enabled".

Нажимаем "Submit".

Прыгаем в вкладку "Devices", нажимаем "Edit", выбираем Switch Input - Switch.
В данном меню необходимо:

  • Указать имя в вкладке "Name".
  • Активировать галочку напротив Enabled.
  • Выбрать номер GPIO пина, к которому подключен транзистор (в моём случает GPIO 12, или D6 на Wemos D1 mini).
  • Активировать галочку напротив Send Boot state.
  • Активировать галочку напротив Send to Controller.
  • В самом низу State поменять на Switch.

Нажимаем "Submit". На данном этапе настройка ESP Easy закончена.

Возвращаемся к HomeBridge. Нам необходимо добавить несколько строк в Config.json
В строке "url" необходимо указать IP адрес вашего MQTT, если homebridge и mqtt сервер установлены у вас на одном устройстве - строку можно не менять.
"setActive": "/указываем имя устройства (по умолчанию ESP_Easy)/gpio/номер пина, к которому вы подключили транзистор",
"getActive": "/указываем имя устройства (по умолчанию ESP_Easy)/Имя указанное в вкладке Devices/Тип устройства".

{ "accessory": "mqttthing", "type": "valve", "valveType": "sprinkler", "name": "Грядки", "url": "mqtt://127.0.0.1", "username": "admin", "password": "admin", "topics": { "setActive": "/ESP_Easy/gpio/12", "getActive": "/ESP_Easy/sprinkler/Switch", "getInUse": "/ESP_Easy/sprinkler/Switch" }, "integerValue": "true", "onValue": "1", "durationTimer": "true", "offValue": "0" },

Сохраняем и перезагружаем Homebridge. После чего в приложении Дом у нас появятся "Грядки".

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

Проект не стоит на месте, и в скором будущем попытаюсь его перевести на автономное питание. Но даже тем результатом, что есть сейчас, я практически полностью доволен.

Все железки я брал в Екатеринбурге, если закупать на Aliexpress, итоговая сумма будет раза в полтора-два меньше.
Закупка в Екатеринбурге:


отличная статья, спасибо автору, в дачный сезон самое то что надо.

Кажется у нас есть победитель конкурса)

Ну, загадывать не стоит =)

Интересный получился проектик.

Только модуль на 

AMS1117, я бы порекомендовал заменить на какой нить DC/DC преобразователь типа например  такого https://ru.aliexpress.com/item/32796268715.html">https://ru.aliexpress.com/item/32796268715.html Это расширит диапазон применяемых электроклапанов и соответственно питающих напряжений до 24В. И самое главное греться уже ничего не будет. 


Еще бы я поставил обратный диод параллельно обмотке клапана, для зашиты от высоковольтных бросков возникающих на обмотке, при закрывании полевого транзистора.

После предложенных переделок, девайс будет работать значительно надежней 24/7. 

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

Делов то - подключить датчики, в прошивке их прописать и добавить MQTT топики. Можно и на борту девайса автоматизации прописать используя возможности встроенных правил.

Спасибо,учту.

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

Датчик освещённости, подумаю,может смысл и есть.

И почему давление в системе выше вечером?)

Если у вас всегда давление в системе одинаковое - вы счастливчик. Во многих садоводческих обществах, и дачных поселках, вечерами из за большого разбора в системе сильно падает давление. 

Я у себя практиковал полив после 22 часов, потому что в 18 разбрызгивалка обеспечивала радиус полива 2 метра а после 22 6метров. Соответственно я весь огород поливал с 4 постов вместо 12.....

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

Хорошо, буду над этим работать

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

Исправлю =) в своё оправдание из-за большой нагрузки на работе попросил человека сделать ссылки за меня


и я пытался повторить eve aqua, поэтому и насчитывал что будет возле дома

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


А вот про линейный стабилизатор тут позвольте не согласиться! Не вижу никакого вреда от импульсного преобразователя, кроме экономии энергии. А применение линейного стабилизатора при питании 12 В будет рассеивать 490 мВт в тепло, а при 15В это уже 700 мВт.Те внутри будет стоять грелка мощностью в пол ватта  и более. Это приличный паяльничек.... Про 24 В блоки питания и клапана можно совсем забыть. С преобразователями этих ограничений нет, можно питать от БП в более широком диапазоне.

при компоновке на сопливом клее в ограниченном пространстве наводки от шим таки будут, как минимум упадет дальность работы, как максимум будут ложные срабатывания.
я такие дс-дс ставил в магнитолы при переделке олдскула, в тишине "цифровой шум" есть. соотв если уж морочиться импульсниками, то брать качественные модели с хорошими фильтрами... иначе получится примерно тоже самое, что и с дешевыми автомобильными зарядками ;)

Есть в радиотехнике такой предмет - ЭМС - Электромагнитная совместимость. Так вот, в усилки и прочую звукотехнику, БП с ШИМ лучше использовать для питания усилителей мощности. А предварительные усилители и узлы с высоким входным сопротивлением лучше запитать от БП с дополнительной фильтрацией и предпочтительно линейных (хотя это тоже весьма условно, нужно четко понимать что и где фильтровать). Что же касается питания цифровой техники, тут с питанием все значительно проще. И если ваш контроллер реагирует на помехи от питания то скорее всего вы просто неверно его эксплуатируете. Чаще всего причиной глюков бывают болтающиеся входы контроллеров. Высокочастотные наводки от близкого расположения к дросселю БП на провода, как правило никак не превышают логических уровней а в аналоговых цепях легко фильтруются мелкой керамикой. И кстати тот БП что я предложил далеко не попсовый не смотря на цену. Его ШИМ работает на фиксированой частоте 1мГц. Соответственно емкости фильтров нужны не большие, но с малым активным сопротивлением (керамика), Дроссель выполнен с замкнутым снаружи сердечником, что снижает уровень магнитного излучения. Из за высокой частоты преобразования требуются емкости фильтров и индуктивность дросселя с меньшим номиналом, что снижает габариты и увеличивает удельную мощность преобразования. В данном случае Этот БП может обеспечивать мощность нагрузки до 15 Вт. 

Классная статья, спасибо автору! 

Организовывал подобное только на sanoff прошитом ravencore.

В EVE - device type выставил 7 ( водяные клапаны) тип выбрал Сплинкер (дождеватель).

Устройство включается на выбранный интервал времени.

Внимание вопрос: Как настроить работу по расписанию. Поставил ios 13, при создании автоматизаций  выбираю по расписанию, выбираю день недели и время, но при переходе далее данное устройство просто отсутствует. Можете проверить как у Вас обстоит? 

Есть желание прописать график полива с установленными интервалами, а не запускать самостоятельно по нажатию на иконку девайса. Может кто сталкивался с таким и как реализовывали. Заранее спасибо за ответ!

Автоматизации и сценарии не настроить, у меня iOS 12,3..

Только как вариант выводить отдельный Switch в homekit и уже с его помощью через mqtt пинать устройство

В EVE - device type выставил 7 ( водяные клапаны) тип выбрал Сплинкер (дождеватель). - каким образом?

это Dummy switch

называется?

Switch input switch

в таком простом виде нет смысла морочиться с хомбриджем и мктт-брокерами, можно прошить нативную ХК прошивку, тк в ней уже есть кран с 3мя возможными свойствами - смеситель, кран, поливалка, душ. (не помню чем душ от смесителя отличается по функционалу)

  1. Homekit Ready прошивки шлак,ибо работают медленно( знаю о чем говорю)
  2. В статье я показал вариант с homebridge и homekit,вас никто не сдерживает использовать home assistant и интегрировать его куда вашей душе угодно. Собирал для себя и выбрал именно mqtt

ну хз, у меня есть MFI устройства, есть сторонние купленные с нативной поддержкой ХК (и с али, и не с али), ну и соотв основной парк  самодельные на нативной прошивке - проблем со скоростью работы не замечал.
если нет сложных сценариев, то простые включения-выключения работают ок.
нарекание у меня лично есть только для смарт_бутона, сценарии которому делаются через приложение EVE - в родном фреймворке ХК нету возможности 1 действием совершать переключение управляемого устройства, те 1 раз нажал на кнопку и оно включилось, второй раз нажал и оно выкл. есть только либо вкл, либо выкл. в итоге смысл от смарт_бутона теряется... поэтому пришлось писать сценарий через еву, а там к сожалению тоже нету банального "тоггла", есть только привычные вкл\выкл и приходится вводить проверку состояния управляемого устройства и делать обратное его состоянию действия. вот похоже на проверку состояния и тратится много времени и возникает 1,5-2 сек задержка между нажатием кнопки и переключением устроства.
суть же смарт_бутона - удобное управление с одного поста несколькими девайсами в комнате...

у вас по сути таймерный выключатель сейчас - это работать будет как ак-47 на нативной прошивке ;)))
у меня вытяжка в ванной работает по сценарию с проверкой влажности и таймером включения - все как часы.

Отличная статья!

Подскажите как реализовать многоканальный полива на 24 вольтовых клапанах переменного тока?

Отличная статья. 
Подскажите как реализовать многоканальную систему полива на 24 вольтовых клапанах переменного тока?

Блок питания на 24 переменного нужен.



А вообще, я сделал этим летом проект: 3 зоны полива управляются клапанами 24в на ЕСП8266, интеграция по MQTT на Home Assistant, также был сделал датчик дождя по зигби в хабу, датчик влажности почвы из МиФлоры (связь протягивается через ЕСП32 до Вайфай дома, в теплице это все питается от Солнечной панели). 



Думаю делать статью на эту тему или нет, тут вопрос в полезности а не в выигрыше в конкурсе, так как времени займет много)

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

а возможно все это прошить как самостоятельное устройство без homeBridge ? как в теме с Sonoff ?

а возможно это все прошить как отдельное устройство без home bridge ,как в теме с нативным Sonoff ?

Можно

я так понимаю можно собрать все так-же прошить прошивкой из той статьи и в eve поставить тип 7 и все будет работать так-же ?

По указанной схеме подключаю led-ленту, но она светит не в полную силу. Подскажите, почему

Вернуться назад

Устройства


Espressif Systems

wemos D1 mini

(5 отзывов)

Вернуться назад