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

01 августа 2019, 08:10
Жарким летом хочется только лежать в гамаке и нежиться под лучами солнца, а ежедневные хлопоты по поливу огорода хочется оставить на «умный дом». Я обитаю в экосистеме компании 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 вольт "мама".
  • Корпус для радиоэлектронных проектов.
  • Провода для подключения, мама-мама.

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

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

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

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

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

Homebridge и MQTT

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

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

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

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

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".

После подключения к точке доступа 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, итоговая сумма будет раза в полтора-два меньше.
Закупка в Екатеринбурге:


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

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

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

  2. Вячеслав Фетисов (Ziracul)

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

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

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

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

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

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

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

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

    • Vladislav Volchkov (vladislav_volchkov)
      Vladislav Volchkov (vladislav_volchkov) отредактировано 23 дня назад

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

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

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

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

      • Александр Вайдуров (AlexAW)

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

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

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

    • Павел Ник (error_404)
      Павел Ник (error_404) 23 дня назад

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

      • Vladislav Volchkov (vladislav_volchkov)
        Vladislav Volchkov (vladislav_volchkov) отредактировано 23 дня назад

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

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

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

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

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

        • Павел Ник (error_404)
          Павел Ник (error_404) 23 дня назад

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

          • Александр Вайдуров (AlexAW)

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

  4. (den23rus)
    (den23rus) 23 дня назад

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

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

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

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

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

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

    • Vladislav Volchkov (vladislav_volchkov)

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

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

  5. (den23rus)
    (den23rus) 23 дня назад

    это Dummy switch

    называется?

  6. Павел Ник (error_404)
    Павел Ник (error_404) 23 дня назад

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

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

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

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

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

    • (tim_krm)
      (tim_krm) отредактировано 19 дней назад

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

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

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

  10. Антон Киселёв (Whilser)

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

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

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

04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
02 ноября 2018, 12:14
Кнопка звонка с уведомлениями в HomeKit
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
01 октября 2018, 07:43
Нативный HomeKit на ESP8266
15 июня 2018, 12:13
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
02 октября 2018, 18:41
Установка SDK для компиляции прошивок под HomeKit
22 октября 2018, 19:00
Сборка DIY Лабораторного блока питания из китайских модулей