You are on page 1of 60

І. Б. Туркін, О. В.

Вдовітченко

ТЕХНОЛОГІЇ ПРОЕКТУВАННЯ
ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
ІНТЕРНЕТУ РЕЧЕЙ

2021
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний аерокосмічний університет ім. М. Є. Жуковського
«Харківський авіаційний інститут»

І. Б. Туркін, О. В. Вдовітченко

ТЕХНОЛОГІЇ ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ


ІНТЕРНЕТУ РЕЧЕЙ

Навчальний посібник до виконання лабораторних робіт

Харків «ХАІ» 2021


МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний аерокосмічний університет ім. М. Є. Жуковського
«Харківський авіаційний інститут»

І. Б. Туркін, О. В. Вдовітченко

ТЕХНОЛОГІЇ ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ


ІНТЕРНЕТУ РЕЧЕЙ

Навчальний посібник до виконання лабораторних робіт

Харків «ХАІ» 2021


УДК 004.89
С56

Рецензенти: д-р техн. наук, доц. М. М. Коробльов,


канд. техн. наук, доц. Т. В. Філімончук

Туркін, І. Б.
С56 Технології проектування програмного забезпечення інтернету
речей [Електронний ресурс] : навч. посіб. до виконання лаб. робіт / І. Б.
Туркін, О. В. Вдовітченко. – Харків : Нац. аерокосм. ун-т
ім. М. Є. Жуковського «Харків. авіац. ін-т», 2020. – 54 с.

Описано проведення лабораторних занять з дисципліни «Технології проектування


програмного забезпечення інтернету речей», під час яких студенти закріплюють
теоретичні знання, отримані на лекціях; ознайомлюються з технологіями кінцевих
пристроїв, розглянуто створення простих пристроїв в рамках концепції Інтернету речей
на базі популярної платформи Arduino та мікрокомп'ютера Raspberry Pi.
Продемонстровано роботу з Azure IoT Hub, який забезпечує надійну та безпечну
двосторонню комунікацію між мільйонами пристроїв IoT та хмарним рішенням.
Розглянуто створення та збирання часових рядів на базі популярного механізму Azure
Time Series. Наведено приклади роботи з сховищем зберігання великих даних, Lake
Store.
Для програмістів, а також для студентів спеціальності «Інженерія програмного
забезпечення» при виконанні лабораторних робіт.

Іл. 16. Табл. 10. Бібліогр.: 11 назв

УДК 004.89

© Туркін І. Б., Вдовітченко О. В., 2021


© Національний аерокосмічний
університет ім. М. Є. Жуковського
«Харківський авіаційний інститут», 2021
ЗМІСТ

Лабораторна робота № 1 ПРОГРАМУВАННЯ МІКРОПРОЦЕСОРІВ


ARDUINO 3
1. Завдання ............................................................................................................... 3
4. Теоретичні відомості ................................................................................................ 3
Лабораторна робота № 2 Azure концентратор та MXChip ...................... 7
1. Постановка задачі .................................................................................................... 7
2. Порядок виконання роботи ...................................................................................... 7
3. Зміст звіту ................................................................................................................. 7
4. Теоретичні відомості ................................................................................................ 7
5. Варіанти завдань .....................................................................................................14
Лабораторна робота № 3 ЗБІР ТА ВІЗУАЛІЗАЦІЯ ДАНИХ ЧАСОВИХ
РЯДІВ ЗА ДОПОМОГОЮ СТАТИСТИЧНИХ ДАНИХ AZURE TIME SERIES 15
1. Постановка задачі ...................................................................................................15
3. Зміст звіту ................................................................................................................15
4. Теоретичні відомості ...............................................................................................15
5. Варіанти завдань .....................................................................................................26
Лабораторна робота № 4 СХОВИЩЕ ДАНИХ LAKE STORE ....................... 27
1. Постановка задачі ...................................................................................................27
2. Порядок виконання роботи .....................................................................................27
3. Зміст звіту ................................................................................................................27
4. Теоретичні відомості ...............................................................................................27
5. Варіанти завдань .................................................................................................42
Лабораторна робота № 5 ОЗНАЙОМЛЕННЯ З MQTT ТА СЕРВІСОМ
INTERNET OF THINGS НА IBM BLUEMIX ..................................................... 43
1. Постановка задачі ............................................................................ 43
2. Порядок виконання роботи .............................................................. 43
3. Теоретичні відомості ...........................................................................................43
Бібліографічний список ........................................................................... 56

2
Лабораторна робота № 1
ПРОГРАМУВАННЯ МІКРОПРОЦЕСОРІВ ARDUINO

Мета роботи: . вивчення синтаксису та IDE Andruino, ознайомлення


з типами даних, операторами, а також отримання практичних навичок щодо
складання серверних скриптів для обробки запитів датчиків.
1. Завдання
Розробити та реалізувати за допомогою Arduino IDE один із
запропонованих варіантів пристроїв.

2. Порядок виконання роботи

1. Отримати у викладача індивідуальне завдання для виконання роботи.


2. Вивчити теоретичний матеріал.
3. Розробити пристрій згідно із завданням.
4. Протестувати.
5. Зробити висновки по роботі.

3. Зміст звіту

1. Постановка завдання. Опис завдань.


2. Короткий опис алгоритму роботи.
3. Опис використовуваних вхідних даних та функцій.
4. Лістинг вихідного коду сценарію з коментарями а також результати його
роботи (скріншот або фото).
5. Висновки.

4. Теоретичні відомості

4.1. Вступ

Internet of Things (IoT, Інтернет речей) – це концепція «розумного


будинку», де все (або багато чого) наприклад, побутові прилади і системи
керуються за допомогою Інтернету. Ідея Інтернету речей вперше виникла
ще в 1999 році у Кевіна Ештона – дослідника з Массачусетського
технологічного інституту (MIT), який запропонував тоді концепцію системи
керування через Інтернет промисловими об'єктами. Інтернет речей
передбачає оснащення кожного пристрою, будь то пилосос, холодильник
або пральна машина, модулем підключення до Інтернету з можливістю
взаємодії його з домашнім комп'ютером або смартфоном домовласника.

3
4.2. Arduino IDE

Розробка власних програм на базі плат, сумісних з архітектурою


Arduino, здійснюється в офіційно безкоштовної середовищі програмування
Arduino IDE. Середовище налаштовано для написання, компіляції та
завантаження власних програм в пам'ять мікроконтролера, встановленого
на платі Arduino сумісного пристрою. Основою середовища розробки є мова
Processing / Wiring - це фактично звичайний C ++, доповнений простими і
зрозумілими функціями для керування введенням / виводом на контактах
пристрою. Для операційних систем Windows, Mac OS і Linux існують свої
версії середовища. Завантажити середу Arduino IDE можна з її офіційного
сайту: www.arduinp.cc. (рис. 1.1)

Рис.1.1 – Завантаження Arduino IDE

4.3. Створення першої програми

Для підключення миготливого світлодіода на Arduino й управління ним


вам знадобиться:
- плата Arduino;
- breadboard;
- 2 дроти «тато-тато»;
- світлодіод;
- резистор.
Вразі не можливості використовувати фізичні пристрої можливо
використовувати емулятор VirtualBreadBoard.
Наведемо схему підключення світлодіода на Arduino рис. 4.2.

4
Рис. 4.2 – Схема підключення діода

Для роботи цієї моделі використаємо наступну програму:

int led = 8; // оголошення змінної цілого типу, що містить номер порту до


якого ми підключили другий провід
void setup() // обов'язкова процедура setup, що запускається на початку
програми; оголошення процедур починається словом void
{
pinMode(led, OUTPUT); // оголошення порту, що використовується, led –
номер порту, другий аргумент – тип використання порту – на вхід (INPUT)
або на вихід (OUTPUT)
}
void loop() // обов'язкова процедура loop, що запускається циклічно після
процедури setup
{
digitalWrite(led, HIGH); // ця команда використовується для включення або
виключення напруги на цифровому порті; led - номер порту, другий
аргумент - включення (HIGH) або вимикання (LOW)
delay(1000); // ця команда використовується для очікування між діями,
аргументу – час очікування в мілісекундах
digitalWrite(led, LOW);

5
delay(1000);
}

Так як синтаксис мови має повне співпадіння з С++ та вивчався


раніше, розглядати його не будемо.

5. Варіанти завдань
Для 1 людини
1. Підключення та керування світодіодами (використання
керуючих конструкцій).
2. Підключення кнопки.
3. Підключення датчика температури.
4. Підключення датчика вологи.

Для 2 людей
1. Зміна частоти мерехтіння світлодіоду залежно від температури.
2. Зміна частоти мерехтіння світлодіоду залежно від вологості.
3. Включення та виключення світлодіоду за допомогою кнопки.
4. Індивідуальне завдання. (Можливість запропонувати свій
варіант).

6
Лабораторна робота № 2
Azure концентратор та MXChip

Мета роботи: знайомство з Azure IoT Hub, повністю керованою


послугою, яка забезпечує надійну та безпечну двосторонню комунікацію між
мільйонами пристроїв IoT та зворотним рішенням.
1. Постановка задачі

Навчитися створювати IoT Hub, використовувати Simulator для


підключення до IoT Hub. Навчитися налаштовувати MXChip, підключатися
до IoT Hub та надсилати дані з чипу.

2. Порядок виконання роботи

1. Отримати у викладача індивідуальне завдання для виконання


роботи.
2. Вивчити теоретичний матеріал.
3. Створити IoT Hub.
4. Створити пристрій.
5. Протестувати.
6. Зробити висновки по роботі.
3. Зміст звіту

1. Постановка завдання. Опис завдань.


2. Короткий опис алгоритму роботи.
3. Опис використовуваних вхідних даних та функцій.
4. Алгоритм створення хабу.
5. Результати (скриншоти).
5. Висновки.

4. Теоретичні відомості

4.1. Створення групи ресурсів


Інфраструктура для вашої програми зазвичай складається з багатьох
компонентів – можливо, віртуальної машини, облікового запису пам’яті та
віртуальної мережі або веб-програми, бази даних, сервера баз даних та
сторонніх служб.
Ви не бачите ці компоненти як окремі сутності, натомість ви бачите їх
як пов’язані та взаємозалежні частини однієї сутності. Ви хочете розгорнути,
керувати ними та контролювати їх як групу. Azure Resource Manager
дозволяє вам працювати з ресурсами у вашому рішенні як з групою. Ви

7
можете розгорнути, оновити або видалити всі ресурси для свого рішення за
одну, узгоджену операцію.
Ви використовуєте шаблон для розгортання, і цей шаблон може
працювати в різних середовищах, таких як тестування, постановка та
виготовлення. Менеджер ресурсів забезпечує функції безпеки, аудиту та
тегування, щоб допомогти вам керувати своїми ресурсами після
розгортання.
Створіть групу ресурсів для збору та керування всіма ресурсами вашої
програми для цієї роботи. (рис. 2.1)

Рис. 2.1 – Група ресурсів.

Натисніть «+ Додати» .
Введіть назву групи ресурсів , виберіть підписку та регіон:

8
4.2. Створення IoThub

Створіть IoT Hub, щоб підключити свій реальний пристрій або тренажер
до цього IoT Hub і почати надсилати дані.
Клацніть на Створити ресурс і натисніть на Інтернет речей. (рис. 2.2)

9
Рис. 2.2 – Створення IoT Hub

Клацніть на IoTHub рис 2.3:

Рис. 2.3 – IoT Hub

Переконайтесь, що ви вибрали групу ресурсів, яку ви створили на


попередньому кроці.

10
У полі ім'я введіть унікальну назву для вашого концентратора IoT.
Назва вашого IoT-концентратора має бути унікальною для всіх
концентраторів IoT.
У поданому рівні виберіть рівень безкоштовно.
Ви можете вибрати кілька рівнів залежно від того, скільки функцій ви
хочете та скільки повідомлень ви надсилаєте через рішення на день.
Вільний рівень призначений для тестування та оцінки. Він дозволяє
підключати 500 пристроїв до концентратора IoT і до 8000 повідомлень на
день. Кожна підписка на Azure може створити один IoT Hub у
безкоштомному рівні рис 2.4.

Рис. 2.4 – Безкоштовний план

4.3. Підключення пристрою та передача даних на IoThub

Зайдіть до свого IoT Hub на порталі та натисніть на IoT Devices рис. 2.5.

11
Рис. 2.5 – IoT Devices

Клацніть + Додати та введіть ідентифікатор пристрою та натисніть


Зберегти рис 2.6.

12
Рис. 2.6 – Додавання пристрою

Клацніть на пристрої та скопіюйте рядок підключення первинного ключа


(рис. 2.7).

Рис. 2.7 – Інформація про пристрій

Клацніть на посилання нижче, щоб перейти до PI Simulator


https://github.com/Azure-Samples/raspberry-pi-web-simulator
Замініть рядок з'єднання на рядок з'єднання первинного ключа,
скопійовану в попередніх кроках (рис. 2.8).

13
Рис. 2.8 – Рядок підключення

Клацніть виконати і почніть надсилати повідомлення (рис. 2.9).


Світлодіод почне блимати.

Рис. 2.9 – Надіслані повідомлення

Повідомлення почнуть надходити в IoT Hub (рис. 2.10).

Рис. 2.11 – Повідомлення в IoT Hub

5. Варіанти завдань

Створення індивідуального хабу та підключення пристрою створеного


в лабораторній роботі №1.

14
Лабораторна робота № 3
ЗБІР ТА ВІЗУАЛІЗАЦІЯ ДАНИХ ЧАСОВИХ РЯДІВ ЗА ДОПОМОГОЮ
СТАТИСТИЧНИХ ДАНИХ AZURE TIME SERIES

Мета роботи: знайомство з Azure Time Series, використання


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

1. Постановка задачі

Налаштування середовища «Статистика часових рядів». Дослідження


та аналіз даних часових рядів для рішень IoT.

2. Порядок виконання роботи

1. Отримати у викладача індивідуальне завдання для виконання


роботи.
2. Вивчити теоретичний матеріал.
3. Створити статистику часових рядів.
4. Створити пристрій.
5. Протестувати.
6. Зробити висновки по роботі.

3. Зміст звіту

1. Постановка завдання. Опис завдань.


2. Короткий опис алгоритму роботи.
3. Опис використовуваних вхідних даних та функцій.
4. Алгоритм створення статистики часових рядів.
5. Результати.
5. Висновки.

4. Теоретичні відомості

4.1. Створення статистики часових рядів


Azure Time Series Insights – це повністю керована служба аналітики,
зберігання та візуалізації для даних часових рядів масштабу IoT у хмарі.
Забезпечує масштабоване масштабування даних часових рядів та дає
15
змогу за лічені секунди досліджувати та аналізувати мільярди подій, що
передаються з усього світу. Використовуйте статистику часових рядів, щоб
зберігати та керувати терабайтими даних часових рядів, досліджувати та
візуалізувати мільярди подій одночасно, проводити аналіз першопричини
та порівнювати кілька сайтів та об’єктів.
Клацніть на Створити ресурс і натисніть на Інтернет речей. (рис. 3.1)

Рис. 3.1 – Створення ресурсу.

Клацніть на статистику часових рядів (рис. 3.2).

Рис. 3.2 – Статистика часових рядів

16
Виберіть групу ресурсів ,створену раніше і натисніть «Створити»
(рис. 3.3).

Рис. 3.3 – Створення часових рядів

4.2 Створення джерела події


Створіть джерело події для підключення до IoTHub (рис. 3.4). Будь
ласка, переконайтеся, що ви використовуєте унікальну групу споживачів.
Статистика часових рядів вимагає мати власну унікальну групу споживачів.

17
Рис. 3.4 – Створення джерела подій

Виберіть відповідну групу споживачів та натисніть кнопку Створити


(рис. 3.5)

Рис. 3.5 – Створити нове джерело з певною групою користувачів

18
4.3. Налаштування даних про часові серії
Перейдіть до статистики часових рядів, натисніть кнопку «Перейти до
середовища», яка переведе вас до «Провідника статистичних даних
часових рядів».
Якщо у вас з’явилася помилка політики доступу до даних, виконайте
наступні дії:

Перейдіть до топології навколишнього середовища рис. 3.6:

Рис. 3.6 – Топологія навколишнього середовища

Натисніть кнопку Додати рис. 3.7:

19
Рис. 3.7 – Додавання політики доступу

Виберіть роль учасника рис. 3.8:

Рис. 3.8 – Вибір ролі учасника

Виберіть користувача рис. 3.9:

20
Рис. 3.9 – Вибір користувача

4.4 Провідник часових рядів

Перейдіть до Провідника статистичних даних часових рядів рис. 3.10.

Рис. 3.10 – Провідник статистичних даних часових рядів

Розділивши за ідентифікатором. Ви побачите дані, що надходять з двох


пристроїв. MXChip та Pi Simulator (рис. 3.11).

21
Рис. 3.11 – Приклад відображення вхідних даних

Виберіть вологість та розділіть за ідентифікатором. Ви побачите дані,


що надходять з двох пристроїв. MXChip і Pi Simulator (рис. 3.12).

Рис. 3.12 – Дані вологості

Клацніть правою кнопкою миші для вивчення подій (рис. 3.13). Ви


можете завантажити події в CSV і JSON форматі, натиснувши на CSV або
JSON кнопці.

22
Рис. 3.13 – Огляд подій

Створіть перспективу, натиснувши на зображення виділене на


рис. 3.14.

Рис. 3.14 – Створення перспективу

Клацніть +, щоб додати новий запит рис. 3.15

23
Рис. 3.15 – Додавання нового запиту

Виберіть «Температура» та розділіть його за ідентифікатором


пристрою та натисніть на перспективне зображення (рис. 3.16).

Рис. 3.16 – Налаштування відображення даних

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


(рис. 3.17).

24
Рис. 3.17 – Створення діаграми

Створіть діаграму, додавши присудок рис. 3.18.

Рис. 3.18 – Створення діаграми з присудком

Перспектива з 4 різними діаграмами, а також зміненою назвою


рис. 3.19.

Рис. 3.19 – Відображення чотирьох різновидів діаграм


25
Натисніть на теплову карту рис. 3.20.

Рис. 3.20 – Теплова карта

Перегляд даних у таблиці рис. 3.21.

Рис. 3.21 – Відображення даних у вигляді таблиці

5. Варіанти завдань
Продовження завдання з лабораторної роботи №2.

26
Лабораторна робота № 4
СХОВИЩЕ ДАНИХ LAKE STORE

Мета роботи: знайомство з Lake Store, сховищем зберігання великих


даних.

1. Постановка задачі
Налаштування середовища «Lake Store». Дослідження та аналіз
даних рішень IoT.

2. Порядок виконання роботи

1. Отримати у викладача індивідуальне завдання для виконання


роботи.
2. Вивчити теоретичний матеріал.
3. Створити статистику IoT.
4. Створити пристрій для генерації даних.
5. Протестувати.
6. Зробити висновки по роботі.
3. Зміст звіту

1. Постановка завдання. Опис завдань.


2. Короткий опис алгоритму роботи.
3. Опис використовуваних вхідних даних та функцій.
4. Результати (скріншоти).
5. Висновки.
4. Теоретичні відомості

4.1. Створення Azure Data Lake Store


Azure Data Lake Store – це сховище гіпермасштабних масштабів для
підприємств, для великих аналітичних навантажень, для великих даних.
Azure Data Lake дає змогу фіксувати дані будь-якого розміру, типу та
швидкості прийому в одному місці для оперативної та розвідувальної
аналітики. Data Lake Store може зберігати трильйони файлів. Один файл
може бути більшим, ніж один петабайт. Це робить Data Lake Store
ідеальним для зберігання будь-якого типу даних, включаючи масивні
набори даних, як відео з високою роздільною здатністю, геномні та сейсмічні
набори даних, медичні дані та дані з широкого спектру галузей.
Створіть сховище озера з надмірною шкалою для зберігання даних IoT.
Клацніть на Створити ресурс рис. 4.1.

27
Рис. 4.1 – Створення ресурсу

Клацніть на Дані + Analytics рис. 4.2.

Рис 4.2 – Дані та аналіз

Натисніть на Data Lake Store рис. 4.3.

28
Рис. 4.3 – Створення сховища даних

Під час створення даних у вас є вибір для шифрування, Data Lake Store
захищає ваші ресурси даних та розширює локальний контроль безпеки та
управління на хмарі.
Ваші дані є завжди зашифровані під час переміщення за допомогою
SSL, при зберіганні за допомогою службових або керованих користувачем
HSM-клавіш у Azure Key Vault.
За допомогою Azure Active Directory вбудовано єдиний вхід (SSO),
багатофакторну автентифікацію та безперебійне управління мільйонами
ідентичностей. Авторизуйте користувачів та групи з дрібнозернистими ACL
на основі POSIX для всіх даних у вашому магазині та ввімкніть функції
доступу на основі ролей. Задовольнити потреби в дотриманні безпеки та
регуляторних норм, перевіряючи кожен доступ або зміну конфігурації в
системі.
Натисніть кнопку Створити рис. 4.4.

29
Рис. 4.4 – Створення Data Lake Store

4.2 Дослідження даних у магазині Data Lake Store

Cтворіть папки в магазині Data Lake рис. 4.5.

Рис. 4.5 – Створення папок в Data Lake

Створіть / папку потокової передачі для зберігання потокових даних, що


надходять з вашого пристрою через IoTHub, використовуючи роботу Stream
Analytics Job. Створити головну папку рис. 4.6.
30
Рис. 4.6 – Створення головної папки

Створити воркшоп, а потім – потокову папку рис. 4.7.

Рис. 4.7 – Створення потоку

Ви повинні мати таку структуру папок (рис. 4.8), щоб почати


передавати дані в сховище озера даних.

Рис. 4.8 – Структура папок для роботи з сховищем даних

Створіть роботу потокової аналітики. Azure Stream Analytics – це


керована система обробки подій, яка налаштовує аналітичні обчислення в
реальному часі на потокових даних. Дані можуть надходити з пристроїв,

31
датчиків, веб-сайтів, каналів соціальних медіа, додатків, інфраструктурних
систем тощо.
Створіть сховище озера з надмірною шкалою для зберігання даних
IoT. Клацніть на Створити ресурс рис. 4.10.

Рис. 4.10 – Створення ресурсу

Клацніть на Дані + Analytics рис. 4.11.

Рис. 4.11 – Дані та аналітика

Клацніть Робота потокової аналітики рис.4.12.

32
Рис. 4.12 – Потокова аналітика

Створений ресурс потокової роботи Analytics буде створено як для


хмари, так і для дестопу. Запуск на хмарі рис. 4.13.

Рис. 4.13 – Створення потокової аналітики на хмарі.


33
Додати вхід для потокової роботи (рис. 4.14)

Рис. 4.14 – Потокова робота

Виберіть IoTHub як джерело рис. 4.15.

Рис. 4.15 – Додавання джерела інформації

Обов’язково надайте групу споживачів (рис. 4.16). Кожна група


споживачів допускає до 5 споживачів на виході. Переконайтеся, що ви

34
створюєте нову групу споживачів для кожних 5 користувачів, ви можете
створити до 32 груп споживачів.

Рис. 4.16 – Вибір групи користувачів

Додати Data Lake Store, як вихід для потокової роботи рис. 4.17.

35
Рис. 4.17 – Додавання Data Lake Store

Виберіть Data Lake Store як параметр виводу рис. 4.18.

Рис. 4.18 – Data Lake Store, як параметр виходу.

Виберіть обліковий запис Data Lake Store, який ви створили на


попередніх кроках, та надайте структуру папок для передачі даних у
магазин: / семінар / потокове / {дата} / {час} з датою = РРР / ММ / DD
формат і Час = HH формат буде прирівнюватися до / семінар / потокове /
2020/03/30/11 в магазині рис. 4.19.

36
Рис. 4.19 – Шлях для папок проекту

Вам доведеться авторизувати з'єднання сховища даних озера для


потокової аналітики, щоб мати доступ для запису в сховище озера даних
(рис. 4.20):
1. Багатофакторна аутентифікація на основі OAuth2.0;
2. Інтеграція з локальним AD для об'єднаної аутентифікації;
3. Рольовий контроль доступу;
4. Пільгове управління рахунками;
5. Моніторинг використання додатків та багатий аудит;
6. Моніторинг безпеки та оповіщення;
7. Дрібнозернисті ACL для особи AD.
37
Рис. 4.20 – Авторизація в сховищі даних

Ви побачите спливаюче вікно, і як тільки спливаюче вікно закриється,


кнопка Авторизація буде сірою після завершення авторизації (рис. 4.21). Є
випадки виключення, коли спливаюче вікно не з’являється. У цьому
випадку спробуйте ще раз у режимі анонімного перегляду.

38
Рис. 4.21 – Дезактивація авторизації

Редагувати запит на потокову роботу, потокові дані від IoTHub до


магазину Datalake рис. 4.22.

Рис. 4.22 – Редагування запиту на потокову роботу

Запит
SELECT
*, System.Timestamp as time
INTO
DatalakeStore
FROM
IotHub

Збережіть запит рис. 4.23.


39
Рис. 4.23 – Збереження запиту

Прийняти, натиснувши так:

Почніть потокове завдання Analytics.


Запустіть завдання потоку, яке буде читати дані з IoTHub і зберігати
дані в Data Lake Store рис. 4.24.

\
Рис. 4.24 – Запуск потокових даних
40
Ви можете вибрати спеціальний час, щоб повернутися на кілька годин
назад, щоб отримати дані з того часу, коли ваш пристрій розпочав потокове
передавання рис. 4.25.

Рис. 4.25 – Навігація за часом

Зачекайте, поки робота перейде в стан роботи, якщо ви бачите, що


помилки можуть бути в запиті, переконайтеся, що синтаксис правильний
рис. 4.26.

Рис. 4.26 – Стан роботи

Перейдіть до провідника зберігання даних Data Lake і перейдіть до


папки / майстерні / потокової передачі. Ви побачите папки, створені у
форматі РРР / МР / DD / HH рис. 4.27.
41
Рис. 4.27 – Вид папок

Ви побачите файли json з одним файлом на годину, вивчіть дані


рис. 4.28.

Рис. 4.28 – Дані файлу json

5. Варіанти завдань

Продовження завдання з попередньої роботи. Додається створення


сховища даних та їх аналіз з вашого пристрою.

42
Лабораторна робота № 5
ОЗНАЙОМЛЕННЯ З MQTT ТА СЕРВІСОМ INTERNET OF THINGS НА IBM
BLUEMIX

Мета роботи: знайомство з MQTT та сервісом Internet of


Things на IBM Bluemix.
1. Постановка задачі

У роботі треба ознайомитися з MQTT, як інструментом ефективної


взаємодії за IoT IBM Bluemix та створити програму, що використовує
службу IoT з Java та Node-RED.

2. Порядок виконання роботи

1. Налаштувати службу Bluemix IoT


2. Створити програму на пристрої
3. Створити програму на стороні додатку.
4. Запустити додаток.

3. Теоретичні відомості
Для початку зареєструємося на IBM Cloud Bluemix (Рис. 5.1).

Рисунок 1 – Реєстрація на IBM Cloud

43
Створимо Internet Of Things Platform (Рис.5.2, Рис. 5.3).

Рис. 5.2 – Створення IoT Platform

Рис. 5.3 – Створення IoT Platform (частина 2)

Загальна інформація про створену IoT Platform виглядає наступним


чином (Рис. 5.4).

44
Рис. 5.4 –IoT Platform

Тепер додамо новий девайс. На теперешній момент список девайсів


порожній (Рис. 5.5).

Рис. 5.5 – Порожній список девайсів

45
Створимо новий девайс device-daria-1 на даній IoT Platform (Рис. 5.6 –
Рис. 5.9). Девайс буде отримувати команди і відправляти події.

Рис. 5.6 – Створення девайсу device-daria-1 (крок 1)

Рис. 5.7 – Заповнення базової інформації про девайс

46
Рис. 5.8 – Заповнення токена девайса

Запам'ятаємо токен девайса, щоб потім мати можливість до нього


підключитися «ghskfdghsk543hklj2g».

Рис. 5.9 – Вся інформація про девайс


47
Пристрій device-daria-1 успішно створено і додано до списку девайсів
(Рис. 5.10, Рис. 5.11).

Рис. 5.10 – Девайс device-daria-1 успішно створено

48
Рис. 5.11 – device-daria-1 відображено в списку девайсів

Тепер створимо додаток, що буде приймати події від девайса і


відправляти команди (Рис. 5.12 –Рис. 5.14).

Рис. 5.12 – Створення додатку (крок 1)

49
Рис. 5.13 – Створення додатку (крок 2)

Збережемо ключ додатку «a-3dmymv-awp5igcxk0» і токен додатку


«5cBQbIbIp4dnplak!»

Рис. 5.14 – Інформація про створений додаток

Додаток успішно створено і відображено в списку додатків (Рис. 5.15).

Рис. 5.15 – Список додатків

50
На даний момент ми створили девайс device-daria-1, який може
посилати події і приймати команди, і додаток Daria's app, яке може приймати
події і посилати команди.
Спілкування відбувається через IoT Platform.
Для того, щоб організувати сполучення між девайсом і додатком,
напишемо програму на мові Java (лістинг програми представлений нижче).
Для підключення до додатка введемо потрібну конфігурацію (рис. 5.16)
в файл app.config (дані, які ми заповнювали при створенні програми,
включаючи токен авторизації).

Рис. 5.16 – Конфігурація підключення до додатка

Запустимо AppTest.
З'єднання з додатком встановлено (Рис. 5.17).

Рис. 5.17 – З'єднання з додатком успішно встановлено

Для підключення до девайсу введемо потрібну конфігурацію (Рис. 5.18)


в файл device.config (дані, які ми заповнювали при створенні девайса,
включаючи токен авторизації).

51
Рис. 5.18 – Конфигурация подключения к девайсу

Запустимо DeviceTest. З'єднання з девайсом встановлено. Девайс


починає відправляти події (Рис. 5.19).

Риc. 5.19 – З'єднання з девайсом встановлено. Пристрій починає посилати події

52
Тепер ми можемо побачити в IoT Platform, що девайс device-daria-1
змінив свій статус на Connected і натиснув посилати події (Рис. 5.20).

Рис. 5.20 – Девайс device-daria-1 активний та надсилає події

Також є можливість запустити симуляцію.


Запустимо симуляцію роботи нового девайса (Рис 5.21, Рис. 5.22).
Нехай симулятор відправляє 20 повідомлень за хвилину.

Рис. 5.21 – Запуск симуляції


53
Рис. 5.22 – Налаштування роботи симулятора

Запустимо симуляцію (Рис. 5.23).

Рис. 5.23 – Запустим MQTTDevice_1 симуляція


54
У списку девайсів з'явився новий пристрій MQTTDevice_1, яке активно
і посилає 20 подій в хвилину з випадковими числами (Рис. 5.24).

Рис. 5.24 – Симуляція нового девайса запущена

55
Бібліографічний список

1. Create an IoT hub using the Azure portal [Електронний ресурс] //


Microsoft Corporation. – 2019. – Режим доступу до ресурсу:
https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-create-through-portal.
2. Send telemetry from a device to an IoT hub and monitor it with the
Azure CLI [Електронний ресурс] // Microsoft Corporation. – 2019. – Режим
доступу до ресурсу: https://docs.microsoft.com/en-us/azure/iot-hub/quickstart-
send-telemetry-cli.
3. Fremantle P. A survey of secure middleware for the Internet of Things
/ P. Fremantle, P. Scott. // PeerJ Computer Science. – 2017. – №3. – С. 2–38.
4. Chun B. T. Explore MQTT and the Internet of Things service on IBM
Bluemix / Bin Tang Chun. // IBM. – 2015. – С. 1–18.

56
Навчальне видання

Туркін Ігор Борисович


Вдовітченко Олександр Валерійович

ТЕХНОЛОГІЇ ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ


ІНТЕРНЕТУ РЕЧЕЙ

Редактор Є. О. Александрова

Зв. план, 2020


Підписано до видання 20.07.2020
Ум. друк. арк. 3. Обл.-вид. арк. 3,38. Електронний ресурс

Видавець і виготовлювач
Національний аерокосмічний університет ім. М. Є. Жуковського
«Харківський авіаційний інститут»
61070, Харків-70, вул. Чкалова, 17
izdat@khai.edu
Видавничий центр «ХАІ»
61070, Харків-70, вул. Чкалова, 17
izdat@khai.edu

Свідоцтво про внесення суб’єкта видавничої справи


до Державного реєстру видавців, виготовлювачів і розповсюджувачів
видавничої продукції сер. ДК № 391 від 30.03.2001

You might also like