Автоматизація поливу — задача, де мобільний додаток повинен працювати з комбінацією факторів: розклад, дані датчиків вологості ґрунту, прогноз погоди, геолокація користувача. Ми розробляємо рішення, які інтегруються з більшістю популярних контролерів: від хмарних Rachio до DIY ESPHome. У цій статті розберемо ключові технічні аспекти: вибір протоколу, налаштування розкладу, інтеграцію з погодними API та датчиками вологості. Наш досвід показує, що правильна комбінація цих елементів дозволяє скоротити витрати води до 40% на місяць, що може заощадити до 2000 грн на рік для середнього саду.
Які завдання вирішує мобільний додаток для розумного поливу?
Додаток керує поливом через розклад, враховує дані з датчиків вологості та прогноз погоди, надсилає push-сповіщення. Основна мета — мінімізувати ручне втручання та скоротити витрати води. Система адаптується під обладнання та тип ґрунту. ESP32 полив є популярним вибором для DIY проектів. Інтеграція поливу з датчиками вологості дозволяє автоматично пропускати полив.
Обладнання та протоколи
Rachio — один із найбільш API-відкритих контролерів поливу. REST API на https://api.rach.io/1/public. OAuth2. Керування зонами: PUT /device/{deviceId}/zone/start_multiple. Отримання стану: GET /device/{deviceId}. Webhook підтримка.
Hunter Pro-HC — популярний комерційний контролер. Wi-Fi модуль, HTTP API локально. Інтеграція через реверс-інжиніринг або Home Assistant rainbird integration.
RainBird — офіційний Local API документований. UDP протокол на порту 80. LNK WiFi Module підтримує JSON команди локально.
ESPHome — для DIY контролерів на ESP32. MQTT або HTTP API. MQTT протокол використовується для зв'язку з ESP32.
Zigbee клапани (SASWELL, Woox R4044) — Zigbee2MQTT, команда {"state": "ON", "duration": 600}.
| Контролер | Протокол | Хмарна залежність | Підходить для |
|---|---|---|---|
| Rachio | REST API, OAuth2 | Так | Комерційні проекти |
| Hunter Pro-HC | HTTP (локальний) | Ні | Професійні системи |
| RainBird | UDP, JSON | Опціонально | Системи з локальним керуванням |
| ESPHome | MQTT, HTTP | Ні | DIY ентузіасти |
| Zigbee (SASWELL) | Zigbee2MQTT | Ні (через шлюз) | Додаткові клапани |
Як інтегрувати прогноз погоди в додаток поливу?
Пропуск поливу при дощі — ключова «розумна» функція. Варіанти API прогнозу погоди:
Open-Meteo — безкоштовний, без API ключа. GET https://api.open-meteo.com/v1/forecast?latitude=...&longitude=...&daily=precipitation_sum&forecast_days=2. Якщо precipitation_sum > 5mm за 24 години — пропускаємо полив.
OpenWeatherMap — daily endpoint в One Call API 3.0 (платний, але дешево). rain.1h в мм.
Weather Underground Personal Weather Station — якщо поруч є приватна метеостанція, дані точніші. Прогноз погоди API дозволяє автоматично пропускати полив.
Логіка пропуску: за 30 хвилин до запланованого поливу бекенд запитує прогноз. Якщо очікуються опади — скасовуємо сеанс, пишемо в лог, надсилаємо push. Користувач може вимкнути авто-пропуск у налаштуваннях.
| API | Безкоштовний ліміт | Точність | Підходить для |
|---|---|---|---|
| Open-Meteo | 10 000 запитів/день | Висока | Прогноз на 2–7 днів |
| OpenWeatherMap | 1000 запитів/день (безкоштовно) | Середня | Довгостроковий прогноз |
| Weather Underground | За підпискою | Дуже висока | Локальні станції |
Датчики вологості ґрунту
Capacitive soil moisture sensor (на ESP32/Arduino) — аналогові значення 0–4095, лінійне калібрування. Ємнісні датчики в 2 рази довговічніші за резистивні. MQTT публікація кожні 5–30 хвилин. Високі показники вологості → автоматичний пропуск поливу.
Для комерційних датчиків: Xiaomi Mi Flora — BLE, flutter_blue_plus для читання характеристики. Опитування по BLE раз на 5 хвилин або через шлюз.
На екрані зони: графік вологості за 7 днів + лінія «поріг поливу». Під графіком — історія сеансів. fl_chart з LineChart, BarChart.
Як налаштувати датчик вологості на ESP32?
Як налаштувати датчик вологості на ESP32?
- Підключіть ємнісний датчик до аналогового піна ESP32.
- Калібруйте сухі та вологі значення: запишіть покази в сухому ґрунті (100% сухості) та у воді (100% вологості). Розрахуйте лінійну інтерполяцію.
- Налаштуйте MQTT: публікуйте значення вологості кожні 10 хвилин у топик
soil/moisture/zone1. - У додатку підпишіться на цей топик та відображайте графік.
- Встановіть поріг: при вологості вище 70% пропускати плановий полив.
Як налаштувати WebSocket для real-time оновлень?
Як налаштувати WebSocket для real-time оновлень?
- На бекенді використовуйте бібліотеку
socket.ioабоwsдля Node.js. - При зміні статусу поливу (початок/завершення) надсилайте повідомлення через WebSocket.
- У Flutter-додатку використовуйте пакет
web_socket_channelдля підписки на події. - Оновлюйте UI при отриманні повідомлення без HTTP запитів.
Що важливо в UI мобільного додатку?
Головний екран — список зон з іконками культур, статусом поливу, останнім поливом, вологістю ґрунту. Кнопка «Запустити вручну» з вибором тривалості. Flutter додаток забезпечує крос-платформенність.
Важливо: показувати час активного поливу, що залишився, зі зворотним відліком. WebSocket забезпечує затримку оновлення статусу поливу менше 1 секунди, що в 10 разів швидше за HTTP polling. Тому ми використовуємо WebSocket для real-time даних.
Сповіщення: полив почався, завершено, пропущено через дощ, помилка. Додаток підтримує iOS та Android полив через єдиний інтерфейс.
Терміни та досвід
Базовий додаток з ручним керуванням, розкладом та інтеграцією Rachio — 4–6 тижнів. Вартість починається від $5000. Датчики вологості, прогноз погоди, розумний пропуск, кілька контролерів, історія з графіками — 10–14 тижнів. Вартість розраховується після визначення набору пристроїв.
Понад 5 років досвіду в розробці мобільних IoT-рішень, включаючи проекти для сільського господарства та розумного дому. Гарантуємо сумісність з обладнанням замовника після попереднього тестування.
Що входить в роботу
В рамках проекту ви отримуєте:
- Повну документацію по інтеграції та API.
- Вихідні коди додатку під iOS та Android (Flutter).
- Інструкцію по розгортанню серверної частини.
- Навчання адміністраторів.
- Технічну підтримку на етапі запуску та протягом 3 місяців.
Готові до автоматизації поливу?
Отримайте консультацію по вашому проекту — ми підберемо оптимальне рішення. Замовте розробку під ваш набір пристроїв, зв'яжіться з нами для оцінки проекту.







