Мониторинг почвенных датчиков: мобильное приложение с LoRaWAN

Реализация мониторинга почвенных датчиков через мобильное приложение Почвенные датчики выдают сырые данные в нечитаемых форматах — бинарные пачки по протоколам Modbus RTU, SDI-12 или LoRaWAN. Каждый датчик требует уникального декодирования: один производитель использует смещение байтов, другой —

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Мониторинг почвенных датчиков: мобильное приложение с LoRaWAN
Средний
от 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

Реализация мониторинга почвенных датчиков через мобильное приложение

Почвенные датчики выдают сырые данные в нечитаемых форматах — бинарные пачки по протоколам Modbus RTU, SDI-12 или LoRaWAN. Каждый датчик требует уникального декодирования: один производитель использует смещение байтов, другой — масштабирование. Приходится учитывать тип почвы, калибровку и LoRaWAN-стек, иначе цифры превращаются в шум. Мы реализовали такие проекты для агрохозяйств: интеграция ChirpStack, декодирование Cayenne LPP, отображение профиля влажности с учётом полной влагоёмкости (ПВ). Наш опыт — более 5 лет в IoT, 30+ завершённых проектов.

Агроном получает уведомление на смартфон: влажность на глубине 30 см упала до 15% при полевой влагоёмкости 45% — пора запускать полив. Без мобильного приложения это бы осталось незамеченным до визуального осмотра. Именно поэтому система мониторинга с датчиками и LoRaWAN окупается за один сезон.

Как работает мониторинг почвенных датчиков через LoRaWAN?

Почвенный датчик — обычно Modbus RTU или SDI-12 на проводном интерфейсе, либо LoRaWAN/NB-IoT для беспроводного. Популярные модели: Sentek Drill & Drop (SDI-12), Vegetronix VH400 (аналоговый 0-3В), TEROS 12 (SDI-12), Decagon 5TM — все с разными форматами вывода данных. Мобильное приложение получает эти данные через IoT-шлюз или LoRaWAN Network Server — никогда напрямую. Именно поэтому LoRaWAN стал стандартом для полевого мониторинга: он даёт дальность и энергоэффективность, но требует грамотной настройки джойнеров и частотных планов. Как указывает спецификация LoRaWAN 1.0.4, максимальная дальность в открытом поле достигает 10 км.

Протокол Дальность Скорость Применение
Modbus RTU до 1200 м (провод) до 115 кбит/с Локальные сети теплиц
SDI-12 до 60 м (провод) 1200 бит/с Метеостанции, датчики почвы
LoRaWAN до 10 км (открытое поле) 0.3-50 кбит/с Полевые агромониторинг

Что измеряет датчик и как интерпретировать

Три основных параметра почвы:

VWC (Volumetric Water Content) — объёмная влажность в процентах. Значение 0-100%, на практике для большинства почв рабочий диапазон 10-40%. Датчик меряет диэлектрическую проницаемость почвы, пересчёт в VWC — по формуле Топпа или по калибровочным данным производителя для конкретного типа почвы.

EC (Electrical Conductivity) — электропроводность, мСм/см. Показывает засоленность и концентрацию питательных веществ. Норма для большинства культур: 0.5-2.0 мСм/см. Выше 4 мСм/см — стресс для растений.

Температура почвы — важна для прорастания семян (большинство культур не прорастают ниже 8-10°C) и активности микроорганизмов.

Тип почвы Норма VWC (%) Полевая влагоёмкость (ПВ, %)
Песок 5-10 15
Супесь 10-20 25
Суглинок 20-35 45
Глина 30-45 55

Без контекста типа почвы и ПВ число VWC бессмысленно. Приложение должно показывать не только сырые значения, но и их агрономическую интерпретацию: «Влажность 19% при ПВ=45% для супесчаной почвы» — это сухо.

Как декодировать данные TEROS 12 через Cayenne LPP?

ChirpStack — open-source LoRaWAN Network и Application Server. REST API и gRPC интерфейс:

// Kotlin, Retrofit для ChirpStack API interface ChirpStackApi { @GET("api/devices/{devEui}/events") suspend fun getDeviceEvents( @Header("Grpc-Metadata-Authorization") token: String, @Path("devEui") devEui: String, @Query("limit") limit: Int = 100, ): DeviceEventsResponse } data class DeviceEvent( val publishedAt: String, val data: String, // Base64-encoded payload val rxInfo: List<RxInfo>, ) fun decodePayload(base64Data: String): SoilReading { val bytes = Base64.decode(base64Data, Base64.DEFAULT) // Декодирование зависит от кодировки производителя датчика // TEROS 12 Cayenne LPP формат: val vwc = ((bytes[1].toInt() and 0xFF) shl 8 or (bytes[2].toInt() and 0xFF)) / 100.0 val temp = ((bytes[4].toInt() and 0xFF) shl 8 or (bytes[5].toInt() and 0xFF)) / 100.0 - 40 val ec = ((bytes[7].toInt() and 0xFF) shl 8 or (bytes[8].toInt() and 0xFF)) / 100.0 return SoilReading(vwc = vwc, temperature = temp, electricalConductivity = ec) } 

Для реального времени через MQTT — ChirpStack публикует события в топики вида application/{appId}/device/{devEui}/event/up. ChirpStack поддерживает интеграцию с любым бэкендом.

Почему LoRaWAN подходит для полевых датчиков?

LoRaWAN обеспечивает дальность до 10 км в открытом поле при минимальном энергопотреблении. Датчики работают от батарей до 5 лет. В сочетании с ChirpStack и REST API это даёт гибкую интеграцию с мобильным приложением.

Дашборд: несколько датчиков на поле

Стандартная конфигурация — 3-5 датчиков на горизонты глубины (10, 30, 60, 90 см) в одной точке измерения. Дашборд показывает профиль влажности по глубине — вертикальный барчарт эффективнее обычного списка:

Widget buildMoistureProfile(List<SoilLayerReading> layers) { return Padding( padding: const EdgeInsets.all(16), child: Row( children: [ // Ось глубины Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: layers.map((l) => Text('${l.depthCm} см')).toList(), ), const SizedBox(width: 8), Expanded( child: Column( children: layers.map((layer) { final isLow = layer.vwc < layer.fieldCapacity * 0.5; return Container( margin: const EdgeInsets.symmetric(vertical: 2), height: 32, child: LinearProgressIndicator( value: layer.vwc / 60.0, // нормируем к 60% макс backgroundColor: Colors.grey.shade200, color: isLow ? Colors.orange : Colors.blue, ), ); }).toList(), ), ), ], ), ); } 

Как настроить порог полива и тренды?

Главная аналитическая функция — показать момент, когда влажность опустилась до порога полива (irrigation threshold), и когда вернулась к целевому уровню после полива. Это помогает агроному подтвердить, что система ирригации отработала корректно.

График из fl_chart с горизонтальной линией порога:

LineChartData buildTrendChart(List<SoilReading> readings, double threshold) { return LineChartData( extraLinesData: ExtraLinesData( horizontalLines: [ HorizontalLine( y: threshold, color: Colors.orange, strokeWidth: 1.5, dashArray: [5, 5], label: HorizontalLineLabel( show: true, labelResolver: (_) => 'Порог полива', ), ), ], ), lineBarsData: [ LineChartBarData( spots: readings .map((r) => FlSpot(r.timestamp.toDouble(), r.vwc)) .toList(), isCurved: true, color: Colors.blue, dotData: const FlDotData(show: false), ), ], ); } 

Что такое алерты и как их настроить?

Два типа алертов для почвенных датчиков: по порогу влажности (ниже X% — нужен полив) и по EC (выше Y мСм/см — риск засоления). Доставка через FCM. Важный момент: алерт по влажности нужно фильтровать по времени суток и дням — если только что прошёл дождь, алерт «нужен полив» избыточен. Бэкенд должен учитывать данные метеостанции или прогноза погоды.

Как настроить систему мониторинга: пошаговая инструкция

  1. Выбор и установка датчиков (Modbus RTU для теплиц, LoRaWAN для поля).
  2. Настройка шлюза и LoRaWAN Network Server (ChirpStack).
  3. Декодирование даташита датчика в Cayenne LPP или кастомный парсер.
  4. Разработка мобильного дашборда (Flutter) с профилем влажности и графиками трендов.
  5. Настройка алертов с учётом погоды и типов почвы.
  6. Тестирование в поле и деплой в магазины приложений.

Что входит в работу

  • Проектирование архитектуры сбора данных (выбор протоколов, шлюзов, Network Server)
  • Настройка LoRaWAN Network Server (ChirpStack) и REST API
  • Разработка мобильного приложения для iOS/Android (SwiftUI / Jetpack Compose)
  • Интеграция с метеостанциями и учёт типа почвы
  • Тестирование в полевых условиях и deploy в App Store / Google Play
  • Документация и обучение агрономов

Типичные ошибки при интеграции:

  • Путаница с кодировкой Cayenne LPP (разные производители используют разные смещения)
  • Отсутствие фильтрации алертов по погоде (ложные срабатывания после дождя)
  • Игнорирование типа почвы при интерпретации VWC (для супеси и глины нормы разные)

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