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

01 августа 2019, 08:10
Жарким летом хочется только лежать в гамаке и нежиться под лучами солнца, а ежедневные хлопоты по поливу огорода хочется оставить на «умный дом». Я обитаю в экосистеме компании Apple и выбор устройств с поддержкой Homekit "из коробки" ограничен.
Да и ценник для обычного жителя СНГ великоват.
1600x_image.png?1564531482
Rachio 3 Smart Sprinkler Controller  - монстр среди систем полива, в зависимости от версии может поливать как 8, так и 16 зон! Настоящая мечта ленивого садовода, до того момента, пока мы не взглянем на цену. За младшую версию придется выложить 230$, а старшая версия сожрёт из вашего кармана уже 280 вечно зеленых.
И это цена в Штатах, что было бы у нас, страшно представить...

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

1600x_image.png?1564531483

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

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

1600x_image.png?1564535048

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

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

1600x_image.png?1564535050

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

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

1600x_image.png?1564535046
1600x_image.png?1564535046
1600x_image.png?1564535046

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

Для начала, я примерил детали в корпусе, раскрутив отверткой четыре болта, и разобрал клапан на две части.
Снял размеры крепления и перенес их на бумагу. Бумагу прикрепил к корпусу, просверлил в нем 5 отверстий и
закрепил клапан в корпусе.

1600x_image.png?1564536202
1600x_image.png?1564605538
1600x_image.png?1564605537

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

1600x_image.png?1564644756
1600x_image.png?1564605538
Спустя некоторое время, я начал осознавать, что "термосоплевой" пистолет является настоящим спасением для людей с золотыми руками, но из задницы...

Впрочем, с аппаратной частью мы закончили. Подключаем питание. Если ничего не сгорело - вы прекрасны!
Отключаем питание, достаем micro-usb провод и подключаем Wemos D1 mini к компьютеру.

Homebridge и MQTT

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

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

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

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

1600x_image.png?1564644755
sudo npm install -g homebridge-mqttthing

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

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

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

Выбираем COM порт, к которому вы подключили свою ESP.
Ниже выбираем прошивку: 

ESP_Easy_mega-20190425_dev_ESP8266_4M.bin

Нажимаем Flash ESP Easy FW и ждем окончания загрузки прошивки.
Перезагружаем ESP и ждем появления точки доступа "ESP_Easy_0", пароль "configesp".

1600x_image.png?1564607853

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

1600x_image.png?1564607853

У нас откроется список Wi-Fi сетей, отмечаете вашу сеть, и вводим пароль сети.

1600x_image.png?1564607853

За 20 секунд ESP подключится к вашей Wi-Fi сети.

1600x_image.png?1564607853

Если 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".

1600x_image.png?1564610502

Прыгаем в вкладку "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 закончена.

1600x_image.png?1564611306

Возвращаемся к 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. После чего в приложении Дом у нас появятся "Грядки".

1600x_image.png?1564618619

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

1600x_image.png?1564618620

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

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

1600x_image.png?1564621619

Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @Soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Вячеслав Фетисов (Ziracul)
    Вячеслав Фетисов (Ziracul) 5 месяцев назад

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

  2. Вячеслав Фетисов (Ziracul)
    Вячеслав Фетисов (Ziracul) 5 месяцев назад

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

  3. Александр Вайдуров (AlexAW)
    Александр Вайдуров (AlexAW) отредактировано 5 месяцев назад

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

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

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

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

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

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

    • Vladislav Volchkov (vladislav_volchkov)
      Vladislav Volchkov (vladislav_volchkov) отредактировано 5 месяцев назад

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

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

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

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

      • Александр Вайдуров (AlexAW)
        Александр Вайдуров (AlexAW) 5 месяцев назад

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

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

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

    • Павел Ник (error_404)
      Павел Ник (error_404) 5 месяцев назад

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

      • Vladislav Volchkov (vladislav_volchkov)
        Vladislav Volchkov (vladislav_volchkov) отредактировано 5 месяцев назад

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

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

      • Александр Вайдуров (AlexAW)
        Александр Вайдуров (AlexAW) отредактировано 5 месяцев назад

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

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

        • Павел Ник (error_404)
          Павел Ник (error_404) 5 месяцев назад

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

          • Александр Вайдуров (AlexAW)
            Александр Вайдуров (AlexAW) 5 месяцев назад

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

  4. (den23rus)
    (den23rus) 5 месяцев назад

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

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

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

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

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

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

    • Vladislav Volchkov (vladislav_volchkov)
      Vladislav Volchkov (vladislav_volchkov) 5 месяцев назад

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

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

    • Сергей Ескин (Arnold)
      Сергей Ескин (Arnold) 2 месяца назад

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

  5. (den23rus)
    (den23rus) 5 месяцев назад

    это Dummy switch

    называется?

  6. Павел Ник (error_404)
    Павел Ник (error_404) 5 месяцев назад

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

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

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

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

  8. (Semyon)
    (Semyon) отредактировано 5 месяцев назад

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

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

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

    • (tim_krm)
      (tim_krm) отредактировано 5 месяцев назад

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

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

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

  10. Антон Киселёв (Whilser)
    Антон Киселёв (Whilser) 5 месяцев назад

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

  11. (Sasha)
    (Sasha) отредактировано 4 месяца назад

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

  12. (Sasha)
    (Sasha) 4 месяца назад

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

  13. (Sasha)
    (Sasha) 4 месяца назад

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

К списку статей

Похожие статьи

04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
02 ноября 2018, 12:14
Кнопка звонка с уведомлениями в HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот
17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
01 октября 2018, 07:43
Нативный HomeKit на ESP8266
15 июня 2018, 12:13
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.