Файл: Средства разработки клиентских программ (Аспекты разработки клиентских программ в области систем мониторинга для сельского хозяйства).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.06.2023

Просмотров: 80

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

ГЛАВА 1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ РАЗРАБОТКИ КЛИЕНТСКИХ ПРОГРАММ В ОБЛАСТИ СИСТЕМ МОНИТОРИНГА ДЛЯ СЕЛЬСКОГО ХОЗЯЙСТВА

Объекты систем мониторинга

ГЛАВА 2 РАЗРАБОТКА КЛИЕНТСКИХ ПРОГРАММ

2.1Разработка структурной схемы теплицы с расположением датчиков

2.3 Разработка схемы подключения датчиков

2.4Разработка электрической схемы

2.5Разработка архитектуры системы мониторинга.

2.6Разработка метода отправки данных.

2.7Выбор используемых сервисов в облачной платформе.

ГЛАВА 3 ПРАКТИЧЕСКАЯ ЧАСТЬ

Создание датчиков

3.3 Тестирование системы

3.4 Анализ полученных результатов.

3.5 Развертывание сервера-брокера на облачной платформе

3.6 Развертывание облачного приложения по хранению в базе данных.

3.7 Тестирование облачного приложения.

3.8 Разработка клиентского приложения.

3.9 Описание клиентского приложения.

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

3.5 Развертывание сервера-брокера на облачной платформе

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

Данные, которые были созданы типом устройства на платформе Watson IoT, используются клиентским приложением, расположенным на микрокомпьютере, который также отвечает за работу «умной теплицы». Созданный тип устройства на платформе проиллюстрирован на рис. 20.

Рис. 20. Платформа IBM Watson IoT и созданный тип устройства.

После установки и настройки клиента на микрокомпьютере, MQTT-соединение настроено, и данные с «умной теплицы» готовы к отправлению на сервер-брокер.

3.6 Развертывание облачного приложения по хранению в базе данных.

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

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

Сперва необходимо установить и настроить сервис базы данных Cloudant NoSQL DB. Данный сервис предоставляет структурированные базы данных, в которых данные хранятся в виде JSON документов. Учитывая, что данные передаются в формате JSON, то и хранение в этом же формате будет также полезным. JSON имеет структурированный вид, позволяющий представить в любом удобном представлении, к примеру, в виде таблицы. На рис. 21 представлен сервис базы данных Cloudant NoSQL с имеющимися данными.

Рис. 21. Сервис базы данных Cloudant NoSQL.

Среди множества поддерживаемых программных средств, которые предоставляет IBM на своей платформе, самым оптимальным вариантом будет визуальная среда программирования Node-RED. Данная среда программирования позволяет управлять различными потоками данных, а также проводить с ними манипуляции. Среда работает в среде Node.js, где поток данных выражается в формате JSON, а узлы-функции написаны на языке JavaScript. Благодаря данному программному средству, облачное приложение имеет очень простой и компактный вид. Все облачные приложения состоят из узлов и их соединений. Узлы имеют в среде прямоугольный вид, где ввод данных на узел выражен кружочком на левой границе узла, а вывод – на правой границе. Узлы могут выполнять множество функций в зависимости от типа узла. Необходимо отметить, что в приложении можно использовать любые сервисы IBM Bluemix с помощью определенных узлов. Облачное приложение в среде Node-RED представлено на рис. 22.


Рис. 22. Облачное приложение хранения в базе данных в среде Node-RED.

Описывая данное приложение, необходимо отметить следующие узлы:

  1. IoT Device Events: узел сервиса Watson IoT Platform, выводящий поток данных с устройств.
  2. NewMessage: узел-функция изменения полученного сообщения в потоке данных.
  3. Greenhouse_events_new: узел-сервис Cloudant NoSQL, принимающий на вход данные, которые нужно сохранить или удалить.
  4. Device data: узел вывода данных в дебаг(вывод данных) приложения.

При поступлении с устройств, подключенные к сервису Watson IoT Platform, данные поступают на функцию, которая изменяет значения и поля сообщения. После работы функции данные отправляются на сервис Cloudant NoSQL, где хранятся в определенной таблице. В то время узел device data выводит данные в приложении для оценивания результата функции.

3.7 Тестирование облачного приложения.

Устройство отправляет изначально данные в формате JSON в виде, проиллюстрированном на рис. 23.

Рис. 23. Данные, приходящие с «умной теплицы» через сервис Watson IoT Platform.

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

Рис. 24. Содержание работы функции-узла, написанная на языке JavaScript.

В итоге, новое сформулированное сообщение будет иметь другие данные. Оно представлено на рис. 25.

Рис. 25. Сформированные данные с помощью функции в среде программирования Node-RED.

Сохраненные данные на сервисе Cloudant NoSQL представлено на рис. 26.

Рис. 26. Сохраненные данные в сервисе Cloudant NoSQL.

Приложение сохранило только часть данных с поля payload. В данном поле содержится именно отправляемые данные «умной теплицей». Оставшиеся поля формируются во время отправления по MQTT. Если необходимо сохранить полностью сообщение, то в облачном приложении существует такая возможность.


3.8 Разработка клиентского приложения.

Цель данного проекта – разработать такую систему мониторинга, которая позволит пользоваться ей на расстоянии с помощью сети Интернет. Чтобы этого достичь необходимо разработать клиентское приложение, позволяющее любому пользователю получить доступ с использованием различных устройств, которые могут иметь доступ к сети Интернет.
Целевой платформой первого клиентского приложения является Android ОС. Разработана с помощью стандартного пакета разработки Android SDK на языке Java.

В ходе разработки использовались следующие библиотеки:

  1. Org.eclipse.paho.client.mqttv3 – библиотека, обеспечивающая соединение по протоколу MQTT. Данная библиотека распространяется по бесплатной лицензии компанией Eclipse.
  2. Org.json – библиотека, позволяющая работать с данными в формате JSON.

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

3.9 Описание клиентского приложения.

Приложение имеет два экрана: экран авторизации и экран уведомлений.

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

  1. Наименование организации сервиса. Оно относится к наименованию сервиса, которым пользуется пользователь сервиса. Позволяет разграничивать группы типов устройств, приложений.
  2. Ключ API. Данные, необходимые для настройки использования программного интерфейса приложения (API) в ходе создания подключения по MQTT протоколу.
  3. Токен аутентификации. Иными словами, пароль, необходимый для подключения по API.

Эти данные необходимо сгенерировать в сервисе Watson IoT Platform на вкладке Apps. На рис. 27 проиллюстрирован сервис Watson IoT Plarform на вкладке Apps.

Рис. 27. Сервис Watson IoT Platform на вкладке Apps.

Данные необходимо ввести на стартовый экран клиентского приложения, которое проиллюстрировано на рис. 28.

Рис. 29. Экран авторизации клиентского приложения.

После авторизации появится второй экран, на котором будет выводиться любая информация, пришедшая с «умная теплица». На рис. 30 проиллюстрирован экран уведомлений с уже пришедшими результатами.


Рис. 30. Экран уведомлений.

Данный экран заполняется автоматически при получении каких-либо данных с издателя MQTT.

Часть кода приложения, выводящего уведомления представлено в прил. 4.

ЗАКЛЮЧЕНИЕ

В данном исследовании была представлена система мониторинга для сельского хозяйства в рамках концепции Интернета Вещей и Облачных вычислений. Результаты работы данной системы показывают, что с использованием названных технологий можно упростить и оптимизировать процесс наблюдения за растениями, и как следствие увеличить прирост урожая. Данная система предоставляет простоту и эффективность подхода разработки. Пользователь не должен разбираться в данных информационных технологиях с целью полноценного освоения пользования системой, что делает эту систему доступной большинству. Данная система реализована с использованием только базовых знаний данных технологий, что открывает перспективы ее развития после углубления в знаниях о технологиях Интернет Вещей и Облачных технологий. К примеру, возможно создать систему, которая сможет анализировать и прогнозировать состояние растений, что поможет в решении проблем с их увяданием и собирательством плодов. На данный момент система содержит три подсистемы, общая работа которых обеспечивает стабильную работу системы. Подсистема «умная теплица», собирающая данные с теплиц и автоматически выполняя определенные функции, вместе с серверной частью, обеспечивающая соединения между частями, а также хранение передаваемых данных, и клиентской частью, представляющая данные пользователю, полностью обеспечивают всеми функциями, которые были описаны в требованиях к системе, что делает данное исследование успешным.

В процессе выполнения работы студент 1 разработал программу на облачной платформе, для хранения данных, а также мобильное приложение, для визуализации данных. Студент 2 в процессе работы собрал прототип теплицы для тестирования системы, а также написал программу для сбора показаний с датчиков, их обработки и оправки на облачный сервис, а также поддержания микроклимата теплицы в пределах установленных значений.

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

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


СПИСОК ЛИТЕРАТУРЫ

  1. Город 21 века [Электронный ресурс]. – Режим доступа: http://gorod21veka.ru/list/teplitcy/mikroklimat_teplitc/ - Дата доступа: 11.05.18
  2. UrbanFarming [Электронный ресурс]. – Режим доступа: http://www.urbanfarming.org/about.html - Дата доступа: 11.05.18
  3. Атлас новых профессий [Электронный ресурс]. – Режим доступа: http://atlas100.ru/catalog/selskoe-khozyaystvo/siti-fermer/ - Дата доступа: 11.05.18
  4. Lifedlobe. Весь мир как на ладони [Электронный ресурс]. – Режим доступа: http://lifeglobe.net/entry/5445 - Дата доступа: 11.05.18
  5. Gartner. IT glossary [Электронный ресурс]. – Режим доступа: https://www.gartner.com/it-glossary/internet-of-things/ - Дата доступа: 11.05.18
  6. Мой склад [Электронный ресурс]. – Режим доступа: https://www.moysklad.ru/poleznoe/statyi/chto-takoe-oblachnye-servisy/ - Дата доступа: 11.05.18
  7. Jeonghwan Hwang, Changsun Shin and Hyun Yoe “Study on an Agricultural Environment Monitoring Server System using Wireless Sensor Networks”, MDPI, pp 11189-11211, 2010
  8. National Instruments. What is Wireless Sensor Network? [Электронный ресурс]. – Режим доступа: http://www.ni.com/white-paper/7142/en/ – Дата доступа: 11.05.18
  9. Yifan Bo, Haiyan Wang “The Application of Cloud Computing and The Internet of Things in Agriculture and Forestry”, IEEE Computer Society, pp 168-172, 2011
  10. Кабанов А. А. Автоматизированная система «умная теплица» //РЕСУРСОЭФФЕКТИВНЫМ ТЕХНОЛОГИЯМ-ЭНЕРГИЮ И ЭНТУЗИАЗМ МОЛОДЫХ. – 2015. – С. 275-278.
  11. «Умная» теплица от разработчиков EPAM: революция в сельском хозяйстве не за горами [Электронный ресурс]. – Режим доступа: https://dev.by/lenta/main/razrabotchiki-epam-sozdali-umnuyu-teplitsu-revolyutsiya-v-selskom-hozyaystve-ne-za-gorami – Дата доступа: 11.05.18
  12. ЭлектроТехИнфо [Электронный ресурс]. – Режим доступа: http://www.eti.su/articles/izmeritelnaya-tehnika/izmeritelnaya-tehnika_443.html - Дата доступа: 11.05.18
  13. Новые химические технологии [Электронный ресурс]. – Режим доступа: http://www.newchemistry.ru/letter.php?n_id=9158 - Дата доступа: 11.05.18
  14. Преобразователи, датчики, сенсоры [Электронный ресурс]. – Режим доступа: https://sensorse.com/page9.html - Дата доступа: 11.05.18
  15. GitHub, Build for developers [Электронный ресурс]. – Режим доступа: https://github.com/adafruit/DHT-sensor-library/blob/master/DHT.cpp - Дата доступа: 11.05.18
  16. Амперка [Электронный ресурс]. – Режим доступа: http://amperka.ru/product/thermistor - Дата доступа: 11.05.18
  17. Амперка [Электронный ресурс]. – Режим доступа: http://amperka.ru/product/troyka-light-sensor - Дата доступа: 11.05.18
  18. ArduinoMaster, Все об ардуино [Электронный ресурс]. – Режим доступа: https://arduinomaster.ru/datchiki-arduino/photorezistor-arduino-datchik-sveta/ - Дата доступа: 11.05.18
  19. Arduino+-kit [Электронный ресурс]. – Режим доступа: https://arduino-kit.ru/catalog/id/modul-obnarujeniya-svetochuvstvitelnyiy-lm393- Дата доступа: 11.05.18
  20. Hypertext Transfer Protocol -- HTTP/1.0 [Электронный ресурс]. – Режим доступа: https://tools.ietf.org/html/rfc1945 - Дата доступа: 11.05.18
  21. Mozilla [Электронный ресурс]. – Режим доступа: https://developer.mozilla.org/ru/docs/Web/HTTP/Methods - Дата доступа: 11.05.18
  22. IoT Agenda [Электронный ресурс]. – Режим доступа: https://internetofthingsagenda.techtarget.com/definition/MQTT-MQ-Telemetry-Transport - Дата доступа: 11.05.18
  23. Whatls.com [Электронный ресурс]. – Режим доступа: https://whatis.techtarget.com/definition/Constrained-Application-Protocol - Дата доступа: 11.05.18
  24. AndroidPub [Электронный ресурс]. – Режим доступа: https://android.jlelse.eu/apple-vs-android-a-comparative-study-2017-c5799a0a1683 - Дата доступа: 11.05.18
  25. Android [Электронный ресурс]. – Режим доступа: https://developer.android.com/studio/ - Дата доступа: 11.05.18
  26. Eclipse [Электронный ресурс]. – Режим доступа: http://www.eclipse.org/downloads/eclipse-packages/ - Дата доступа: 11.05.18
  27. JetBrains [Электронный ресурс]. – Режим доступа: https://www.jetbrains.com/idea/ - Дата доступа: 11.05.18
  28. Амперка [Электронный ресурс]. – Режим доступа: http://forum.amperka.ru/threads/Помогите-с-h-мостом.4974/ 12.05.2018 - Дата доступа: 11.05.18