Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora Огород
Содержание
  1. Шаг 12: что получилось
  2. ESP-01
  3. ESP-07
  4. Esp8266 "witty cloud" — самый удачный на данный момент wifi-модуль для самоделок и "умного дома"
  5. Homebridge и mqtt
  6. Аппаратная часть
  7. Внешний вид
  8. Где купить
  9. Использованное оборудование
  10. Код прошивки
  11. Модули на базе esp8266
  12. Настройка среды программирования arduino ide
  13. Настройки esphome и home assistant
  14. Недостатки и планы по доработке
  15. Питание
  16. Платы на базе esp8266
  17. Подключение к iot
  18. Подключение периферии
  19. Принципиальная схема
  20. Программная часть
  21. Средняя цена
  22. Текущая цена
  23. Установка и настройка esp_easy
  24. Установка электроники в корпус
  25. Шаг 1: программирование модуля esp-01
  26. Шаг 10: собираем электронику
  27. Шаг 11: собираем трубку для полива
  28. Шаг 3: …продолжаем настраивать
  29. Шаг 5: устанавливаем приложение blynk
  30. Шаг 6: конфигурирование настроек оборудования в ide
  31. Шаг 7: устанавливаем приложение blynk арр для android/ ios
  32. Шаг 8: редактируем код программы
  33. Шаг 9: делаем отверстия
  34. Экономика проекта
  35. Апгрейд погодной станции на esp8266 wifi-iot — выводим на дисплей "домашнего" модуля данные датчиков с "уличного" модуля

Шаг 12: что получилось

Спасибо за чтение!

Файлы

ESP-01

ESP-01 — самый популярный модуль на ESP8266. PCB антенна обеспечивает дальность до 400 м на открытом пространстве.

ESP-07

Особенности этого модуля — керамическая антенна и разъем для внешней антенны, металлический экран.

Esp8266 "witty cloud" — самый удачный на данный момент wifi-модуль для самоделок и "умного дома"

Разные варианты реализации модуля ESP8266 обозревались тут не раз, и заслуженно. Этот мелкий, с монету, чип с WiF на борту может работать и точкой доступа, и клиентом и программируется как угодно — и продаётся за считанные доллары.

Не успели мы привыкнуть к мысли, что всякие интересные поделки можно сделать на грошовой Arduino, Attiny или STM — как и устройства с WiFi и мощными процессорами на 80 мегагерц стали им конкурентами по цене. (Чёрт, у меня процессор в первом собственном компьютере был немногим быстрее, какой же я старый).

Одна беда — все устройства с ESP8266, что прошли через мои руки, были уж очень неудобными, их подключение было мукой. Но китайская промышленность нас услышала и сделала уже почти хорошо 🙂

За что мы «любим» разные варианты ESP8266:

И тут китайпром выдал «ESP8266-12E» под названием «Witty Cloud»:

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Плата представляет собой «бутерброд» из двух. На верхнем слое (слева на обоих фото) сам чип ESP8266, под ним — разъём питания MicroUSB и регулятор напряжения AMS1117-3.3, задача которого — превратить 5 вольт в 3.3. По datasheet регулятору по зубам токи до 0.8А, так что для питания чипа этого хватает с лихвой. Там же — кнопка Reset для перезагрузки.
Чтобы было чем занять пустующие углы платы, китаец впихнул туда RGB LED и фоторезистор, о них — позже.

На нижнем слое «бутерброда» (на фото справа) расположился полноценный MicroUSB, чип CH340G и кнопки «Flash» (режим прошивки) и «Reset».

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

«Бутербродность» даёт бóльшую свободу действий. Вы можете подключить «бутерброд» к компьютеру в нижний (полноценный) разъём USB, перепрограммировать его — и затем встроить в вашу поделку только верхнюю часть, сэкономив на размерах корпуса.

Более того, низ «бутерброда» можно использовать для программирования самодельных модулей. Я сам паял завалявшиеся модули ESP8266-12 и ESP8266-07 на не очень удачные платы-адаптеры за $0,22 и приделывал «на соплях» регуляторы AMS1117 — оба работали безо всяких проблем и оказались стопроцентно совместимы по разъёмам и кнопкам:

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Ладно, хватит нахваливать модуль, давайте сделаем что-нибудь полезное. На странице продавца рекламируется какой-то SDK и даже какое-то китайское «облако» для устройств на базе ESP8266 и Android, правда информации о них на английском (почти) нет. Раз так, махнём на них, запустим Arduino IDE 1.6 и полезем в настройки.

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

В окно «Additional URLs» вставим строку

http://arduino.esp8266.com/package_esp8266com_index.json

Затем откроем «Boards manager» и введём в строку поиска «ESP8266». Нажмём Install и приготовимся ждать, пока скачается аж 130 мегабайт пакетов:

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Подключим «бутерброд» к компьютеру в нижний (полноценный) разъём MicroUSB. Windows должна определить конвертер USB-TTL «CH340G» и присвоить ему виртуальный порт. Именно этот порт мы и укажем в настройках Arduino IDE. Остальные настройки такие:

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Обратите внимание — в процессе прошивки кнопку Flash жать не нужно — плата обо всём позаботится сама.

После того, как новая программа залита в ESP8266, его можно отключить от компьютера и запитать хоть от павербанка. Нижнюю часть «бутерброда» можно отсоединить, она уже не нужна.

Либо с помощь Arduino serial monitor (скорость порта — 115200), либо в вебинтерфейсе роутера подсматриваем IP-адрес, который заполучил в домашней WiFi-сети наш ESP8266. Открываем этот адрес в браузере компьютера или телефона:

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Наше устройство подключилось к домашней сети, подняло веб-сервер и нам отвечает.

Убедились в работоспособности устройства? Едем дальше. Для того, чтобы оно сгодилось на что-то полезное в быту, интересно «подружить» его, например, с реле. Правда, классические реле на 5 вольт по определению отпадают — слишком велик риск, что напряжения 3.3 вольта не хватит, чтобы электромагнит смог сдёрнуть якорь. Поэтому берём твердотельное реле Omron за $1.90. По даташиту имеющегося у нас напряжения ему хватит для чёткого срабатывания:

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Подключаем «плюс» и «минус» к контактам VCC и GND верхнего слоя «бутерброда», а третий, сигнальный, провод — к, например, контакту GPIO 2. В качестве программы можно взять скетч WiFiWebServer, который прилагается к библиотеке Ардуино, или же воспользоваться программой коллеги Sav13 с samopal.pro/wifi-power-esp8266/

Я для теста взял простую галогеновую лампочку на 20Вт и вдоволь ей «нащёлкался»:

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Срабатывание происходит за долю секунды после подачи команды. Чтобы проверить надёжность, я вставил в код простенький счётчик и набросал простой bat-файл, который с паузой в секунду включал и выключал лампочку. До кучи открыл пару дополнительных окон, из которых начал бомбардировать IP-адрес модуля бесконечной командой ping. Через несколько часов счётчик включений-выключений превысил 19 тыс., но всё работало — что вселяет некоторую уверенность в надёжности устройства.

Если вы дочитали досюда, но в голове крутится мысль «что-то это всё сложно», у меня для вас заготовлено приятное

Помните, я упоминал, что китайский производитель «на сдачу» поставил на плату RGB-светодиод и фоторезистор? С ними можно поэкспериментировать, даже если у вас нет никаких иных датчиков и прочей периферии.

В этом варианте сделать над собой усилие и запустить Arduino IDE вам потребуется ровно один раз.

Экран приложения — это пустое поле, на котором можно, как на приборной доске, разместить элементы. Для начала попробуйте «zeRGBa» и «gauge»:

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

В настройках «зебры» укажите, что трёхцветный светодиод на плате подключён к пинам 12 (зелёный), 13 (синий) и 15 (красный):

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

В настройках «gauge» укажите, что фоторезистор на плате подключён к аналоговому входу «adc0»:

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Активируйте то, что вы наваяли, нажав на кнопку в правом верхнем углу. Вы увидите, что жёлтый индикатор меняет показания в зависимости от освещённости, а RGB LED на «бутерброде» меняет цвет, когда вы тыкаете по «зебре»:

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Практика показала, что эта штуковина очень нравится детям. Одно дело — играть на планшете в чужие игры, другое — это сделать и раскрасить «пульт» самому и управлять чем-то осязаемым. Достаточно взять на себя подготовительную часть в Arduino, а затем показать, как этим пользоваться, выдать несколько светодиодов, кнопок или деталек типа аналогового датчика температуры LM35 — у вас немедленно отберут «игрушку» и чадо будет занято надолго. За уши не оторвёте, проверено.

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

Резюме

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

«Бутерброд» оказался на диво удачным. Он менее чем на доллар дороже «голого» ESP8266-12, но экономит вам кучу времени и хлопот. Ворох проводов и макетка — не нужны.

Ход с предустановкой на плату LED и фотодатчика — очень удачный. Даже если у вас кроме модуля и кабеля MicroUSB ничего нет, вы всё равно можете хоть что-то для начала испробовать и получить удовольствие от покупки. Если они не нужны на готовом изделии — просто отпаяйте или срежьте.

По такой цене «бутерброд» — явный конкурент Arduino Nano, и делает очень ненужными модули Bluetooth (типа HC-05) и тем более — радиомодули NRF24L01 .

Homebridge и mqtt

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

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

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

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

1) Собираем схему

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

2) Переводим в режим программирования (необходимо каждый раз выполнять перед прошивкой модуля)

2.1) Отключаем питание от модуля2.2. Подключаем пин GPIO 0 к GND

2.2) Подключаем пин GPIO 0 к GND

2.3) Подключаем модуль к питанию

2.4) Железо готово, приступаем к программной части.

Внешний вид

Разберемся с этим модулем на примере его распайки на Wi-Fi Troyka-модуль производства Амперки. Хоть он и дороже, но взаимодействовать с ним гораздо приятнее. Уже есть ножки, распаянные со со стандартным шагом 2,54 мм, дополнительные защиты, регуляторы напряжения, которые помогают избежать неожиданного поведения и поломок при первых опытах.

Где купить

В России

В Китае

Использованное оборудование

Raspberry Pie

с установленным HassIO (уже была)

ESP32 DevKit, прошитая ESPHome, выступающая bluetooth-гейтвеем для MiFlora и принимающая данные от проводных датчиков влажности. Расположена в саду

Проводные датчики влажности Capacitive Soil Moisture Sensor v1.2, измеряющие влажность в ближних к месту установки ESP32 зонам полива

Датчики MiFlora, подключены к ESP32 по BLE, измеряющие влажность в удаленных зонах полива.

SONOFF 4Ch, прошитый ESPHome, расположен в водоразборном узле, куда приходят трубы от всех зон полива

4 Нормально-закрытых электромагнитных клапана на 220В расположены в водоразборном узле и подключены к Sonoff 4Ch. Открывают подачу воды для полива. Выбрана нормально-закрытая модель, с тем чтобы вероятность «наводнения» в случае каких-либо сбоев электрики и электроники была минимальной, и чтобы минимизировать количество требуемых выходов реле.

Импульсный водосчетчик, стоящий на входе в систему полива в водоразборном узле и подключенный к Sonoff 4ch. Позволил полностью передать данные о расходе воды в Home Asssistant и реализовать функционал полива заданным количеством. Весьма удачным оказалось то, что на этой версии sonoff уже распаяны контакты для прошивки и даже есть один свободный GPIO02 – на него и был повешен импульсный счетчик.

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora
Так выглядит коллектор с установленными клапанами и счетчиком воды. Контроллер (sonoff 4Ch) в кадр не попал, он установлен на расстоянии в полметра в щитке IP65

Код прошивки

Для прошивки всех используемых ниже модулей используем один и тот же код.

Основные функции:

  1. Установка Wi-Fi соединения

  2. Подключение к объекту на платформе Rightech IoT Cloud по протоколу MQTT

  3. Отправка рандомных значений по температуре («base/state/temperature») и влажности («base/state/humidity») каждые 5 секунд (PUB_DELAY)

  4. Получение сообщений о переключении света («base/relay/led1»)

Модули на базе esp8266

Для работы с модулями на базе ESP8266 есть два варианта:

  1. Работа с AT командами (в стандартной прошивке Wi-Fi модуль общается с управляющей платой через «AT-команды» по протоколу UART);

  2. Wi-Fi модуль как самостоятельный контроллер (все представленные модули очень умные: внутри чипа прячется целый микроконтроллер, который можно программировать на языке C через Arduino IDE).

В статье будем рассматривать второй вариант — прошивка модулей в виде самостоятельного полноценного устройства. Здесь также есть два варианта прошивки с точки зрения железа:

  1. Через плату Arduino;

  2. ЧерезUSB-Serial адаптер.

Настройка среды программирования arduino ide

По умолчанию среда IDE настроена только на AVR-платы. Для платформ, представленных ниже, необходимо добавить в менеджере плат дополнительную поддержку.

1) Открываем среду программирования Arduino IDE.

Настройки esphome и home assistant

Импульсный счетчик воды

Я использовал счетчик «Пульсар», но вообще должен подойти любой счетчик с импульсным выходом (идентифицируется по торчащему проводу). Принцип действия таких счетчиков очень простой — рядом с колесиками счетчика расположен геркон, который активируется магнитом, расположенном на одной из цифр колеса учета (у меня — цифра 3 на колесике 10 литров).

Соответственно, подключив провода от счетчика к GND и одному из GPIO мы можем получить простейший бинарный сенсор.

Код для ESPHome при этом примитивен:

binary_sensor:
  - platform: gpio
    name: "WaterCounter"
    id: counter
    pin:
      number: GPIO2
      mode: INPUT_PULLUP

В Home Assistant все немного сложнее:

Там я сделал несколько счетчиков (counter), сенсор и автоматизацию для работы с ними
При этом есть общий счетчик истраченной за все время воды (фактически, это виртуальный «двойник» механического счетчика). Он реализован в двух ипостасях — как counter, измеряемый в литрах и растущий в результате реакции на изменения бинарного сенсора из ESPHome, и как sensor, измеряемый в кубических метрах и берущий данные из предыдущего counter (для удобства сравнения цифр со счетами за воду).

Для целей управления поливом и сбора статистики были также созданы по 2 счетчика на каждую линию полива — один за все время, а второй за «сегодня». Так как физический счетчик у нас один, а линий четыре, для получения точных данных расхода по каждой линии полив каждой линии был разнесен по разным временным интервалам и запрещено одновременное их включение.

Виртуальный сенсор прогнозируемых осадков

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

Изначально сенсор построен на базе данных сервиса darksky. К сожалению, за время настройки системы этот сервис успела купить компания Apple и объявила о постепенном сворачивании работы сервиса «на сторону». API пока работает, но, судя по всему, скоро потребуется искать альтеранативу этому решению, благо в HA довольно много других сервисов погоды. Здесь я привожу настройки для darksky, думаю, что даже с другим сервисом большая их часть сохранит актуальность.

Сначала создаем 2 сенсора по количеству осадков на завтра и послезавтра:

Затем делаем на основе трех прогнозов один template-sensor:


После того, как все данные собраны, можно приступать непосредственно к поливу.

Вот так у меня выглядит кусок интерфейса с одной из зон в Home Assistant:

Здесь можно задать количество воды для полива (ползунком) и посмотреть значения основных сенсоров и счетчиков. Я привел интерфейс для одной из линий, для остальных все аналогично, только на линиях с проводными датчиками данных несколько меньше.

В интерфейсе можно заметить одну «лишнюю» деталь — вспомогательный сенсор «Достигнута норма». Его пришлось ввести, т.к. мне не удалось заставить работать condition:template для остановки автоматизации при достижении нормы по количеству воды, и в результате автоматизация просто проверяет значение этого сенсора. Уверен, что эту часть автоматизации можно сделать проще и элегантней, но моего уровня для этого не хватило.

Ниже код получившегося «костыльного» темплейт-сенсора:

Автоматизация для запуска полива в конечном итоге выглядит так:

Полив запускается поздно вечером, при этом каждая линия запускается в свой временной интервал. Разделение по времени запуска позволяет использовать один счетчик воды на входе для получения данных по 4 линиям.

При запуске проверяются три условия:

  • не превышен ли лимит по количеству воды на сегодня (если, например, включали полив вручную)
  • не превышает ли влажность 50% (по наблюдениям в наших условиях свежеполитая почва имеет влажность не более 60%)
  • не ожидается ли осадков более 5 мм в ближайшие два дня.


Следующая автоматизация — отключение полива:

В автоматизации использовано целых 4 варианта триггеров, но в большинстве случаев она срабатывает по первому — «костыльному» сенсору, который отслеживает превышение лимита по количеству воды. Остальные триггеры сделаны в большой степени для подстраховки.

Ну и последняя относящаяся к проблеме автоматизация — обнуление ежедневного счетчика

Недостатки и планы по доработке

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

В частности, я бы заменил электромагнитные клапана 220В на модель 24В — это напряжение являются стандартными для систем полива. В этом случае пришлось бы добавить в систему трансформатор на 24В и сменить Sonoff 4Ch на что-то с сухим контактом (например, Sonoff 4CH Pro или что-то самосборное). Сами клапана при этом стоят дешевле (от 8 евро) и снижают вероятность поражения электрическим током.

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

Еще немного расстроила невозможность учета количества воды для полива в объемах меньших чем 10 литров — именно этот объем является минимальной измеряемой величиной для такого счетчика. Эту проблему можно решить, разобрав счетчик и поменяв местами колесики, но пока до этого не дошли руки.

Питание

Родное напряжение модуля — 3,3 В. Его пины не толерантны к 5 В. Если вы подадите напряжение выше, чем 3,3 В на пин питания, коммуникации или ввода-вывода, модуль выйдет из строя.

Платы на базе esp8266

Если с модулями приходилось немного повозиться, то все представленные ниже платы можно сразу подключать к USB-порту компьютера.

Подключение к iot

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

1) Выбираем плату: Tools (Инструменты) -> Board(Плата)Generic ESP8266 Module.

2) Вставляем подготовленный код.

3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.

4) Компилируем и загружаем скетч на плату.

5) Для обычной работы модуля (не для режима прошивки) пин GPIO 0 должен быть свободен, поэтому отключаем его от GND.

6) Переподключаем питание ESP-12 (например, вытаскиваем и вставляем обратно адаптер).

7) Видим появление данных на платформе.

Подключение периферии

  • Цифровые входы/выходы: 21 пин 1–5, 12–19, 21–23, 25–27, 32 и 33Контакты ввода-вывода общего назначения. Пины могут быть настроены на вход или на выход. Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 12 мА.

  • Цифровые входы: 4 пина 34–36 и 39Контакты ввода общего назначения. Могут быть настроены только на вход.

  • ШИМ: все пины ввода-выводаПозволяет выводить аналоговые значения в виде ШИМ-сигнала с разрядность 16 бит. Максимальное количество каналов 16.

  • АЦП: 15 пинов 2, 4, 12–15, 25–27, 32–36 и 39Позволяет представить аналоговое напряжение в цифровом виде с разрядностью 12 бит.

  • ЦАП: пины 25(DAC1) и 26(DAC2)Аналоговый выход цифро-аналогового преобразователя, который позволяет формировать 8-битные уровни напряжения.

Максимальный выходной ток пина 3V3: 1 А

Принципиальная схема

Сад был разбит на 4 зоны полива, каждая из них снабжается индивидуальным датчиком влажности почвы и может поливаться по индивидуальному графику и разным количеством воды.

По земле проложены ПНД-трубки капельного полива с перфорацией, которые подключены к трубам сходящимся в водоразборном узле и подключенным через электромагнитные клапаны к водопроводу. Клапаны управляются реле подключенными к ESP8266 (Sonoff 4Ch).

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

При наступлении запланированного времени полива проверяется соответствие нескольким условиям:

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

Программная часть

1) Выбираем плату: Tools (Инструменты) -> Board(Плата)Generic ESP8266 Module.

2) Вставляем подготовленный код.

3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.

4) Компилируем и загружаем скетч на плату.

5) Для обычной работы модуля (не для режима прошивки) пин GPIO 0 должен быть свободен, поэтому отключаем его от GND.

6) Переподключаем питание ESP-01 (например, вытаскиваем и вставляем обратно адаптер).

7) Видим появление данных на платформе.

Средняя цена

~ 100 рублей

Текущая цена

~ 850 рублей

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

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

Возвращаемся к 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 все равно понимает, когда ее просят включить разбрызгиватель.

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

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

Шаг 1: программирование модуля esp-01

Программирование модуля ESP-01 похоже на программирование Arduino, разница в том, что модуль меньше и у него есть вай-фай, еще, к сожалению, у него нет USB-порта для соединения с компьютером. Поэтому вам понадобится переходник на USB, подключенный на 3В, чтобы программировать модуль ESP-01. Если у вас такой адаптер, как показан на картинке, вы можете проводом коннектором подключиться на 3В или на 5В.

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

Шаг 10: собираем электронику

Для соединений я использовал провода-коннекторы, иногда для удобства я отрезал лишнюю длину. Для питания я взял зарядное устройство (5В 550 мА) от старенькой Motorola, которой давно не пользуюсь. От шнура зарядного устройства я отрезал штекер мини-USB и соединил положительный и отрицательный провода со входом регулятора напряжения и с VCC (питанием) и землей модуля реле.

Этот же положительный провод я соединил со средней из трех клемм. Провод питание от водяного насоса идет к NO-терминалу реле, на картинке показано, как должна выглядеть нижняя часть терминала. А отрицательный провод от насоса соединяем с той же землей, что и реле, и регулятор напряжения.

Выход от регулятора напряжения идет только к ESP-01. Положительный провод идет на VCC и на выход CH_PD, а отрицательный подключаем к земле.

В последнюю очередь соединяем GPIO2 со входом реле, обычно маркируемым IN1.Сначала я смонтировал все компоненты пластиковыми стойками для печатных плат, затем приклеил стойки термоклеем к корпусу.

Шаг 11: собираем трубку для полива

Используйте Т-образные переходники с круговыми зубцами, которые вы купили или напечатали на 3Д-принтере, чтобы соединить трубку так, как показано на картинке сверху. Соедините трубку с насосом и наполните сосуд водой.Обычно цветы поливаются автоматически раз в день, также вы можете поменять в интерфейсе виджет таймера на виджет кнопки, и поливать вручную со смартфона.

Шаг 3: …продолжаем настраивать

В верхней панели меню выберите Инструменты – выберите Плата – выберите Менеджер плат, пролистайте список, чтобы убедиться, что ESP8266 by ESP8266 Community установлена. Если установлена, кликните Закрыть и снова выберите Инструменты – Платы – Менеджер плат, теперь вы увидите несколько плат типа ESP8266, которые вы можете программировать с помощью Arduino IDE.

Шаг 5: устанавливаем приложение blynk

Теперь у вас есть модуль ESP-01, подключенный к адаптеру и идет установка программного обеспечения.Теперь вам нужно установить приложение Blynk App на ваш смартфон, и получить серийный номер, который понадобится вам для скетча. Потом нужно выбрать настройки оборудования в IDE, затем модифицировать установленный скетч для ESP-01. Скоро ваша система автоматического полива комнатных растений с интернет-подключением заработает!

Шаг 6: конфигурирование настроек оборудования в ide

Соедините последовательный адаптер с компьютером и модулем ESP-01. Загрузите приложенный к скетчу файл «.ino», дважды кликните и он загрузится в Arduino IDE.

В IDE выберите Инструменты – Платы и выберите Generic ESP8266 Module.Снова войдите в Инструменты, выберите Порт, выберите СОМ-порт ESP-01, который вы только что подключили к компьютеру. В случае необходимости модуль можно попробовать подключать в другие порты, чтобы выяснить, какой из них СОМ-порт.

Снова войдите в Инструменты, выберите Скорость загрузки, установите значение 115200 или 9600. У меня вставлено 115200, но, если у вас не идет загрузка, выставьте 9600.

В скетче вам нужно будет сделать несколько изменений – в «Auth Token», в «ssid» и в «password».В файле инструкция по поиску вашего кода авторизации «AUTH CODE».


Файлы

Шаг 7: устанавливаем приложение blynk арр для android/ ios

Начинаем:

  1. Загрузите приложение: ссылка для Android или ссылка для iOS
  2. Кликните на иконку QR-код и наведите камеру на QR-код на картинке
  3. Наслаждайте моим приложением!

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

Как только проект появится у вас на смартфоне, кликните на иконку гайки справа наверху на экране. Там вы и найдете ваш ключ авторизации (Auth Token).

Шаг 8: редактируем код программы

Редактировать вам нужно всего три пункта:

  1. Ключ авторизации (Auth Token) – где его взять написано в предыдущем пункте
  2. «ssid» — имя вашего домашнего вай-фая
  3. Пароль (password) – действующий пароль вашего домашнего вай-фая

Вот и все! Можно начинать выгрузку проекта.Как только выгрузка будет завершена, отсоединяйте модуль ESP-01 от компьютера и приступайте к сборке системы.

Шаг 9: делаем отверстия

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

Потом просверлите несколько отверстий в виниловой трубке, я сделал расстояние между отверстиями примерно по 2,5 см. Я использовал сверло 0,5 см.

Экономика проекта


Затраты на управляющую часть системы полива получились следующие:

(Raspberry PIE c HassIO на борту и WiFi router с покрытием в саду уже были до начала проекта, их я не учитываю)

Электромагнитный клапан UNIPUMP BCX-15 1/2″ (нормально закрытый) 4*20 евроSonoff 4CH 17 евроСчетчик импульсный Пульсар 8 евроESP32 DevKitC 3.5 евроCapacitive Soil Moisture Sensor v1.2 2*0.67 евроДатчики MiFlora 2*16 евроЩитки, коллектор, провода, фиттинги все вместе около 50 евро

ИТОГО: около 190 евро

https://www.youtube.com/watch?v=Nh1ho-rGFP4

Затраты времени на настройку датчиков и МК — примерно 3-4 вечера по нескольку часов, но большая часть времени была потрачена на «изобретение велосипедов» и придумывание «костылей», в целом работы там немного. Физическая сборка системы заняла около 2 вечеров.

Апгрейд погодной станции на esp8266 wifi-iot — выводим на дисплей "домашнего" модуля данные датчиков с "уличного" модуля

Оцените статью
Дачный мир
Добавить комментарий