Розробка мобільного IoT-додатку для моніторингу теплиць

Реалізація моніторингу теплиць через мобільний IoT-додаток Тепличне господарство на 10 гектарів втратило 80% урожаю томатів через те, що мобільний додаток не показав відмову нагрівача вночі. Диспетчер побачив сповіщення лише вранці — на той момент температура впала до 5°C. Як уникнути таких сцена

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Розробка мобільного IoT-додатку для моніторингу теплиць
Середній
від 4 годин до 2 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1218
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    600

Реалізація моніторингу теплиць через мобільний IoT-додаток

Тепличне господарство на 10 гектарів втратило 80% урожаю томатів через те, що мобільний додаток не показав відмову нагрівача вночі. Диспетчер побачив сповіщення лише вранці — на той момент температура впала до 5°C. Як уникнути таких сценаріїв? Наш мобільний IoT-додаток вирішує це завдання через надійний стек MQTT, критичних алертів та автоматичного керування. За 7 років роботи ми запустили понад 20 проєктів в агросекторі, і кожен вимагав індивідуальної архітектури.

Теплиця — замкнене середовище, в якому кожен параметр впливає на врожайність. Коливання температури навіть на 2°C можуть знизити врожайність на 10-15%. Вологість, CO₂, освітленість, вологість ґрунту, pH та EC поживного розчину — всі ці величини необхідно відстежувати в реальному часі. На відміну від відкритого поля, в теплиці хороша зв'язність (Wi-Fi, Zigbee), але жорсткі вимоги до надійності: критичне падіння температури вночі або відмова зволожувача можуть знищити врожай за кілька годин.

Ми використовуємо промислові датчики з інтерфейсами I²C, UART та SDI-12, підключені до ESP32. Дані публікуються в MQTT-брокер з QoS 1, що гарантує доставку без дублювання. Мобільний додаток підписується на відповідні топіки та відображає актуальну інформацію на дашборді. Для керування кліматом використовуються команди на реле через MQTT. Наша компетенція — повний цикл розробки додатку для теплиці.

Які датчики та протоколи використовуємо?

Стандартний набір для однієї секції теплиці:

  • Температура/вологість повітря: SHT40 (I²C), DHT22 (One-Wire) — на вузлах на основі ESP32
  • CO₂: MH-Z19B (UART) або SenseAir S8 (Modbus)
  • Освітленість: VEML7700 (I²C), люкс та фотосинтетично активна радіація (PAR)
  • Ґрунтова вологість: TEROS 12 (SDI-12)
  • EC/pH поживного розчину: Atlas Scientific EZO-EC та EZO-pH (I²C UART)

Вузли на ESP32 з прошивкою на ESPHome або Tasmota публікують дані в MQTT. Home Assistant або кастомний MQTT-брокер (Mosquitto) агрегує. Мобільний додаток — через REST API або WebSocket на бекенді.

Чому MQTT кращий за HTTP для IoT?

MQTT забезпечує асиметричний push з мінімальною затримкою. На відміну від HTTP polling, навантаження на мережу в 10–15 разів нижче. Для теплиць з 50+ секціями це критично: кожен пристрій надсилає дані раз на 30 секунд. MQTT QoS 1 гарантує доставку без дублювання. Ми використовуємо його для всіх сценаріїв реального часу.

Докладніше про протокол можна прочитати в Wikipedia. Порівняння MQTT та HTTP для IoT:

Критерій MQTT HTTP
Модель Publish-Subscribe Request-Response
Затримка <10 мс (push) >100 мс (polling)
Навантаження на мережу Низька (persistent connection) Висока (кожен запит)
Гарантія доставки 3 рівні QoS N/A (потрібні ретраї)
Масштабування Топіки, автоматичне балансування Обмежено сервером

Реальний час через MQTT на Android

class GreenhouseMonitorService : Service(), MqttCallbackExtended { private lateinit var mqttClient: MqttAndroidClient private val sectionData = ConcurrentHashMap<String, GreenhouseSectionState>() fun startMonitoring(sections: List<String>) { sections.forEach { sectionId -> mqttClient.subscribe("greenhouse/$sectionId/+", 1) } } override fun messageArrived(topic: String, message: MqttMessage) { val parts = topic.split("/") val sectionId = parts[1] val parameter = parts[2] val value = String(message.payload).toDoubleOrNull() ?: return val current = sectionData.getOrPut(sectionId) { GreenhouseSectionState(sectionId) } val updated = when (parameter) { "temperature" -> current.copy(temperatureC = value) "humidity" -> current.copy(humidityPercent = value) "co2" -> current.copy(co2Ppm = value.toInt()) "light_lux" -> current.copy(lightLux = value.toInt()) "soil_moisture" -> current.copy(soilMoistureVwc = value) "ec" -> current.copy(nutrientEc = value) "ph" -> current.copy(nutrientPh = value) else -> current } sectionData[sectionId] = updated broadcastUpdate(updated) } } 

Дашборд секцій та порогові значення

Для теплиці з кількома секціями — горизонтальний PageView або TabBar з дашбордом кожної секції. На кожній картці секції — кольорові індикатори параметрів: зелений (норма), жовтий (увага), червоний (критично).

Порогові діапазони для томатів як приклад:

Параметр Критично мало Норма Критично багато
Температура ніч < 12°C 15-18°C > 25°C
Температура день < 18°C 22-28°C > 35°C
Вологість < 50% 65-80% > 90%
CO₂ < 400 ppm 800-1200 ppm > 1500 ppm
EC розчину < 1.5 2.0-3.5 > 5.0
pH розчину < 5.5 5.8-6.5 > 7.0

Конфігурацію порогів зберігає бекенд, мобільний додаток завантажує при старті та кешує в SharedPreferences.

Як керувати кліматом з додатку?

Керування кліматом — ключова функція автоматизації теплиці. Віконця, обігрівачі, зволожувачі, CO₂-генератори керуються з додатку. MQTT команди на реле:

Future<void> setVentilation(String sectionId, bool open) async { _mqttClient.publishMessage( 'greenhouse/$sectionId/vent/command', MqttQos.exactlyOnce, (MqttClientPayloadBuilder()..addString(open ? 'OPEN' : 'CLOSE')).payload!, ); } 

Для автоматичних сценаріїв (відкрити віконце якщо температура > 28°C) логіка може бути і на бекенді (Node-RED, Home Assistant automation), і в самому додатку як локальне правило.

Як налаштувати критичні алерти?

Критичні алерти для теплиці — це не просто сповіщення. Температура нижче нуля вночі — значить нагрівач відмовив, потрібна негайна дія.

На Android: FCM з PRIORITY_HIGH + Foreground Service з Wake Lock для надійного отримання в нічному режимі. На iOS: Critical Alerts через entitlement com.apple.developer.usernotifications.critical-alerts — відтворюються на повній гучності незалежно від режиму Не турбувати.

Додатково — дзвінок через Twilio Voice API для кількох відповідальних по ескалації, якщо алерт не підтверджено за 10 хвилин.

Що дає журнал подій та звіти?

Агроном дивиться не тільки поточні дані, але й історію: коли вмикався обігрівач, коли відкривалися віконця, якою була температура о 2 ночі. Журнал подій з фільтрацією за типом та періодом — важлива функція.

Експорт звітів в Excel/CSV — вимога більшості промислових клієнтів для документування умов вирощування. Формується на бекенді, мобільний додаток завантажує та відкриває через Share Sheet (iOS) або FileProvider (Android).

Процес розробки

Ми працюємо за наступним планом:

  1. Аналітика: вивчаємо ваші теплиці, датчики, сценарії. Готуємо архітектурну документацію.
  2. Проєктування: прототип UI/UX, специфікація API та MQTT топіків.
  3. Реалізація: пишемо код додатку (iOS/Android), бекенду та прошивок ESP32.
  4. Тестування: інтеграційне тестування з вашими датчиками, навантажувальне тестування.
  5. Деплой: завантаження в App Store та Google Play, налаштування MQTT-брокера, пусконалагодження.
  6. Підтримка: 3 місяці технічної підтримки після запуску, навчання вашої команди.

Приклад конфігурації MQTT топіків: кожна секція теплиці використовує ієрархію топіків — greenhouse/{sectionId}/temperature, greenhouse/{sectionId}/humidity, greenhouse/{sectionId}/co2, greenhouse/{sectionId}/vent/command, greenhouse/{sectionId}/heater/status. Це спрощує фільтрацію на стороні додатку та бекенду.

Що входить в розробку

Ми надаємо повний пакет:

  • Архітектурна документація (діаграми, специфікація API)
  • Вихідний код додатку (iOS/Android) та бекенду
  • Налаштування MQTT-брокера та інтеграція з датчиками
  • Завантаження в App Store та Google Play (акаунти ваші)
  • Технічна підтримка 3 місяці після запуску
  • Навчання вашої команди роботі з системою

Строки та гарантія

Базова версія з моніторингом та сповіщеннями — від 5 тижнів. Багатосекційна теплиця з повним журналюванням та експортом — до 3 місяців. Вартість розраховується індивідуально. На весь код надаємо 12 місяців гарантії. Замовте розробку — зв'яжіться з нами для оцінки вашого проєкту.

Оцінимо проєкт безкоштовно — напишіть нам, і ми підготуємо комерційну пропозицію протягом 2 днів.