Статья

Система полива цветов своими руками с интеграцией в Apple HomeKit

Введение 

Привет дорогой читатель. 

Хочу поблагодарить каждого читатель и тех кто меня поддержал в моих начинаниях. Особую благодарность выражаю Олегу за материальную поддержку и Dmitriy Batyushin (ReD) за помощь в программной части проекта.

Как и большинства нас в квартире у нас есть цветы, хотя б один но, есть. Я как студент и много цветов не могу поставить, но одним я обзавелся. Моя главная проблема была это - не забыть полить цветок. Сколько бы напоминаний я не ставил, записки не писал, всегда забывал это сделать. Но я же начал автоматизировать всю комнату и полив цветка нужно как то автоматизировать.

Недолго думая я пришел к решению. Так как мне нравиться решения на всем известной плате ESP8266 она и была основой проекта.

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

По итогу получаем автоматический полив цветка и остаться только доливать воду в контейнер и все. 

В данную схему еще можно добавить датчик уровня воды, но это уже на будущее.

Комплектующие

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

Плата ESP 8266 - 305 руб.
Маленький погружной насос DC 3-5v - 125 руб
Соединительные провода Male-Female 40 шт 10см - 70 руб
Мини макетный платы - 2шт - 35р*2
Модуль реле одноканальный 5v красный текстолит - 95 рубМодуль датчика влажности почвы FC-28  - 65 руб
Капельница медицинская - 23 руб (нужна только трубка была)
Кабель Micro USB - 100 рублей (купил у метро)

Итого: 853 рубля

Из этой всей схемы можно поменять насос, все зависит от поставленной задачи.

Все что требовалось для проекта вот на столе, если чего-то не хватает, то это уже было куплено ранее.

Сборка проекта

Собираем согласно схеме

Если схему плохо видно прикладываю ссылку на оригинальный файл.

Прошивка

За основу была взята мне полюбившаяся прошивка ESP Easy. О ней я рассказывал в своей статье про DIY Бюджетная умная кофеварка своими руками как прошить я так же рассказывал в видео.

Как настроить прошивку так же в первом видео рассказывал, на этом сильно не буду останавливаться и кратко покажу все настройки на скриншотах.

Настройка прошивки

Задача следующая: нужно когда сухость почвы доходит до определенной отметки, автоматически включается реле на определенное время и начинает работу насос. Чтобы понять сколько потребуется времени на полив цветка, нужно провести эксперимент и проверить. Я путем тестирования понял, чтобы полить нормально цветок мне хватит 5 секунд.

Получилось следующая логика работы: когда сухость доходит до 90, срабатывает реле и включает насос на 5 секунд, через 5 секунд выключается. Цветок полит, влажность хорошая и мы видим влажность в нашем приложении дом.

Скачиваем прошивку по ссылке.

Начинаем настройку:

1. Настроим Уникальное имя устройства.

В браузере набираем ip-устройства и попадает на него

Заходим в Config и меняем Unit Name и спускаемся в низ страницы и нажимаем Submit

2. Заходим в Controllers и выбираем первый пункт и нажимаем Edit и вводим настройки ниже как на скриншоте.

После этого спускаемся вниз и нажимаем Submit

3.Переходим на вкладку Hardware и выставляем все как на скрине ниже, спускаемся вниз и нажимаем Submit

4. Переходим на вкладку Devices и начинаем настройку нашего Реле и Датчика влажности почвы.Выбираем 1 пункт и Edit, и тип выбираем как на скрине

Далее нам нужно настроить взаимодействия с Реле, настройки выставляем как на скрине.

Все как на скрине прописываем, в будущем все это потребуется для прописывания правил Нажимаем кнопку Submit

Выбираем 2 пункт и Edit, и тип выбираем как на скрине

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

Формула нужна чтобы сделать влажность в 100% если не использовать эту формулу, то влажность будет не точной и не будет правильно отображаться в приложении Дом

bash
Копировать
(%value%-24)/10

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

Как мы видим что реле не работает, а влажность 56.20.Но тут так же есть одно, но. 56.20 Это не влажность, а сухость. Инверсию данных пока не знаю как сделать, но в ближайшее время найду решение.5. Ну и теперь осталось прописать правила.Переходим в Rules и в Rules Set 1 прописываем1 правило это чтобы автоматически поливалось при сухости 90% и более включать полив

javascript
Копировать
on flags#Analog do
if [flags#Analog]>90
gpio,12,1
endif
endon

2 правило прописываем чтобы реле работало не более 5 секунд, но тут нужно понимать сколько секунд нужно полить чтобы и не залить цветок и ему хватило. Путем экспериментов понятно стало, что 5 секунд полива достаточно. В Rules Set 2 прописываем следующее правило.

javascript
Копировать
on Relay1#Switch do
 if [Relay1#Switch]=1
  gpio,12,1
  timerSet,1,5
 endif
endon

on Rules#Timer=1 do
 gpio,12,0
endon

На этом программная настройка самого контроллера ESP 8266 закончена.Прописываем настройки в config.json 

json
Копировать
{
            "accessory": "mqttthing",
            "type": "switch",
            "name": "насос",
            "url": "mqtt://ip-малины",
            "username": "admin",
            "password": "admin",
            "topics": {
                "getOn": "/poliv/Relay1/Switch",
                "setOn": "/poliv/gpio/12"
            },
            "integerValue": "true",
            "onValue": "1",
            "offValue": "0"
        },
        {
            "accessory": "mqttthing",
            "type": "humiditySensor",
            "name": "vlaga",
            "url": "mqtt://ip-малины",
            "username": "admin",
            "password": "admin",
            "topics": {
                "getCurrentRelativeHumidity": "/poliv/flags/Analog"
            }
        }

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

Выводы

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

Самое главное, что это все интегрировано в одну экосистему и все данные можно получить в приложении Дом.

Если нужно еще до полить цветок, то мы это так же можем сделать из приложения или же просто попросить Siri.

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

Все зависит от задач и такой насос выбирайте. 

Не забываете подписываться на канал и ставить лайки.


Ты крут =) но нужен второй вариант для рукопопов которые хотят так-же, но такое никогда в жизни не повторят ;) продолжай в том же духе !!!!! мы с тобой ;)

Всё круто, я думаю сюда подойдёт вот этот плагин https://www.npmjs.com/package/homebridge-http-sprinkler">https://www.npmjs.com/package/..., он какраз для полива и имет свой таймер

У нас все уже прописано в самой прошивке, обратите внимание на 1 мою статью про кофеварку, там подробно все есть.

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

проблема в том что мы получаем данные не по Http протоколу, а по MQTT но спасибо за идею

Спасибо огромное, попробую

👍🏻

Очень крутая статья. Удачи в дальнейших проектах.. 

Простите за критику. Давно думал о автоматизации цветочного полива. И когда увидел что вышло видео на канале Спрута, решил что уже теперь то точно сделаю это решение у себя. Но посмотрев его, не вынес практической пользы, ну да, ясно-понятно что система работае у автора. А как он ее делал-смотри в другом обзоре. И зачем делать все это на плате? Как соединены пины? Ссылки лучше на алиэкспресс, не все живут в питере. Короче посмотрел обзор, прочитал статью, и пошёл искать другую статью на эту тему. Но за труды автору спасибо. 

  1. Спасибо за критику, но она должна быть точно конструктивной.
    Все настройки есть в данной статье, я не увлекался рассказами как прошивать, чтобы не занять время пользователя.
    На макетной плате все это собрано для наглядности что и как. Все потом можно в коробку пересобрать и можно просто перенести в коробку.
    В первом обзоре я четко разобрал прошивку платы и все, там подробнее остановился на каждом пункте. В этой статье я все кратко и понятно написал.
  2. По поводу ссылок, Ребята из Amperkot работают по все России и нет проблем у них заказать, на али уже кому удобно те и берут, названия все есть.
  3. Если тема Вам интересна можете спокойно  ознакомиться и все будет работать, критика это конечно хорошо, но давайте конструктивно писать ее.

Может я гоню, но статья была бы user-friendly, если все действия указывались в ней (ИМХО). Прямо по пунктам. Ну не хотите загромождать статью - уберите под спойлер. Есть люди и не из России, поэтому и предложил алишечку как кросс-государственную платформу. Пожалуйста, не обижайтесь на мои комментарии, я просто хотел как лучше. А лучшее, это враг хорошего :) Искренне желаю вам успехов в написании статей. 

вот девайс на али, только к HomeKit подключайте


https://s.click.aliexpress.com/e/cKawchZo">https://s.click.aliexpress.com...

Да, а эта плата я так понимаю построена на основе Atmega чипа и ни какой инфо нет, но извините это готовое решение, а я сам все собираю для себя и не завишу от конкретного решения. 

Ардуино. Она в комплект не входит

хорошая идея, только для лимонного дерева еще бы добавить увлажнитель и будет круто.

Молодцом

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

посоветуйте датчик влажности для 60л горшка. я думаю маловат будет что показан.

Спасибо

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

Можно вместо датчика подключить две спицы???  во всю длину горшка.

Или Закопать поглубже???

нужно пробывать

Спасибо! Воспользовался вашей статьей.


Хочу добавить что я замерил абсолютные показания датчика на сухой и  влажной почве, и эти данные внес в подраздел «Two Point Calibration» при добавлении датчика влажности в Devices. У меня при максимально сухой почве (0% влажности, point 1 - 0.000) абсолютные значения были близки к 810, на почве, при залитой почве аналоговый датчик выдавает около 380 (100% влажности, point 1 - 100.000). 


В итоге в homekit идет нормульное отображение именно влажности почвы. 

Спасибо Вам огромное за дополнение, я очень сильно рад что Вам смог помочь.

Привет! Спасибо за статью! Пришлось довольно сильно подзапариться, чтобы понять как все подключать, но дело почти сделано) Хотя устройство пока не хочет работать. Датчик влажности почти адекватно работает, но насос не хочет работать.
Есть пара вопросов:
1)Зачем реле вставлено, если можно напрямую подключить насос к выходу из ESP?
2)Почему в настройках ESP ставится GPIO12 > D6, а в схеме подключение идет к D1?
3)В чем может быть проблема, если датчик выдает все что нужно, но при сухости выше 90% насос не включается, хотя из homekit я могу его включать вручную кнопкой?

  1. Привет, спасибо за комментарий.
    Реле требутся чтобы включить и выключить насос
  2. Действительно тут описался и сейчас исправлю на скрине должен стоять D1
  3. Скинь свои настройки мне в личку в телеграммной попробуем разобраться

Щодо інверсії даних. Щоб датчик показував вологість, а не сухість формулу треба таку 100-(%value%-24)/10. А взагалі дякую за ідею. Халапеньо самі себе не полиють. 


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