Разработка кроссплатформенного приложения для мониторинга производства и хранения кормов

IoT-система для агрохозяйств собирает информацию о количестве собранного сена, контролирует условия хранения и сушки продукции, предоставляет статистические и геолокационные данные.
Государственные и частные инвесторы, как и сами фермеры, вкладывают средства в цифровизацию сельского хозяйства, чтобы повысить прибыльность и устойчивость отрасли.

Технологические инновации вносят большой вклад в преобразование агропроизводства. Благодаря внедрению цифровых технологий фермеры могут более эффективно управлять ресурсами.

Обработка данных с помощью современных программных решений позволяет работникам сельского хозяйства сосредоточиться на неотложных задачах.

Запрос

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

Приложение должно предоставлять пользователю доступ к показаниям датчиков, сушилок и расходомеров в едином интерфейсе для централизованного управления. Кроме этого, приложение должно иметь следующие функции:

  • Удаленное управление сушилками.
  • Контроль температуры на складах.
  • Мониторинг расхода обеззараживающей жидкости.
  • Подсчет количества тюков сена и определение их местоположения.
  • Формирование и хранение карт урожайности.

Приложение должно быть совместимо с iOS и Android. Данные должны храниться локально в памяти подключенных устройств, а затем передаваться на серверы для безопасного хранения и доступности 24/7.

Решение

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

1. Предоставление данных с измерительных приборов, расположенных на сельскохозяйственных машинах.

На тракторах фермера установлены измерительные приборы со следующими функциями:

  • Подсчет и отслеживание тюков сена

Приборы подсчитывают собранные тюки сена и предоставляют данные их геолокации, пока комбайны работают в поле.

Датчики, установленные на пресс-подборщиках сена, учитывают каждый тюк, чтобы дать фермеру точную картину производительности поля.

Приложение сохраняет GPS-координаты стогов сена, отображает их на карте и рассчитывает урожайность.

  • Мониторинг расходомера

Расходомеры измеряют точное количество используемого раствора для сена. Приложение должно рассчитывать и отображать расход раствора в реальном времени в литрах в час, литрах на тонну и на тюк.

Использование расходомеров в сельском хозяйстве повышает производительность и упрощает контроль производства.

Устройство передает данные на смартфон или планшет с помощью BLE. Данные хранятся в базе данных, предоставляемой Amazon Web Services, для дальнейшего анализа.

2. Отображение данных о температуре на складах

Датчики, расположенные на складе рядом с тюками сена, передают данные о температуре через LoRaWAN на сервер AWS.
Процесс получения данных с датчиков температуры
Получение данных о температуре на складе
Простое в использовании приложение отображает температуру тюков сена в режиме реального времени. При серьезных колебаниях показателей оно отправляет пользователю оповещения. Приложение также формирует еженедельные отчеты и графики изменения температуры.

Располагая своевременной информацией, фермеру легче поддерживать качество продукции на должном уровне и следить за противопожарной безопасностью.

3. Контроль сушилок

Еще одной задачей приложения является управление сушилками. Это герметичные камеры с равномерным потоком воздуха и датчиками температуры, относительной влажности и статического давления. Контроллер на основе Raspberry Pi включает подачу горячего воздуха или газа для борьбы с болезнями и вредителями.

Приложение отображает список зарегистрированных сушилок, количество завершенных этапов сушки и запланированных партий. Фермер может удаленно запускать или останавливать сушилки.

Приложение позволяет отслеживать и изменять время сушки и охлаждения, контролировать давление, скорость сушки, температуру, влажность, подачу горячего и влажного воздуха на экране своего устройства.

Датчики температуры, влажности, давления и подачи газа, установленные внутри сушильной камеры, с помощью BLE и мобильного интернета передают данные, отображаемые в приложении.

Способ подключения выбирается автоматически в зависимости от удаленности мобильного устройства от сушилки.

4. Предоставление статистики

Приложение предоставляет статистику по количеству заготовленных тюков сена и расходу раствора на каждом поле с указанием даты и места.

Пользователь может просматривать данные, сохраненные на карте, и определять положение тюков сена на полях по GPS для точного мониторинга.
Скриншот мобильного приложения для сельского хозяйства
Приложение имеет почасовые графики уличной температуры, показателей горячего и влажного воздуха.
С помощью фреймворка Qt мы создали приложение под iOS и Android для сбора и отображения информации с расходомеров, датчиков и сушилок.

Сложности проекта и их решение

Изначально у клиента было Qt-приложение для HMI-экрана управления сушилками. Экран с процессором Raspberry Pi, расположенный возле склада, должен был использовать проводное соединение для наблюдения за оборудованием.

При постоянно включенном экране процессор и корпус панели перегревались. Предыдущие разработчики не учли эту особенность графических интерфейсов, созданных с помощью фреймворка Qt. Сложная Qt-анимация, постоянно присутствующая на экране, потребляет много ресурсов процессора. Таким образом, устройство все время находилось под максимальной нагрузкой.

Наши программисты переделали пользовательский интерфейс Qt, чтобы устройство не перегревалось. Позже заказчик решил вообще отказаться от идеи HMI-экрана. Вместо этого при помощи Qt мы с нуля создали удобное мобильное кроссплатформенное приложение для iOS и Android.

Другая проблема была вызвана медленной работой Raspberry Pi с базой данных при обработке информации с датчика температуры. Наши разработчики оптимизировали код и придумали более удобные алгоритмы. В частности, была включена фильтрация данных для более наглядного отображения графиков.

Мы добавили фильтр Калмана – линейно-квадратичную оценку – для решения задач с определением GPS-координат и положения тюков на карте.
Выполненные работы

  • Разработка системы мониторинга датчиков
  • Рефакторинг пользовательского интерфейса
  • Кроссплатформенная разработка приложений с поддержкой BLE
                Использованные технологии
                • Приложение написано на языках C++, QML и JavaScript.
                • Для разработки кроссплатформенного приложения использовался фреймворк Qt.
                • Для хранения данных мы использовали базу данных NoSQL Amazon DynamoDB.
                • При помощи Amazon Cognito мы добавили регистрацию пользователей, вход в систему и контроль доступа к мобильному приложению.
                • Мы использовали сервисы AWS Lambda, Amazon SNS и AWS IAM для хранения и обработки данных.

                                Итоги

                                Компания КЕДР Solutions разработала полноценную IoT-систему, которая собирает и передает данные через BLE и сохраняет их в локальной базе данных.

                                Мы улучшили логику и обеспечили взаимодействие сушилок с облачными сервисами.

                                Наши специалисты разработали интуитивно понятные пользовательские интерфейсы для мобильного приложения, позволяющие взаимодействовать с расходомерами, сушилками и системами мониторинга склада.

                                В данный момент мы работаем над продолжением проекта. По запросу клиента добавляем функцию автоматического определения геоположения поля, на котором в данный момент работает пресс-подборщик. Приложение будет выводить информацию о местоположении на экран гаджета, а затем передавать данные в базу данных для безопасного хранения.

                                В настоящее время мы также работаем над возможностью выбора подключенных устройств – со счетчиками тюков и без них.