Розробка мобільного додатку для розумного сільського господарства

Поля на сотні гектарів, датчики за кілометри один від одного та нестабільний зв'язок — стандартні умови для агро-IoT. Ми розробляємо мобільні застосунки, які збирають дані з LoRaWAN-пристроїв і працюють навіть в офлайн-режимі. Наша команда реалізує проєкт під ключ — від вибору протоколів до впровадження та подальшої підтримки.

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

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

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

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

Ми стикаємося з полями в 100 гектарів — не квартира з розумними лампочками. Датчики розкидані на кілометри, GSM-зв'язок є не скрізь, батарейки міняти раз на рік — вимога, а не побажання. Мобільний додаток для агро-IoT будується навколо кількох реальних обмежень: низька зв'язність, довгі цикли даних (раз на 15-60 хвилин від LoRaWAN-вузла), висока вартість помилки (втрачений урожай). За 10+ років в агро-розробці ми накопичили досвід, який гарантує надійне рішення під ключ.

Які протоколи зв'язку підходять для агро-IoT?

LoRaWAN — основний протокол для польових датчиків на великих площах. Діапазон до 15 км у відкритому полі, споживання мілівати, пакети 51-222 байти залежно від Spreading Factor. LPWAN-альтернативи: NB-IoT (потрібна операторська мережа, зате двосторонній зв'язок), Sigfox (обмеження 140 повідомлень на добу).

Для теплиць і об'єктів з інфраструктурою — Zigbee/Thread, Wi-Fi, провідний Modbus. Для мобільних активів (техніка, тварини) — GPRS/LTE з GPS-трекером.

Дані з LoRaWAN-вузлів йдуть через Network Server (TTN, ChirpStack, Helium) → Application Server → MQTT або REST → мобільний додаток.

Протокол Дальність Енергоспоживання Пропускна здатність Типове застосування
LoRaWAN до 15 км дуже низьке 0.3-50 кбіт/с Польові датчики
NB-IoT до 10 км низьке до 250 кбіт/с Стаціонарні датчики з мережею
Sigfox до 10 км дуже низьке 100 біт/с Прості мітки
Zigbee до 100 м низьке до 250 кбіт/с Теплиці, системи поливу
Wi-Fi до 100 м високе до 1 Гбіт/с Точки доступу, камери
Modbus до 1200 м середнє до 115 кбіт/с Промислові контролери

Архітектура даних: рідкісні оновлення, багата аналітика

LoRaWAN-датчик оновлює дані кожні 15-60 хвилин. Мобільний додаток показує не тільки поточні значення, а й тренди, аномалії, прогнози. Це потребує серверної агрегації та зберігання в Time Series DB.

Структура даних для датчика ґрунту:

{
  "deviceEui": "0004A30B001C3A4D",
  "applicationId": "crop-monitoring-prod",
  "timestamp": "2024-07-15T08:30:00Z",
  "location": {
    "lat": 51.2345,
    "lon": 23.4567
  },
  "payload": {
    "soilMoistureVwc": 28.5,
    "soilTemperatureC": 18.2,
    "soilElectricalConductivity": 0.45,
    "batteryPercent": 87,
    "signalRssi": -98,
    "snr": 4.2
  }
}

На мобільній стороні — Kotlin Flow з roomdb для офлайн-роботи:

@Dao
interface SensorReadingDao {
    @Insert(onConflict = OnConflictStrategy.REPLACE)
    suspend fun insertAll(readings: List<SensorReading>)

    @Query("""
        SELECT * FROM sensor_readings
        WHERE device_eui = :eui AND timestamp >= :from
        ORDER BY timestamp DESC
    """)
    fun observeReadings(eui: String, from: Long): Flow<List<SensorReading>>

    @Query("""
        SELECT CAST(strftime('%s', datetime(timestamp/1000, 'unixepoch', 'start of day')) AS INTEGER) * 1000 AS day,
               AVG(soil_moisture_vwc) AS avg_moisture,
               MIN(soil_temperature_c) AS min_temp,
               MAX(soil_temperature_c) AS max_temp
        FROM sensor_readings
        WHERE device_eui = :eui AND timestamp >= :from
        GROUP BY day
        ORDER BY day
    """)
    fun getDailyAggregates(eui: String, from: Long): Flow<List<DailyAggregate>>
}

Карта полів і зональне управління

Ключовий екран в агро-додатку — карта з полігонами полів і маркерами датчиків. На Flutter з flutter_map (Leaflet-based, безкоштовно без API-key) або Google Maps:

class FieldMapWidget extends StatelessWidget {
  final List<Field> fields;
  final List<SensorDevice> sensors;

  @override
  Widget build(BuildContext context) {
    return FlutterMap(
      options: MapOptions(
        center: LatLng(51.23, 23.45),
        zoom: 13,
      ),
      children: [
        TileLayer(
          urlTemplate: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png',
          // Або агро-шари: Sentinel-2 NDVI через EO Browser
        ),
        PolygonLayer(
          polygons: fields.map((f) => Polygon(
            points: f.boundary,
            color: _fieldColorByStatus(f),
            borderColor: Colors.white,
            borderStrokeWidth: 1.5,
          )).toList(),
        ),
        MarkerLayer(
          markers: sensors.map((s) => Marker(
            point: LatLng(s.lat, s.lon),
            builder: (_) => SensorMarker(sensor: s),
          )).toList(),
        ),
      ],
    );
  }

  Color _fieldColorByStatus(Field field) {
    final ndvi = field.latestNdvi;
    if (ndvi == null) return Colors.grey.withOpacity(0.3);
    if (ndvi < 0.3) return Colors.red.withOpacity(0.4);
    if (ndvi < 0.5) return Colors.yellow.withOpacity(0.4);
    return Colors.green.withOpacity(0.4);
  }
}

NDVI (індекс вегетації) отримують з Sentinel-2 знімків через Copernicus Data Space API або Planet API. Знімки раз на 5-12 днів при безхмарній погоді — автоматично завантажуються на бекенд і розраховуються попіксельно.

Як розраховується NDVI попіксельно?

NDVI = (NIR - Red) / (NIR + Red), де NIR — ближній інфрачервоний канал, Red — червоний канал знімка. Значення від -1 до 1. Для рослинності від 0,2 до 0,9. Застосовуємо маску хмарності, щоб виключити перешкоди.

Як забезпечити офлайн-режим для польових датчиків?

LoRaWAN шлюз на полі може не мати постійного інтернету. Частина даних синхронізується пачками при появі зв'язку. Додаток показує «останнє оновлення 2 години тому» і не панікує. Критично правильно обробляти часові мітки: дані з датчика мають свій timestamp, який може сильно відрізнятися від часу доставки на сервер.

Для офлайн-роботи ми використовуємо локальне сховище з синхронізацією через фонові завдання. На iOS — Background Fetch, на Android — WorkManager. Конфлікти вирішуються за принципом «свіжіший timestamp перемагає».

Сповіщення за агро-порогами

Для агро-IoT критичні порогові алерти: «Вологість ґрунту нижче 25% на полі Північний-3» або «Завтра очікується заморозок, 3 датчики показують температуру нижче 2°C». Логіка на бекенді, доставка через FCM/APNs.

Нюанс мобільних сповіщень для фермерів: телефон часто в кишені під час роботи, потрібні короткі інформативні тексти без зайвих слів. Перший рядок сповіщення — головне: «Поле Схід: вологість 18%, потрібен полив».

Що входить в роботу?

  • Аудит парку датчиків та агрономічних вимог.
  • Проєктування архітектури: серверна частина, мобільний додаток, інтеграції.
  • Реалізація під ключ: iOS (Swift, SwiftUI) та Android (Kotlin, Jetpack Compose) або кросплатформа (Flutter/React Native).
  • Інтеграція з LoRaWAN-мережею, MQTT, REST API.
  • Розробка карти полів з NDVI-шарами.
  • Налаштування сповіщень за порогами.
  • Тестування та розгортання в App Store і Google Play.
  • Навчання агрономів та технічна підтримка.

Ми використовуємо LoRaWAN і NDVI — перевірені галузеві стандарти.

Терміни розробки

Варіант Термін
Моніторинг однієї культури з картою полів та алертами 2–3 місяці
Багатокультурний моніторинг з NDVI та керуванням іригацією 4–6 місяців
Повний цикл з прогнозуванням та інтеграцією ERP 6–9 місяців

Вартість розраховується індивідуально після аналізу ваших датчиків і завдань. Отримайте консультацію — обговоримо деталі вашого проєкту.

Наші інженери сертифіковані в галузі мобільної розробки та агро-IoT. За 10+ років ми реалізували 50+ проєктів для сільського господарства. Звертайтеся — допоможемо перетворити дані на врожай.

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

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

  • Розробка мобільного додатка для компанії FEEDME
    Розробка мобільного додатка для компанії FEEDME
    1010
  • Розробка мобільного додатку для компанії XOOMER
    Розробка мобільного додатку для компанії XOOMER
    903
  • Розробка мобільного додатку для компанії RHL
    Розробка мобільного додатку для компанії RHL
    1332
  • Розробка мобільного додатку для компанії ZIPPY
    Розробка мобільного додатку для компанії ZIPPY
    1180
  • Розробка мобільного додатку для компанії Affhome
    Розробка мобільного додатку для компанії Affhome
    1107
  • Розробка мобільного додатку для компанії FLAVORS
    Розробка мобільного додатку для компанії FLAVORS
    714