Разработка и тестирование программно-аппаратного модуля сбора данных в беспроводных сенсорах сетях
Изучение особенностей устройства программно-аппаратного модуля сбора данных в беспроводных сенсорах сетях. Расположение сервера. Сетевые технологии. Проводные и беспроводные сети. Выбор методов сбора данных для разработки программно-аппаратного модуля.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 01.07.2017 |
Размер файла | 4,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Оглавление
Введение
Глава 1. Обзор и анализ существующих технологий
1.1 Расположение сервера
1.1.1 Локальный выделенный сервер
1.1.2 Облачный сервер
1.2 Сетевые технологии
1.2.1 Проводные сети
1.2.2 Беспроводные сети
Глава 2. Выбор методов сбора данных для разработки программно-аппаратного модуля
2.1 Обзор облачных платформ.
2.2 Выбор платформы
2.3 Требования к программно-аппаратному модулю
Глава 3. Теоретическая часть
3.1 Алгоритм взаимодействие модуля с облачной платформой
3.2 Разработка устройства
3.2.1 Разработка схемы электрической структурной
3.2.2 Выбор Wi-Fi модуля
Глава 4. Экспериментальная часть
4.1 Изготовление макета устройства
4.2 Создание основы приложения
4.3 Внесение собираемых данных в базу
4.4 SMS/e-mail уведомления
4.5 Построение графиков собранных данных
4.6 Тестирование
Список литературы
Приложения
Введение
На протяжении всей своей жизни человек использует информацию, которую получает из внешнего мира по различным источникам: книги, телевидение, интернет и др. Полученную информацию можно анализировать, хранить и представлять в визуальном виде для упрощения того же анализа. Однако, технический прогресс не стоит на месте и уже сегодня информацию может собирать не только человек, но и технические устройства при помощи соответствующих автоматизированных систем.
Устройства могут иметь доступ в интернет. Такие вещи на сегодняшний день имеют название «интернет-вещи». Несколько интернет-вещей могут образовывать сеть, в которой они обмениваются информацией, а также могут публиковать свою информацию в глобальную сеть интернет. Беспроводная сеть, которая состоит из самостоятельных устройств на распределенной территории, на которых установлены различные необходимые датчики называется беспроводной сенсорной сетью.
Множество исследований и разработок было проведено в беспроводных сенсорных сетях. Были разработаны необходимые протоколы, а также специальные операционные системы.
Беспроводные сенсорные сети могут разворачиваться для контроля за объектами в период их использования. На устройства устанавливают специальные датчики, системы сбора данных, которые помогают в анализе собранных данных и дальнейшем принятии решений [1]. Сбор данных необходим во всех сферах жизнедеятельности включая медицину, услуги ЖКХ, промышленность и др. Есть потребность в разработке универсального устройства, которое можно было бы подключить к любому предмету, и которое потребляло бы мало энергии.
В данном дипломном проекте разрабатывается программно-аппаратный модуль, предназначающийся для сбора и анализа собранных данных в беспроводной сенсорной сети. Имеющиеся устройства с такими установленными модулями смогут обмениваться между собой информацией, образуя беспроводную сенсорную сеть. Для облегчения сбора, анализа и визуализации данных будут использоваться облачные платформы, которые предоставляют необходимый функционал для реализации поставленных задач.
Потребность в универсальном устройстве для сбора и анализа данных подтверждает актуальность данного исследования. Однако, не только потребность в устройстве подтверждает актуальность исследуемой темы, но и то, что визуализация собранных данных является важной частью для улучшения качества обслуживания различных сервисов, ведь визуализировав собранные данные облегчается процесс анализа для человека, если собранные данные будет анализировать именно человек.
Объектом исследования являются аппаратные и облачные платформы, беспроводные сенсорные сети.
Предметом исследования является сбор и визуализация данных в беспроводных сенсорных сетях.
Основными целями выпускной квалификационной работы являются разработка и тестирование программно-аппаратного модуля сбора данных в беспроводных сенсорах сетях.
Для достижения поставленных целей необходимо решить ряд следующих задач:
- обзор и анализ существующих технических решений;
- исследование способов решения и определение наилучшего способа для разработки программно-аппаратного модуля сбора данных;
- разработка программно-аппаратного модуля сбора данных;
- тестирование программно-аппаратного модуля сбора данных.
Новизна данного исследования заключается в разработке универсального программно-аппаратного модуля, который имеет маленький размер для установки на объект любого размера для сбора и передачи собранных данных на сервер в беспроводной сенсорной сети, где данные могут быть проанализированы, визуализированы и сохранены в базе данных.
Практическая значимость
В настоящее время сбор и анализ больших данных является неотъемлемой частью работы многих организаций. В данной дипломной работе предлагается способ, который упростит сбор и анализ данных и улучшит качество обслуживания сервисов посредством визуализации собранных данных в беспроводной сенсорной сети.
программный аппаратный сенсор сеть
Глава 1. Обзор и анализ существующих технологий
Сбор и анализ данных в необходим многим организациям для более точного принятия решений. Это могут быть медицинские данные пациентов, информация о товарах на складах и т.д. Однако, не существует ещё такого устройства, которое можно было бы применить абсолютно в любой сфере, будь то медицина или промышленность. Было бы очень удобно иметь универсальное решение по сбору данных.
Процесс сбора и анализа данных представляет собой непосредственно сбор данных с объекта, передачу собранных данных на сервер и анализ данных на соответствующем сервере. Для того чтобы непосредственно собирать данные и отправлять на сервер необходимо сначала выбрать метод передачи данных и расположение сервера. В данной главе будут рассмотрены методы передачи данных на сервер, а также будут рассмотрены виды расположения серверов. По итогам обзора будет проведен анализ и сделан вывод - какая технология передачи данных и вид сервера будет выбран для разработки универсального модуля в данной дипломной работе.
1.1 Расположение сервера
Выбор расположения сервера для разработки универсального программно-аппаратного модуля сбора данных в беспроводной сенсорной сети является необходимой частью. На данный момент существует два основных вида расположения серверов. В данном разделе будут описаны виды серверов как локальный выделенный сервер и облачный сервер.
1.1.1 Локальный выделенный сервер
Такая схема прекрасно подходит под небольшие(локальные) беспроводные сенсорные сети, однако на практике очень часто беспроводная сенсорная сеть является очень широкой географически (даже достигает масштаба нескольких городов), и, хотя беспроводные сенсорные сети предлагают ретрансляцию для покрытия больших территорий (обмен данными от узла к узлу до шлюза) - это решение подходит для равномерной и плотной сети.
На рисунке 1 изображен способ сбора данных на локальный сервер.
Рис. 1. Локализованный сбор данных
1.1.2 Облачный сервер
Другим способом сбора данных является передача данных на облачный сервер, который находится в облаке. Облачный сервер - это виртуальный сервер, который отличается от физического сервера тем, что для подключения к нему необходим выход в интернет. У данного сервера есть ряд преимуществ:
- с документами и приложениями могут работать одновременно несколько клиентов;
- снижение затрат на дорогостоящее оборудование;
- динамическое расширений функционала при необходимости;
- динамическая область выделенной памяти.
В качестве облачного сервера могут выступать облачные платформы с различным функционалом, например, электронная почта, базы данных, хостинги, сервисы для IoT. Существует несколько видов сервисов на облачных серверах:
- IaaS (инфраструктура как услуга) - в данном случае предоставляются вычислительные мощности с какими-то заданными конфигурациями, например, такой инфраструктурой может быть хостинг;
- PaaS (платформа как услуга) - в данном случает предоставляется платформа, которая дает возможность разработки и развертывания приложений, например IBM Bluemix;
- SaaS (программное обеспечение как услуга) - в данном случае в пользование предоставляется программное обеспечение, например это может быть Microsoft Office 365.
На рисунке 2 изображен способ сбора данных при помощи облачного сервера.
Рис. 2. Сбор данных на облако
Для реализации подобного решения необходимо реализовать программно-аппаратный модуль сбора данных в беспроводных сенсорных сетях. Данная задача разбивается на две, на реализацию аппаратной программной и аппаратной части, в текущую работу входит тестирование совместной работы программной и аппаратной частей в качестве программно-аппаратного модуля сбора данных в беспроводной сенсорной сети.
1.2 Сетевые технологии
Компьютерные сети состоят из набора вычислительных машин, объединенных между собой в структуру. Однако, соединяться между собой вычислительные машины могу при помощи разных технологий и разными способами. Существуют два основных способа соединений компьютеров в сети, это проводное соединение и беспроводное соединение. В данном разделе будут описаны приведенные способы соединений компьютеров в сети, а также будут рассмотрены технологии, которые используются при каждом из методов соединения.
1.2.1 Проводные сети
Сети, в которых используются проводной способ соединения машин называются проводными сетям. В данном случае компьютеры соединяются между собой физическими проводами - кабелями и используют различные топологии.
Коаксиальный кабель [2] - это кабель, состоящий из несимметричных пар проводников. Существует несколько разновидностей коаксиального кабеля, которые имеют свои характеристики и назначение, а именно коаксиальный кабель для локальных сетей, глобальных сетей и для телевидения. Данный кабель считается устаревшим, так как он был очень ненадежным и мог повредиться, если на него случайно чем-либо надавить. На рисунке 3 ниже показана структура коаксиального кабеля.
Рис. 3. Коаксиальный кабель
Коаксиальный кабель в основном использовался при использовании топологии «шина». На сегодняшний день используют витую пару и оптоволоконные кабели.
Витая пара [2] - это скрученная пара проводов. Провода скручиваются для того чтобы уменьшить влияние внешних и взаимных помех на полезные сигналы, которые передаются по кабелю. Существует экранированная и неэкранированная витая пара.
На рисунке 4 показана структура витой пары.
Рис. 4. Витая пара. Слева неэкранированная, справа экранированная.
Оптоволоконный кабель [2] - это кабель, состоящий из гибких стеклянных волокон, по которым распространяются световые сигналы. Считается, что данный тип кабеля наиболее качественный и обеспечивает очень высокую передачу данных, а также лучше, чем остальные кабели обеспечивает защиту от помех.
На рисунке 5 показана структура оптоволоконного кабеля.
Рис. 5. Оптоволоконный кабель
Технология Ethernet.
Ethernet - проводная технология построения проводных соединений, вытеснившая технологии Token ring и FDDI. Технология Ethernet определяет канальный уровень сетевой модели OSI/ISO и определяется стандартами 802.3. Однако у технологии Ethernet есть свои преимущества и недостатки.
Преимущества:
- низкая стоимость построения сети;
- развивающаяся технология;
- распространенное решение;
- широкий спектр поддерживающих устройств.
Недостатки:
- наличие помех, коллизий;
- непредсказуемые задержки при загруженности сети.
1.2.2 Беспроводные сети
Технология Bluetooth [3]
Одним из простейших способов беспроводной связи между двух устройств является использование технологии Bluetooth. Из дополнительного оборудования для реализации связи по технологии Bluetooth требуется только Bluetooth-адаптер, причем для многих устройств наличие Bluetooth-адаптера является стандартом. Технология Bluetooth определяется стандартом 802.15.1.
Преимущества:
- универсальность;
- простота;
- развитие Bluetooth c низким энергопотреблением;
- низкая стоимость;
- отсутствие проводов.
Недостатки:
- низкий уровень безопасности;
- возможные проблемы совместимости.
Технология Wi-Fi [3]
WiFi беспроводная технология передачи данных и обеспечения связи с использованием радиоканалов. Устройство, именуемое точкой доступа, создает зону доступа Wi-Fi, находясь в которой устройства, поддерживающие Wi-Fi технологию могут обмениваться данными через данную точку доступа. Технология Wi-Fi определяется стандартами 802.11.
Преимущества:
- отсутствие проводов;
- высокая пропускная способность передачи данных;
- низкая стоимость.
Недостатки:
- большое число помех на частоте 2, 4 ГГц;
- уменьшение зоны покрытия из-за особенностей помещения;
- средний уровень энергопотребления.
Технология ZigBee [3]
ZigBee - прямой конкурент энергоэффективного Bluetooth. Технология ZigBee определяется стандартом 802.15.4. В технологии используется построение ячеистой(Mesh) структуры.
Преимущества:
- низкое энергопотребление;
- возможность работы в диапазонах ниже 1 ГГц.
Недостатки:
- сложная структура сети(Mesh);
- низкая пропускная способность передачи данных.
Технология 4G LTE [4]
LTE - четвертое поколение (4g) мобильной связи, отличительной чертой которого является высокая пропускная способность передачи данных.
Преимущества:
- высокая пропускная способность.
Недостатки:
- относительно низкое развитие инфраструктуры;
- высокий уровень потребления энергии.
Сравнение беспроводных технологий
Программно-аппаратный модуль сбора данных будет разработан в беспроводной сенсорной сети, поэтому необходимо выбрать беспроводную технологию, на которой будет основана данная разработка. Критерии для сравнения технологий будут следующими:
- частотный диапазон;
- пропускная способность;
- дальность;
- потребляемая мощность;
- рабочий диапазон температур;
- распространенность;
- стоимость реализации.
В таблице 1 показано сравнение беспроводных технологий по перечисленным выше критериям.
Таблица 1. Сравнение беспроводных технологий
Критерий/Платформа |
Bluetooth |
Wi-Fi |
ZigBee |
4G LTE |
|
Частотный диапазон, ГГц |
2, 4 - 2, 483 |
2, 4 - 2, 5 или 5, 0 |
2, 4 - 2, 483 |
0, 7 - 2, 7 |
|
Пропускная способность, Кбит/с |
723, 1 |
802.11a/g -54000 802.11b - 11000 802.11n - до 600000 |
250 |
(2x2 MIMO) 173 000 / 56 000 /21 625 / 7000 (4x4 MIMO) 326 000 / 86 000 /40 750 / 10 750 |
|
Дальность, м |
10/100 |
до 300 |
до 100 |
30000 |
|
Потребляемая мощность, мВт |
1 - 2, 5 |
50 - 100 |
1 |
2500 |
|
Рабочий диапазон температур, С |
-40..+105 |
-40..+90 |
-40..+85 |
-40..+85 |
|
Распространенность |
высокая |
высокая |
средняя |
средняя |
|
Стоимость реализации, $. |
4+10(MCU) |
4 |
25 |
405 |
Для разработки программно-аппаратного модуля сбора данных в беспроводной сенсорной сети будет выбрана беспроводная технология передачи данных Wi-Fi. Стоимость модулей Wi-Fi очень низкая. Данная технология очень распространена на сегодняшний день и с её помощью достаточно просто реализовать необходимый программно-аппаратный модуль.
Глава 2. Выбор методов сбора данных для разработки программно-аппаратного модуля
2.1 Обзор облачных платформ
IBM Bluemix
IBM Bluemix [5] - это облачная платформа, предоставляющая различные услуги для разработки и развертывания мобильных, интеграционных приложений, а также web- приложений.
IBM Bluemix является открытой платформой с расширенной пробной версией и имеет ряд преимуществ:
1. поддерживаются многие языки программирования;
2. имеется выбор способа среды исполнения кода;
3. имеется встроенная поддержка полного цикла разработки приложения;
4. имеется большое количество сервисов;
Также имеется возможность push-уведомлений.
Microsoft Azure IoT Suite
Microsoft Azure IoT Suite [6] - это облачный сервис разработки решений для интернета вещей, предоставляемый компанией Microsoft и основывающийся на службе «Центр IoT Azure». Так же, как и IBM Bluemix обладает широким спектром возможностей, поддерживает большое количество языков программирования и др. Так же этот сервис обладает хорошей масштабируемостью и имеет предварительно настроенные решения для быстрого начала работы с ней, если это требуется. Однако, данный сервис не является полностью бесплатным. Есть как пробная версия использования, цель которой дать пользователю попробовать работу в этом сервисе. В пробной версии можно оперировать только маленьким объемом данных. Другие версии использования, оперирующие большим объемом данных платные, что можно считать минусом этого сервиса. Наиболее расширенная версия составляет 312 500 рублей за месяц и позволяет 300 000 000 сообщений в день.
Cisco IOx
Cisco IOx [7] - это реализация облачного вычисления компанией Cisco. Это достаточно гибкая платформа с множеством возможностей, которых нет в Microsoft Azure IoT Suite и IBM Bluemix, а именно только Cisco имеет возможность использовать сетевые устройства для работы: коммутаторы, маршрутизаторы своего производства. Также IOx позволяет разработчикам приложений работать со средой Linux.
IOx обеспечивает поддержку на самых разных устройствах, работающих на периферии сети с возможностью размещения приложений и услуг, соединяя их безопасно и надежно к приложениям в облаке. Применение охватывает все аспекты жизненного цикла приложений, включая разработку, распространение, внедрение, хостинг, мониторинг и управление.
PTC ThingWorx
ThingWorx [8] - это облачная платформа для интернета вещей компании PTC. Данная платформа позволяет создавать новые виджеты, или использовать уже имеющиеся для разработки новых приложений. Так же, как и платформа IBM Bluemix поддерживает многие языки программирования. Имеется пробная версия на 30 дней. Остальные характеристики платформы приведены в таблице 2.
В таблице 2 показаны технические характеристики, которыми обладают рассматриваемые платформы [8].
Таблица 2. Технические характеристики облачных платформ
Критерий/Платформа |
IBM Bluemix |
Microsoft Azure IoT Suite |
Cisco IOx |
ThingWorx |
|
Собственный или открытый код |
собственный, в основе лежит открытый код |
собственный |
собственный |
собственный |
|
Поддерживаемые протоколы |
* HTTP * MQTT * MQTT over WebSockets |
* AMQP * AMQP over WebSockets * MQTT * HTTP/1 |
* HTTP * MQTT * CoAP |
* HTTP * MQTT * RabbitMQ |
|
Поддерживаемый формат данных |
JSON |
JSON |
JSON |
Not specified |
|
Транспортная безопасность |
TLS |
TLS |
TLS |
TLS |
|
Способ аутентификации |
* API Key and authentication token; * User defined token |
* Token based Authentication; *X.509 certificates |
*X.509 certificates; *RFID; *shared secret |
* Application Key |
2.2 Выбор платформы
Опираясь на проведенный выше обзор платформу необходимо решить какую платформу использовать в рамках данной работы. Для того чтобы выбрать наилучшую платформу необходимо сравнить описанные выше четыре облачные платформы разных компаний. Для сравнения платформ выделены следующие критерии [8]:
- наличие пробной версии;
- поддержка протокола MQTT;
- визуализация данных;
- наличие GUI интерфейса;
- наличие интегрированной среды разработки;
- наличие средств анализа данных;
- наличие хранилища;
- мониторинг;
- поддержка.
В таблице 3 показано сравнение платформ по выделенным критериям.
Таблица 3. Сравнение облачных платформ
Критерий/Платформа |
IBM Bluemix |
Microsoft Azure IoT Suite |
Cisco IOx |
ThingWorx |
|
Пробная версия |
+ |
+ |
+ |
+ |
|
Поддержка протокола MQTT |
+ |
+ |
+ |
+ |
|
Визуализация данных |
+ |
+ |
+ |
+ |
|
GUI интерфейс |
+ |
+ |
+ |
+ |
|
Интегрированная среда разработки |
+ |
- |
- |
- |
|
Средства анализа данных |
+ |
+ |
+ |
+ |
|
Хранилище |
+ |
+ |
+ |
+ |
|
Мониторинг |
+ |
+ |
+ |
+ |
|
Поддержка |
+ |
+ |
+ |
+ |
Для разрабатываемого программно-аппаратного модуля выбрана облачная платформа IBM Bluemix, так как данная платформа полностью отвечает всем заявленным критериям.
2.3 Требования к программно-аппаратному модулю
К разрабатываемому программно-аппаратному модулю будут предъявлены следующие требования:
- аппаратная часть модуля должна иметь компактный размер;
- аппаратная часть модуля должна иметь широкий диапазон температур;
- аппаратная часть модуля должна поддерживать технологии Wi - Fi;
- аппаратная часть модуля должна поддерживать протоколы 802.11 b//g/n;
- аппаратная часть модуля должна собирать и отправлять полученные данные на облачный сервер;
- программная часть модуля должна получать собранные данные от аппаратной части;
- программная часть модуля должна анализировать собранные данные от аппаратной части;
- программная часть модуля должна визуализировать собранные данные от аппаратной части.
- программная часть модуля должна хранить собранные данные от аппаратной части в базе данных.
Глава 3. Теоретическая часть
3.1 Алгоритм взаимодействие модуля с облачной платформой
Архитектура
Модуль подключается к шлюзу или напрямую к датчику в случае, если это единственный датчик. Модуль подключается к сети интернет, используя подключение Wi-Fi к существующим точкам доступа. Используя протокол MQTT (Рис. 7), собранные данные передаются на сервера Bluemix, где данные сохраняются в Cloadant NoSQL DB. Собранные данные анализируются и визуализируются в виде графиков. При выходе за приделы допустимого интервала значений происходит оповещение посредством электронной почты и SMS, используя сервис Twilio (Рис. 6).
Рис. 6. Схема системы
Рис. 7. Протокол MQTT
MQTT (Message Queue Telemetry Transport) - компактный протокол обмена данных, отличительной чертой которого является лёгкость и открытость, следственно может использоваться при низкой пропускной способности канала, что позволяет использовать его в M2M (Межмашинное взаимодействие) и IoT (Интернет вещей).
Протокол Message Queue Telemetry Transport работает над TCP/IP на порту 1883 либо 8883 порт для использования Message Queue Telemetry Transport через SSL (Рис.8).
Рис. 8. Расположение протокола MQTT в модели OSI
Message Queue Telemetry Transport протокол работает по принципу издатель-подписчик (Рис. 9).
Рис. 9. Принцип работы MQTT
Отличительные черты протокола MQTT:
- Компактность передаваемых сообщений;
- возможность работы при низкой пропускной способности сети;
- поддержка QoS;
- Простая масштабируемость.
3.2 Разработка устройства
Для отправки данных на облако был выбран Wi-Fi модуль с MCU ESP-201 серии ESP8266. ESP-201 серии ESP8266 работает без дополнительного МК благодаря входящему в состав микросхемы ESP8266EX микроконтроллеру класса 8051 и наличию 80 Кб ОЗУ DRAM и высокоскоростной памяти IRAM. [9] Имеется как встроенная антенна, так и гнездо для подключения внешней антенны (Рис. 10).
Рис. 10. Внешняя антенна для диапазона 2, 4 ГГц
Для подключения к компьютеру будет использоваться конвертер USB-TTL. В качестве датчика для первичного тестирования будет использоваться ультразвуковой дальномер HC-SR04 (Рис.11).
Рис. 11. Ультразвуковой дальномер HC-SR04
Так как в короткие сроки не удалось приобрести блок питания для макетной платы, который способен выдавать как 5V так и 3, 3V, так как ультразвуковой дальномер HC-SR04 требует питания 5V, а Wi-Fi модуль ESP-201 серии ESP8266 не толерантен к питанию 5V (требует 3, 3V, а при превышении питания 3, 6V уже сгорает) [10], будет использоваться внешний аккумулятор Экспедиция Hoox Infinity 7800 mAh, а для питания Wi-Fi модуля ESP-201 серии ESP8266 будет использован преобразователь RP022 5V->3, 3V.
3.2.1 Разработка схемы электрической структурной
Так как многие датчики питаются от 5V, а ESP-201 серии ESP8266 не может питаться от сети более 3, 6V [10]. Поэтому ESP-201 серии ESP8266 будет питаться от аккумулятора 5V через конвертер 5V-3, 3V. Для прошивки и сбора отладчной информации используется USB-TTL. Связь модуля с сервером IBM Bluemix обеспечивается через Wi-fi. Структурная схема представлена в приложении Б.
3.2.2 Выбор Wi-Fi модуля
ESP8266 - микроконтроллер, представленный компанией Espressif, поддерживающий Wi-Fi. Важными преимуществами является малый размер, низкая цена и широкий выбор из модификаций начиная от ESP-01 серии ESP8266 (Рис. 12), имеющий минимальный размер и самые необходимые выведенные порты и встроенную антенну, до ESP-201 серии ESP-8266 (Рис. 13) имеющий кроме встроенной антенны, гнездо для установки внешней антенны, и все возможные выведенные порты.
Рис. 12. ESP-01 серии ESP8266
Рис. 13. ESP-201 серии ESP8266
Модуль EMW3165 (Рис. 14), представленный компанией Seeed Studio, является конкурентным решением ESP8266. На EMW3165 устанавливается микроконтроллер STM32F4 с ядром ARM Coretex M4, который работает на частоте более 99 МГц (у ESP8266 только до 80 МГц) [11]. Однако в результате данный модуль стал иметь больший размер и цену.
Рис. 14. Модуль EMW3165
В данной работе для разработки программно-аппаратного модуля сбора данных будет взят за основу Wi-Fi модуль ESP-201 серии ESP826. В таблице 4 представлены технические характеристики Wi-Fi модулей ESP-201 серии ESP8266 и EMW3165.
Таблица 4. Технические характеристики Wi-Fi модулей ESP-201 серии ESP8266 и EMW3165
Характеристики |
ESP-201 серии ESP8266 |
EMW3165 |
|
Процессор, МГц |
Tensilica L106 32-bit, 80 |
Cortex-M4, 100 |
|
Wi-Fi |
802.11b/g/n |
802.11b/g/n |
|
Поддерживаемое шифрование |
WEP, WPA, WPA2 |
WEP, WPA, WPA2 |
|
Напряжение питания, В |
2...3, 6 |
3...3, 6 |
|
Потребляемый ток, мА |
до 215 |
До 320 |
|
GPIO |
16 |
22 |
|
Интерфейсы |
UART, I2C, SPI, PWM |
JTAG, SWD |
|
Встроенная антенна |
да |
да |
|
Внешняя антенна |
да |
да |
|
Flash память, Мб |
до 4 |
до 2 |
|
RAM данных, Кб |
80 |
128 |
|
RAM инструкций, Кб |
64 |
64 |
|
Стоимость, $ |
4 |
9 |
Глава 4. Экспериментальная часть
4.1 Изготовление макета устройства
Рис. 15. Схема аппаратной части
GPIO0 заземляется только для ввода модуля в режим прошивки и при нормальной работе заземление с него убирается. GPIO15 связан с LED'ом модуля поэтому его рекомендуется заземлять через резистор 10 КОм. RST через тактовую кнопку соединяется с землей, таким образом при нажатии на кнопку модуль будет перезагружен, таким образом заземляя GPIO0 и убирая заземление, нажимая тактовую кнопку можно переводить модуль из режима прошивки в нормальный режим работы.
Рис. 16. Собранный макет
Собранный модуль (Рис.16) Подключается к компьютеру через USB-TTL конвертер для отображение отладочной информации через монитор порта (Рис.17). Первые артефакты объясняются отладочной информацией отсылаемым модулем на иной частоте, затем идет сообщение о попытке подключения к точке доступа с именем Keenetic-3929. Точками показывается ожидание подключения. На следующей строке идет подтверждение подключения и полученный IP адрес. После этого происходит подключение к брокеру предоставляемым платформой IBM Bluemix. После чего отправляется сообщение брокеру с нагрузкой в виде расстояния измеренного ультразвуковым дальномером HC-SR04.
Рис. 17. Монитор порта
4.2 Создание основы приложения
Для начала надо написать основное предложение, которое будет реализовывать простейшее получение данных, с последующим выводом результата в окно отладки
На платформе IBM Bluemix нужно добавить описание устройства, в данном случае модуля (Рис. 18).
Рис. 18. Пустой диспетчер устройств
При добавлении устройства необходимо указать тип устройства, но так как его еще нету, необходимо его сначала создать (Рис. 19).
Рис..19. Указание типа устройства
Далее надо выбрать созданный тип устройства (Рис. 20).
Рис. 20. Созданный тип устройства
Далее нужно указать некоторые параметры такие как ID и Serial Number (Рис. 21).
Рис. 21. Задание параметров
Далее нужно выбрать автоматическое получение ключа Token. Token - это ключ безопасности, используется для подключения устройства к облаку, однако он не восстанавливается, и если произошла его утеря, то придется заново пересоздавать устройство в диспетчере устройств (Рис. 22).
Рис. 22. Выбор ключа Token
Далее должно быть получено подтверждение параметров (Рис.23).
Рис. 23. Подтверждение параметров
На рисунке 24 показано, что устройство создано. Для обеспечения безопасности Token закрыт.
Рис. 24. Устройство создано
На рисунках 25 и 26 показан созданный модуль в диспетчере устройств. На рисунке 25 он еще не подключен к облаку, на рисунке 26 - подключен.
Рис. 25. Модуль не подключен к облаку
Рис. 26. Модуль подключен к облаку
Далее для создания приложения необходимо на платформе выбрать internet of things platform starter. (Рис. 27)
Рис. 27. Выбор приложения
Окно создания приложения с параметрами (Рис. 28).
Рис. 28. Создание приложения
Приложение создано с подключенными сервисами (Рис. 29).
Рис. 29.Приложение создано
В результате создания приложения была написана простейшая программа в среде node-red, которая будет выводить полученные сообщения с модуля в окно отладки (Рис. 30).
Рис. 30. Простейшее приложение
На рисунках. 31 и 32 показаны параметры узла IBM и окно отладки.
Рис. 31. Параметры IBM IoT App in
Рис. 32. Окно отладки
Таким образом, можно заключить в том, что программа функционирует нормально и выполняет возложенную на себя функцию - сбор данных с модуля. Дальше необходимо расширить функционал программы:
- Добавление собранных данных в базу данных;
- Уведомление превышении максимального значения по email;
- Уведомление превышении максимального значения по sms;
- Уведомление о значении менее минимального по email;
- Уведомление о значении менее минимального по sms;
- Визуализация собранных данных используя средства IBM Bluemix.
4.3 Внесение собираемых данных в базу
Собранные данные необходимо хранить в базе данных. IBM Bluemix предлагает широкий выбор баз данных: Cloudant NoSQL, Mongo, MySQL, PostgreSQL, ReThinkDB. ScyllaDB. (Рис. 33)
Рис. 33. Предлагаемые сервисы для работы с данными
Для решения наших задач будем использовать Cloudant NoSQL DB, так как IBM предоставляет бесплатный тариф для работы с данным сервисом (Рис. 34.)
Рис. 34. Тариф Lite Cloudant NoSQL BD
Cloudant NoSQL DB -услуга баз данных для современных web- и мобильных приложений работающих по JSON схеме. Cloudant является надстройкой Apache Couch DB и обеспечивает доступ через безопасный HTTPS API и масштабирование по мере необходимости.
После добавления Cloudant NoSQL DB и последующего добавления базы collection для хранения собранных данных, необходимо перейти по адресу https://collection-module.mybluemix.net по которому мы получим доступ к ранее созданному приложению и добавим запись собранных данных в ранее созданную базу collection. И опишем добавление записи в базу данных (Рис. 35)
Рис. 35. Блок записи получаемых данных в базу данных
Узел IBM IoT - представляет получение данных от модуля. Затем сообщение передается блоку dToPayload, в котором информация из блока данных переносится в нагрузку (это требуется для последующего узла) (Рис. 36).
Рис. 36. Блок dToPayload
Узел dToPayload передает сообщение в узел collection который сохраняет нагрузку сообщения в базу данных collection (Рис. 37 - 38).
Рис. 37. Панель Cloadant NoSQL DB
Рис. 38. Внесенные данные в базу
4.4 SMS/e-mail уведомления
IBM Bluemix предоставляет возможность отправки уведомдений по электронной почте и/или по SMS. Для этого нужно модифицировать схему программы (Рис.39).
Рис. 39. Схема для отправки уведомлений
Узел IBM IoT передает получаемое сообщение узлу switch, который следуя из названия отвечает за разделение. В данном случае рассматривается два случая:
- нарушение допустимого интервала ниже минимального;
- нарушение допустимого интервала выше максимального.
В случае нарушения допустимого интервала узел switch передает полученное сообщение одной из двух пар узлов «CreateMessage» и «Create Text», которые обеспечивают необходимую предварительную модификацию сообщения для последующих узлов (Рис. 40. и Рис. 41.).
Рис. 40. Параметры узла «CreateMessage»
Рис. 41. Параметры узла «Create Text»
Затем был установлен узел ограничения отправки сообщения до 1 сообщения каждого типа в минуту. После чего сформированные сообщения передаются узлам отправки SMS/ e-mail. Отправка e-mail сообщений осуществляется по протоколу SMTP. Настройки узла представлены на рисунке 42.
Рис. 42. Параметры узла отправки e-mail сообщения
Рис. 43. Полученное e-mail сообщение
Отправку sms IBM Bluemix предоставляет через сторонний сервис Twilio. При регистрации в котором необходимо внести в приложение SID и токен аккаунта Twilio, а также предоставляемый номер для отправки сообщений (Рис. 43).
Рис. 44. Внесение в приложение параметров аккаунта twilio
Бесплатную отправку SMS twilio предоставляет на один подтвержденный номер, также текст сообщения обязательно должен быть написан латиницей. После внесение параметров аккаунта twilio нужно также настроить узел twilio. (Рис. 45 - 46)
Рис. 45. Настройка узла twilio
Рис. 46. Полученные SMS через сервис twilio
4.4 Построение графиков собранных данных
IBM Bluemix предоставляет простой инструмент для формирования различных графиков на основе собранных данных. Визуализация выполняется добавлением карточек на панель IBM Bluemix, при создании которой необходимо выбрать данные для визуализации и тип графика ля построения (Рис. 47.)
Рис. 47. Параметры карточки визуализации
IBM Bluemix позволяет визуализировать данные с помощью линейчатых, круговых диаграмм, графиков, таблиц и шкалы (Рис. 48).
Рис. 48. Визуализация собираемых данных
4.5 Тестирование
Цель эксперимента: организовать сбор данных с ультразвукового дальномера HC-SR04, сохранение собранных данных в базу данных на сервере IBM Bluemix, построение графика на основе полученных данных, оповещение по электронной почте/SMS о выходе за предел допустимых значений.
Требования:
- получение данных от датчика модулем
- отправление данных на сервер IBM Bluemix;
- данные доступны для просмотра через «облачный» сервис;
- происходит оповещение SMS/Email.
Базовый тест
Отправление данных на Сервер IBM Bluemix (Рис. 49):
Рис. 49. Вывод в окно отладки полученные сообщения серверу IBM Bluemix
В программе установлены узлы Debug, которые выводят в окно отладки получаемые сообщения от модуля, таким образом можно убедиться в успешном получении данных сервером.
Визуализация собранных данных (Рис. 50):
Рис. 50. Собранные данные доступны для просмотра через «облачный» сервис в виде графика
Рис. 51. Собранные данные внесены в базу данных
Облачная программа заносит собираемые данные в базу данных. Таким образом доступен просмотр данных через облачный сервис в виде таблицы. Так же ведется построение графика собираемых данных в реальном времени (Рис. 51).
Отправка SMS/email (Рис. 53):
Рис. 52. E-mail оповещение
Рис. 53. Смс оповещение
Отправка сообщений производится при выходе за границу допустимого интервала. Таким образом, установив допустимый интервал 3...30 см, и, измеряя значения вне этого диапазона, будут отправляться уведомления посредством электронной почты и смс.
Обязательное оборудование
Таблица 5. Обязательное оборудование
Наименование |
Количество |
|
Конвертер 5V-3, 3V |
1 шт. |
|
Резистор 10 кОм |
1 шт. |
|
Макетная плата |
1 шт. |
|
Внешний аккумулятор 10000 mAh |
1шт. |
|
USB 2.0 |
1 шт. |
|
Соединительные провода мама-мама 20см |
20 шт. |
|
Соединительные провода мама-папа 10см |
20 шт. |
|
ESP201 серии ESP8266 |
1 шт. |
|
USB-TTL конвертер |
1 шт. |
|
Кнопка тактовая |
1шт. |
|
Ультразвуковой дальномер HC-SR04 |
1шт. |
|
Персональный компьютер с USB 2.0 |
1 шт. |
Заключение
В ходе выпускной квалификационной работы был разработан программно-аппаратный модуль сбора данных в беспроводной сенсорной сети. Были решены следующие поставленные задачи:
1. Проведен обзор и анализ существующих технических решений;
2. Проведено исследование способов решения и определение наилучшего способа для разработки программно-аппаратного модуля сбора данных;
3. Разработан программно-аппаратный модуль сбора данных;
4. Произведено тестирование программно-аппаратного модуля сбора данных.
Данный модуль разрабатывался двумя студентами Коробовым С.Е. и Соломатиной Т.А.
Соломатина Т.А. выполнила написание задания по аппаратной части программно-аппаратного модуля сбора данных, провела обзор и анализ существующих решений, спроектировала аппаратную часть, написала прошивку для модуля, обеспечила отправку собираемых данных на сервер IBM Bluemix.
Коробов С.Е. выполнил написание задание по программной части программно-аппаратного модуля сбора данных, произвел обзор и анализ платформ, спроектировал программную часть программно-аппаратного модуля сбора данных и обеспечил принятие отправляемых данных от аппаратной части. Обеспечил сохранение собираемых данных в базу данных, визуализацию собираемых данных, оповещение по email/SMS.
В результате было проведено совместное тестирование аппаратной и программной частей программно-аппаратного модуля.
Теоретическая и практическая значимости заключаются в разработке программно-аппаратного модуля сбора данных в беспроводной сенсорной сети. Данная разработка позволяет упростить сбор и анализ данных, а также позволяет улучшить качество сервисов путем визуализации собранных данных.
Разработанный программно-аппаратный модуль способен:
- собирать данные;
- анализировать собранные данные на облачном сервере;
- визуализировать собранные данные на облачном сервере;
- сохранять собранные данные в базу данных на облачном сервере.
Данный программно-аппаратный модуль может применяться в различных сферах деятельности человека, так как сбор данных есть ничто иное как мониторинг. Мониторинг применяется в таких сферах как логистика, экология, медицина и прочее. Данный модуль может использоваться как людьми со слабыми знаниями сетей, так как не требуется настраивать соединение между модулем и облаком, так и более квалифицированными людьми для макетирования, чтобы была возможность сосредоточиться на более важных задачах.
Задачи мониторинга еще долго не потеряют своей актуальности, так как мониторинг является неотъемлемой частью управления, и с ростом автоматизации потребность в мониторинге только растет. В будущем модуль может быть расширен платой GSM, для обеспечения связи даже вне зон действия Wi-Fi, а также будет улучшена энергоэффективность модуля и расширен набор поддерживаемых интерфейсов.
Список литературы
1. Сергиевский М.В., Сыроежкин С.Н. Использование беспроводных сенсорных сетей для сбора, передачи и обработки информации в системах мониторинга состояния объектов [статья] // Cloud of science. 2016. №1 С.125-136.
2. Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы. [книга] 4-е изд. СПб: Питер, 2001.
3. Агафонов Н. Технологии беспроводной передачи данных ZigBee, BlueTooth, Wi-Fi [статья]//Беспроводные технологии. - 2006. - №. 2.
4. Технология LTE. URL: http://urfotech.ru/lte/ (Дата обращения: 30.04.2017 г.).
5. IBM Academic Initiative for Cloud. URL: http://www.rea.ru/ru/org/managements/IBM-Razumnaya-kommerciya/Documents/AI%20Cloud%20-%20Bluemix%20-%20%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_final.pdf (Дата обращения 10.03.2017 г.)
6. Документация по IoT Suite. URL: https://azure.microsoft.com/ru-ru/documentation/suites/iot-suite/ (Дата обращения 10.03.2017 г.)
7. Cisco IOx Application Environment. URL:http://www.cisco.com/c/dam/en/us/products/collateral/cloud-systems-management/iox/at-a-glance-c45-737316.pdf (Дата обращения 10.03.2017 г.)
8. Kumar P. Internet of Things (IoT) development platforms-A case of IBM Bluemix: дис. - Masterarbeit, Koblenz, Universitдt Koblenz-Landau, Campus Koblenz, 2016.
9. Arduino-kit ESP-201. URL: http://arduino-kit.ru/catalog/id/modul-wi-fi-esp-201-serii-esp8266-s-antennoy (Дата обращения: 13.04.2017 г.).
10. Absolute maximum VCC for ESP. URL: http://bbs.espressif.com/viewtopic.php?f=6&t=657 (Дата обращения: 13.04.2017 г.).
11. EMW3165 - новый дешевый WiFi модуль. URL: http://digitrode.ru/computing-devices/mcu_cpu/285-emw3165-novyy-deshevyy-wifi-modul-kotoryy-mozhet-stat-ubiycey-esp8266.html (Дата обращения: 30.04.2017 г.).
Приложения
Приложение А
Код прошивки модуля
Приложение Б
Схема электрическая структурная
Размещено на Allbest.ru
Подобные документы
Разработка программно-аппаратного модуля, предназначающегося для сбора и анализа собранных данных в беспроводной сенсорной сети. Изготовление макета устройства. Внесение собираемых данных в базу. Расположение протокола MQTT в модели OSI приложения.
дипломная работа [3,9 M], добавлен 18.11.2017Основные понятия Proxy-сервера. Принцип сочетания централизации и децентрализации. Выбор протокола для почтового сервера. Синтез глобальных приоритетов. Описание входных и выходных данных. Основные свойства программного продукта, его назначение.
дипломная работа [1,0 M], добавлен 27.06.2012Беспроводные и проводные системы передачи данных. Методы обеспечения безошибочности передачи данных в сетях. Оценка зависимости показателей эффективности. Снижение вероятности появления ошибки сбора данных в соответствии с предъявленными требованиями.
дипломная работа [309,0 K], добавлен 14.10.2014Идентификация и аутентификация пользователей в системах защиты информации. Порядок установки программно-аппаратного комплекса аккорд. Регистрация администратора безопасности информации. Установка платы контроллера. Подсоединение контактного устройства.
курсовая работа [31,9 K], добавлен 15.03.2016Особенности информационных технологий - совокупности методов и средств реализации операций сбора, регистрации, передачи, накопления и обработки информации на базе программно-аппаратного обеспечения для решения управленческих задач экономического объекта.
контрольная работа [28,4 K], добавлен 05.04.2010Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Порядок сбора данных с помощью программного обеспечения "ПРОЛОГ". Языки программирования VBA и HTML, их характерные особенности. Web-сервера Apache, принцип работы серверной системы. Реализация сбора данных и разработка сайта с показаниями приборов.
дипломная работа [4,4 M], добавлен 24.09.2014Технологии высокоскоростной передачи данных в локальных сетях. Расчет информационных потоков. Выбор сетевых стандартов. Разработка структуры сети, схемы прокладки кабелей. Выбор аппаратного и программного обеспечения. Разработка системы защиты информации.
дипломная работа [555,3 K], добавлен 19.01.2017Типы беспроводной связи. Выбор технологии как основная проблема для пользователя, решившего применить беспроводные решения. Подходы к классификации беспроводных технологий. Индивидуально настраиваемая скорость передачи данных. Параллельная работа сетей.
реферат [643,5 K], добавлен 11.04.2016Методика и основные этапы разработки концептуальной модели и базовой архитектуры программно-аппаратного комплекса. Выбор программно-аппаратной платформы и среды. Обеспечение интуитивно-понятного пользовательского интерфейса. Создание системы управления.
курсовая работа [916,7 K], добавлен 06.12.2012