Введение 4
1. Обзор предметной области 5
1.1. Возможные подходы к сбору данных 5
1.1.1. «Датчик-шлюз» 5
1.1.2. «Несколько мощных шлюзов-сборщиков» 6
1.1.3. «Mesh-сеть» 7
1.1.4. «Нестационарный агрегатор» 8
1.2. Решения для построения систем сбора данных 9
1.2.1. Open Data Kit Sensors 10
1.2.2. Carriots 10
1.2.3. ThingSpeak 11
2. Постановка задачи 12
3. Описание инструментария 13
3.1. Программная платформа для фреймворка 13
4. Проектирование фреймворка 15
4.1. Функциональность и требования 15
4.2. Компоненты 16
4.3. Система сообщений 17
5. Реализация 19
6. Апробация 22
6.1. Реализация прототипа на основе разработанного фреймворка 22
6.1.1. Аппаратная часть 23
6.1.2. Программная часть 25
Заключение 27
Список литературы 28
Сегодня названия «умный браслет», «умные часы», «умный дом» встречаются очень часто. Как правило, любая «умная» вещь имеет возможность подключения к сети Интернет[3]. Отсюда и появился термин «Интернет вещей». Этот термин скрывает за собой весьма популярную на сегодняшний день концепцию, заключающуюся в том, что в современном мире использование сети Интернет для обмена информацией стало возможным и даже необходимым не только для полноценных компьютеров, а для любых устройств, будь то автомобиль или бытовая техника. Эти «умные» устройства служат как для повышения комфорта жизни людей (интеллектуальное управление климатом в доме, освещением в доме и на садовом участке), так и для выполнения сложной интеллектуальной работы (например, анализ состояния экологии).
Одним из важных процессов в концепции Интернета вещей является сбор данных о каких-либо событиях или окружающей среде. Например, сбор и правильный анализ данных о влажности и температуре с полей может помочь в планировании и организации посадки овощей или других растений.
Рассмотрим пример более подробно: допустим, есть необходимость собирать данные об интенсивности солнечного света внутри большого парника с овощами. Тогда придётся установить некоторое, возможно, большое количество датчиков и организовать сбор информации с них (а точнее, сбор с дальнейшей отправкой на сервер для анализа). В данном случае нет необходимости получать данные в режиме реального времени - достаточно получать данные с некоторой периодичностью или по расписанию. Именно этот случай будет рассматриваться в данной работе. Также есть несколько принципиально разных подходов к сбору данных[8], т.к парник может, например, находиться в зоне Wi-Fi или наоборот может находиться далеко от цивилизации даже вне зоны покрытия[12] сети GSM. В работе будут более подробно рассмотрены эти подходы и возможность их использования для периодического сбора данных.
В рамках данной бакалаврской работы были достигнуты следующие результаты:
• Рассмотрены возможные подходы к сбору данных с датчиков
• Проведен обзор инструментов для построения систем сбора данных нестационарным агрегатором и выявлены недостатки этих инструментов
• Сформированы требования к функциональности и архитектуре разрабатываемого фреймворка
• Проработана архитектура фреймворка
• Выбрана программная платформа в качестве основы для фреймворка
• Реализован фреймворк на выбранной платформе, удовлетворяющий сформированным требованиям
• Построен аппаратный прототип, использующий разработанный фреймворк
• Проведены тесты
Разработанный фреймворк исправляет обнаруженные недостатки (с точки зрения сбора нестационарным агрегатором) у существующих решений и может служить как для создания систем сбора данных с нуля, так и для адаптации существующих решений к сбору нестационарным агрегатором.
[1] AT COMMANDS.— URL: https://halckemy.s3.amazonaws.com/uploads/document/file/94325/FE85NGOIH90OKGT.pdf (online; accessed: 02.02.2016).
[2] Abd Elwahab Boualouache Omar Nouali Samira Moussaoui, Derder Abdessamed. A BLE-based data collection system for IoT // New Technologies of Information and Communication (NTIC), 2015 First International Conference on New Technologies of Information and Communication. — 2015.
[3] Balani Naveen. Enterprise IoT - A Definite Handbook / Ed. by Rajeev Hathi. — 2015.
[4] Bolutek BLE-CC41-a SPECIFICATION.- URL: http://img.banggood.com/file/products/20150104013145BLE-CC41-A7o20Spefication.pdf (online; accessed: 02.02.2016).
[5] Carriots - Internet of Things Platform.— URL: https://www.carriots.com/ (online; accessed: 08.03.2016).
[6] HC-SR04 User Guide.— URL: http://elecfreaks.com/estore/download/EF03085-HC-SR04_Ultrasonic_Module_User_Guide.pdf(online; accessed: 01.02.2016).
[7] Internet of Things Platforms - Postscapes.— URL: http://postscapes.com/internet-of-things-platforms/ (online; accessed: 04.02.2016).
[8] J. Cecilio P. Furtado. Wireless Sensors in Heterogeneous Networked Systems. — 2014.
[9] Open Data Kit Sensors.— URL: https://opendatakit.org/use/sensors/ (online; accessed: 16.04.2016).
[10] Oracle Java ME Embedded Overview.— URL: http://www.oracle.com/technetwork/java/embedded/javame/embed-me/overview/index.html (online; accessed: 02.04.2016).
[11] ThingSpeak: Internet Of Things.— URL: https://thingspeak.com/(online; accessed: 08.03.2016).
[12] Thomas Zachariah Noah Klugman Bradford Campbell Joshua Adkins Neal Jackson Prabal Dutta. The Internet of Things Has a Gateway Problem // HotMobile ’15 Proceedings of the 16th International Workshop on Mobile Computing Systems and Applications. — 2015.
[13] mbed OS.— URL: https://www.mbed.com/en/development/software/mbed-os/ (online; accessed: 04.04.2016).