Автоматизация полива — задача, где мобильное приложение должно работать с комбинацией факторов: расписание, данные датчиков влажности почвы, прогноз погоды, геолокация пользователя. Мы разрабатываем решения, которые интегрируются с большинством популярных контроллеров: от облачных Rachio до DIY ESPHome. В этой статье разберём ключевые технические аспекты: выбор протокола, настройку расписания, интеграцию с погодными API и датчиками влажности. Наш опыт показывает, что правильная комбинация этих элементов позволяет сократить расход воды и избежать переувлажнения почвы.
Какие задачи решает мобильное приложение для умного полива?
Приложение управляет поливом через расписание, учитывает данные с датчиков влажности и прогноз погоды, отправляет push-уведомления о статусе. Основная цель — минимизировать ручное вмешательство и сократить расход воды. Система адаптируется под ваше оборудование и тип почвы.
Оборудование и протоколы
Rachio — один из наиболее API-открытых контроллеров полива. REST API на https://api.rach.io/1/public. OAuth2. Управление зонами: PUT /device/{deviceId}/zone/start_multiple с указанием zones и durations. Получение состояния: 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. Полный контроль над логикой, открытый протокол.
Zigbee клапаны (SASWELL, Woox R4044) — Zigbee2MQTT, команда {"state": "ON", "duration": 600}.
| Контроллер | Протокол | Облачная зависимость | Подходит для |
|---|---|---|---|
| Rachio | REST API, OAuth2 | Да | Коммерческие проекты с готовым API |
| 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 — если рядом есть частная метеостанция, данные точнее чем у крупных провайдеров.
Логика пропуска: за 30 минут до запланированного полива бэкенд запрашивает прогноз. Если ожидается осадки — отменяем сеанс, пишем в лог причину, отправляем push пользователю. Пользователь может отключить авто-пропуск в настройках.
| API | Бесплатный лимит | Точность | Подходит для |
|---|---|---|---|
| Open-Meteo | 10 000 запросов/день | Высокая | Прогноз на 2–7 дней |
| OpenWeatherMap | 1000 запросов/день (бесплатно) | Средняя | Долгосрочный прогноз |
| Weather Underground | По подписке | Очень высокая | Локальные станции |
Датчики влажности почвы
Capacitive soil moisture sensor (на ESP32/Arduino) — аналоговые значения 0–4095, линейная калибровка к проценту влажности. MQTT публикация каждые 5–30 минут. Высокие показатели влажности → автоматический пропуск полива.
Для коммерческих датчиков: Xiaomi Mi Flora — BLE, flutter_blue_plus для чтения характеристики 00001a01-0000-1000-8000-00805f9b34fb (уровень влажности + освещённость + температура почвы + питательность). Опрос по BLE раз в 5 минут при нахождении телефона рядом или через Bluetooth-шлюз (Raspberry Pi) для постоянного мониторинга.
На экране зоны полива: график влажности почвы за последние 7 дней + линия «порог полива». Под графиком — история сеансов с причинами пропуска. fl_chart с LineChart, BarChart для истории.
Как настроить датчик влажности на ESP32?
- Подключите ёмкостной датчик к аналоговому пину ESP32.
- Калибруйте сухие и влажные значения: запишите показания в сухой почве (100% сухости) и в воде (100% влажности). Рассчитайте линейную интерполяцию.
- Настройте MQTT: публикуйте значение влажности каждые 10 минут в топик
soil/moisture/zone1. - В приложении подпишитесь на этот топик и отображайте график влажности.
- Установите порог: при влажности выше 70% пропускать плановый полив.
Для точности калибровку повторяют при смене типа почвы. Разные почвы (глина, песок) дают разную зависимость напряжения от влажности. Рекомендуется 3-точечная калибровка: воздух, сухая почва, влажная почва.
Что важно в UI мобильного приложения?
Главный экран — список зон с иконками культур (газон, огород, цветы), статусом полива, последним поливом, влажностью почвы. Кнопка «Запустить вручную» для каждой зоны с выбором длительности.
Важно: показывать оставшееся время активного полива с обратным отсчётом. Не polling каждую секунду — WebSocket с обновлением раз в 10 секунд от бэкенда. WebSocket обеспечивает задержку обновления статуса полива менее 1 секунды, что в 10 раз быстрее HTTP polling. Поэтому мы используем WebSocket для всех real-time данных.
Уведомления: полив начался, завершён, пропущен из-за дождя, ошибка (нет давления воды, клапан не ответил).
Сроки и опыт
Базовое приложение с ручным управлением, расписанием и интеграцией Rachio — 4–6 недель. Датчики влажности, прогноз погоды, умный пропуск, несколько контроллеров, история с графиками — 10–14 недель. Стоимость рассчитывается после определения набора устройств и источников данных.
Более 5 лет опыта в разработке мобильных IoT-решений, включая проекты для сельского хозяйства и умного дома. Гарантируем совместимость с оборудованием заказчика после предварительного тестирования. Используем сертифицированные библиотеки и публичные API.
Что входит в работу
В рамках проекта вы получаете:
- Полную документацию по интеграции и API.
- Исходные коды приложения под iOS и Android (Flutter).
- Инструкцию по развёртыванию серверной части.
- Обучение администраторов использованию системы.
- Техническую поддержку на этапе запуска и в течение 3 месяцев.
Готовы к автоматизации полива?
Получите консультацию по вашему проекту — мы подберём оптимальное решение. Закажите разработку под ваш набор устройств, свяжитесь с нами для оценки проекта.







