Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/7294
Title: IoT-платформа на базі AWSIoTCore для відстеження даних з сенсорів
Authors: БАБЕНКО, Віра
ШВЕДЕНКО, Костянтин
Keywords: AWSIOTCORE;MQTT;СЕНСОРИ;ТЕМПЕРАТУРА;ВОЛОГІСТЬ;CO₂;ХМАРА;ВЕБ-ПОРТАЛ;ДАНІ;МІСТО
Issue Date: 2025
Abstract: Метою виконання даної кваліфікаційної роботи на здобуття освітнього ступеня «бакалавр» є побудова та розгортання IoT-платформи на базі AWSIoTCore для відстеження даних з сенсорів. Загальний обсяг роботи становить 78 сторінок. У роботі 12 рисунків. Для виконання роботи використано 25 літературних джерел. Головне завдання полягає в побудові, налаштуванні та розгортанні IoT- платформи на базі AWS IoT Core для збору, обробки та візуалізації даних з мережі сенсорів у межах системи моніторингу параметрів навколишнього середовища. Стислий опис розділів кваліфікаційної роботи бакалавра складається з аналізу предметної області та постановки задачі; вибору технологій та інструментальних засобів; розробкаIoT-платформи на базі AWS IoT Core для відстеження даних з сенсорів.
URI: https://er.chdtu.edu.ua/handle/ChSTU/7294
Appears in Collections:123 Комп’ютерна інженерія (Комп'ютерні системи та мережі)

Files in This Item:
File Description SizeFormat 
1_ТИТУЛКА_Шведенко-merged.pdf
  Restricted Access
2.07 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ І СИСТЕМ
КАФЕДРА ІНФОРМАЦІЙНОЇ БЕЗПЕКИ ТА КОМП’ЮТЕРНОЇ ІНЖЕНЕРІЇ
ПОЯСНЮВАЛЬНА ЗАПИСКА
до кваліфікаційної роботи бакалавра
на тему:«IoT-платформа на базі AWSIoTCore для
відстеження даних з сенсорів»
ЧДТУ.252184.011 ПЗ
Виконав: студент 4 курсу, групи КМ-2105
спеціальності 123 – «Комп’ютерна інженерія»
за освітньою програмою – «Комп’ютерні системи
та мережі»
Костянтин ШВЕДЕНКО
Керівник
д.т.н., професор
Віра БАБЕНКО
Рецензент
доцент кафедри інформаційних систем та
організації заходів цивільного захисту
навчально-наукового інституту цивільного
захисту НУЦЗ України, к.т.н., доцент
Віталій ЗАЖОМА
«ЗАХИСТ ДОЗВОЛЯЮ»
Завідувач кафедри ІБ та КІ
д.т.н., професор ___________ Віра БАБЕНКО
Черкаси 2025 року
Форма № Н-9.01
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
Факультет: інформаційних технологій і систем
Кафедра: інформаційної безпеки та комп’ютерної інженерії
Освітньо-кваліфікаційний рівень: Бакалавр
Спеціальність 123 – Комп’ютерна інженерія
Освітня програма Комп’ютерні системи та мережі
«ЗАТВЕРДЖУЮ»
Завідувач кафедри ІБ та КІ
д.т.н., професор _____________ Віра БАБЕНКО
«28» лютого 2025 року
ЗАВДАННЯ
на кваліфікаційну роботу бакалавра студенту
Шведенку Костянтину Сергійовичу
(прізвище, ім‘я, по батькові)
1. Тема роботи: IoT-платформа на базі AWS IoT Core для відстеження
даних з сенсорів
Керівник роботи: д.т.н., професор Бабенко Віра Григорівна
(прізвище, ім’я, по батькові, науковий ступінь, вчене звання)
затверджені наказом університету від «25» лютого 2025 р. № 53/03-03
2. Строк подання студентом роботи:
3. Вихідні дані до роботи:
AWS IoT Core, MQTT, сенсори, температура, вологість, CO₂, хмара, веб-портал, дані, місто.
4. Зміст розрахунково-пояснювальної записки (перелік питань, що їх належить розробити):
Вступ
1. Аналіз предметної області та постановка задачі
2. Вибір технологій та інструментальних засобів
3. Розробка IoT-платформи на базі AWS IoT Core для відстеження даних з сенсорів
4. Захист IoT-платформи на базі AWS IoT Core для відстеження даних з сенсорів
Висновки
Додатки
Список використаних джерел
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень, плакатів):
Додаток А Специфікація
Додаток Б Текст програми
Додаток В Інструкція користувача
6. Консультанти розділів роботи:
Розділ Прізвище, ініціали Підпис, дата
консультанта завдання видав завдання прийняв
7. Дата видачі завдання: 28 лютого 2025 року
КАЛЕНДАРНИЙ ПЛАН
Термін
№ з/п Назва етапів роботи виконання Примітка
етапів роботи
1 Збір матеріалу 01.03 – 14.03 виконано
2 Обробка матеріалу 15.03 – 20.03 виконано
3 Обґрунтування актуальності виконання досліджень 21.03 - 25.03 виконано
4 Оцінка стану проблеми, виокремлення дослідницьких виконано
задач, постановка задачі дослідження 26.03 – 01.04
5 Викладення сутності і результатів дослідження 03.04 – 08.04 виконано
6 Практичне застосування результатів дослідження 09.04 – 27.04 виконано
7 Оформлення результатів в пояснювальну записку 28.04 – 02.05 виконано
8 Подання роботи на відгук та рецензування 15.05 – 20.05 виконано
Студент ___________________________ Костянтин ШВЕДЕНКО
(підпис)
Керівник роботи ___________________________ Віра БАБЕНКО
(підпис)
АНОТАЦІЯ
Метою виконання даної кваліфікаційної роботи на здобуття освітнього
ступеня «бакалавр» є побудова та розгортання IoT-платформи на базі
AWSIoTCore для відстеження даних з сенсорів.
Загальний обсяг роботи становить 78 сторінок. У роботі 12 рисунків. Для
виконання роботи використано 25 літературних джерел.
Головне завдання полягає в побудові, налаштуванні та розгортанні IoT-
платформи на базі AWS IoT Core для збору, обробки та візуалізації даних з
мережі сенсорів у межах системи моніторингу параметрів навколишнього
середовища.
Стислий опис розділів кваліфікаційної роботи бакалавра складається з
аналізу предметної області та постановки задачі; вибору технологій та
інструментальних засобів; розробкаIoT-платформи на базі AWS IoT Core для
відстеження даних з сенсорів.
Ключові слова: AWSIOTCORE, MQTT, СЕНСОРИ, ТЕМПЕРАТУРА,
ВОЛОГІСТЬ, CO₂, ХМАРА, ВЕБ-ПОРТАЛ, ДАНІ, МІСТО
ANOTATION
The purpose of this qualification work for the degree of Bachelor is to build
and deploy an IoT platform based on AWS IoT Core for tracking data from sensors.
The total volume of the work is 78 pages. The work contains 12 figures.
25 literary sources were used to perform the work.
The main task is to build, configure and deploy an IoT platform based on AWS
IoT Core for collecting, processing and visualizing data from a sensor network within
the framework of an environmental parameter monitoring system.
A brief description of the sections of the bachelor's qualification work consists
of an analysis of the subject area and problem statement; selection of technologies
and tools; development of an IoT platform based on AWS IoT Core for tracking data
from sensors.
Key words: AWS IOT CORE, MQTT, SENSORS, TEMPERATURE,
HUMIDITY, CO₂, CLOUD, WEB PORTAL, DATA, CITY
ЗМІСТ
ВСТУП……………………………………………………………………………..4
1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА ПОСТАНОВКА ЗАДАЧІ…….…..7
1.1 Аналіз існуючих систем………………………...………….………….7
1.2 Постановка задачі………...………………………………………...…13
1.3 Висновок до розділу…… ………………………………….…………16
2 ВИБІР ТЕХНОЛОГІЙ ТА ІНСТРУМЕНТАЛЬНИХ ЗАСОБІВ………......18
2.1 Огляд існуючих технологій……………………………….………….18
2.2 Обґрунтування вибору…..………………………………………...….26
2.3 Висновок до розділу ……………………………………….…………31
3 РОЗРОБКАIOT-ПЛАТФОРМИ НА БАЗІ AWS IOT CORE ДЛЯ
ВІДСТЕЖЕННЯ ДАНИХ З СЕНСОРІВ…………………..……………….32
3.1 Структура системи……………...………………………………..…...32
3.2 Опис функцій системи………………………………………………..37
3.3 Технічні вимоги для роботи з системою…………………………….42
3.4 Оцінка ефективності………………………………………………….43
3.5 Висновки до розділу………………………………………………….45
4 ЗАХИСТ IOT-ПЛАТФОРМИ НА БАЗІ AWS IOT CORE ДЛЯ
ВІДСТЕЖЕННЯ ДАНИХ З СЕНСОРІВ…..……………………………….47
4.1 Огляд існуючих рішень …………………..………….………………47
4.2 Реалізація захисту даних користувачів……………………….….….53
4.3 Висновки до розділу…………..…………………………….…….….55
ВИСНОВКИ……………………………………………………………………...57
ЧДТУ.252184.011 ПЗ
Змн. Арк. № докум. Підпис Дат
РозрКобив Шведенко К.С. а IоT-платформа на базі AWS Літ. Лист Листів
Керівник Бабенко В.Г.
а IоT Сore для відстеження 2 78
Рецензент Зажома В. даних з сенсорів
Н.Контроль Гресько С.О. Кафедра ІБ та КІ
Затвфердив Бабенко В.Г. Пояснювальна записка гр. КМ-2105
е
д
р
а
К
К
-
0
6
ДОДАТКИ:
А – 482.ЧДТУ.52184-01 IоT-платформа на базі AWS IоT Сore для
відстеження даних з сенсорів
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ……………………………...………..76
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 3
а
ВСТУП
Актуальність теми. У сучасному світі стрімкий розвиток технологій
Інтернету речей (IoT) відкриває нові можливості для побудови
інтелектуальних систем у міському середовищі. Однією з
найперспективніших сфер застосування IoT є створення «розумного міста»,
де сенсори дозволяють в режимі реального часу отримувати, обробляти та
аналізувати дані про стан навколишнього середовища. Це включає
моніторинг температури, вологості, рівня CO₂, якості повітря та інших
важливих параметрів, що мають безпосередній вплив на комфорт і здоров’я
мешканців.
Зі зростанням кількості підключених пристроїв виникає потреба у
масштабованих, безпечних та надійних рішеннях для збору, передачі та
обробки даних. Хмарні технології, зокрема AWS IoT Core, забезпечують
ефективну інфраструктуру для реалізації таких систем, дозволяючи легко
інтегрувати велику кількість сенсорів, обробляти потоки даних та
візуалізувати результати через зручні інтерфейси.
Актуальність дослідження зумовлена необхідністю впровадження
інноваційних рішень у міське управління, підвищенням екологічної
обізнаності населення та потребою у прозорості даних. Запропонована
система дозволяє містам підвищити якість обслуговування громадян,
своєчасно реагувати на критичні зміни в середовищі та приймати
обґрунтовані рішення на основі достовірної інформації.
Метою кваліфікаційної роботиє є розробка та впровадження IoT-
платформи на базі хмарних сервісів AWS, зокрема AWS IoT Core, для
забезпечення збору, передачі, обробки та візуалізації даних з сенсорів,
розміщених у межах міської інфраструктури. Платформа має дозволяти
моніторинг екологічних параметрів (температура, вологість, рівень CO₂
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 4
а
тощо) в режимі реального часу, забезпечувати масштабованість, надійність
та зручність доступу до даних через веб-портал.
Для досягнення сформульованої мети необхідно вирішити такі
задачі:
1. Проаналізувати існуючі рішення у сфері IoT-платформ для
моніторингу даних з сенсорів та визначити їх переваги й недоліки.
2. Вивчити можливості хмарної платформи AWS, зокрема сервісу AWS
IoT Core, для реалізації системи збору та обробки даних з пристроїв.
3. Розробити архітектуру IoT-платформи, що включає сенсори, шлюзи
передачі даних, хмарну інфраструктуру та веб-інтерфейс для
користувачів.
4. Реалізувати обмін даними між сенсорами та хмарним середовищем за
допомогою протоколу MQTT.
5. Налаштувати AWS IoT Core, а також супутні сервіси (AWS Lambda,
DynamoDB, API Gateway, CloudWatch тощо) для обробки, зберігання та
моніторингу даних.
6. Розробити веб-портал для відображення отриманих даних у зручній
формі з фільтрацією за адресами та типами показників.
Книга «Designing Connected Products: UX for the Consumer Internet of
Things» авторів Claire Rowland, Elizabeth Goodman, Martin Charlier, Ann Light,
Alfred Lui чудово узагальнює ідею створення розумного середовища на базі
IoT-технологій і хмарних платформ. Ця книга є комплексним путівником по
проєктуванню та впровадженню споживчих IoT-систем – від вибору сенсорів
і протоколів зв’язку до створення хмарної інфраструктури, UX-дизайну та
обробки даних. Автори розглядають, як побудувати екосистему підключених
пристроїв, які ефективно обмінюються даними, і як зробити так, щоб ці
пристрої були зручними у використанні та відповідали реальним потребам
користувачів.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 5
а
Одержані в кваліфікаційній роботі результати мають практичне
значення та полягає у створенні працездатної IoT-платформи для
моніторингу екологічних даних у місті з використанням AWS. Рішення може
застосовуватись для підвищення якості міського управління, оперативного
виявлення проблем у навколишньому середовищі та слугувати основою для
розвитку smart city-сервісів.
Кваліфікаційна робота складається з 4-х розділів, яких подається
інформація про:
1. Обрану предметну область дослідження та про постановку
проблема;
2. Огляд існуючих технологій, за допомогою яких можна реалізувати
подібну платформу та обґрунтування вибору тієї чи іншої технології;
3. Реалізацію платформи: відображення структури платформи, опис
функцій кожної частини платформи, технічні вимоги, а також
практична оцінка ефективності роботи;
4. Розробка захисту інформації для платформи.
Використана література, під час написання кваліфікаційної роботи,
досить добре розкриває основні методики та підходи для розробки подібних
платформ.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 6
а
1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА ПОСТАНОВКА ЗАДАЧІ
1.1 Аналіз існуючих систем
У межах впровадження концепції «розумного міста» активно
розробляються та використовуються IoT-рішення, які дозволяють в режимі
реального часу збирати, аналізувати та візуалізувати дані про стан довкілля,
інфраструктури та міських сервісів. На світовому ринку існує низка
платформ, що вже демонструють ефективність у таких напрямках.
Розглянуто найпоширеніші з них –Libelium, FIWARE, Airly та Telensa, які
охоплюють різні аспекти смарт-міської інфраструктури: від екологічного
моніторингу до управління освітленням та транспортом.
Libelium – іспанська компанія, яка спеціалізується на розробці IoT-
платформ для моніторингу навколишнього середовища, здоров’я,
енергоспоживання та інших сфер. Одним із її рішень є MySignals –
комплексна платформа для біомедичних вимірювань, але для «розумного
міста» актуальнішою є Smart Environment Platform, зображено на рисунку 1.1.
Рисунок 1.1 – Комплексна платформа
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 7
а
Ця система складається з модульних сенсорних пристроїв, які можуть
вимірювати до 20 параметрів (CO₂, озон, температура, вологість, шум, пил
тощо). Дані передаються через різні протоколи (WiFi, LoRaWAN, Sigfox, 4G)
на сервер або хмару[1]. Сильні сторони – висока точність, гнучкість
конфігурацій та інтеграція з аналітичними платформами.
FIWARE– це відкрита платформа для побудови розумних додатків у
сфері міст, енергетики, транспорту та сільського господарства. Вона
підтримується Європейською комісією й базується на наборі відкритих API
та компонентів, які дозволяють створювати масштабовані, інтероперабельні
рішення.Архітектуру зображено на рисунку 1.2.
Рисунок 1.2 – АрхітектураSmart City FIWARE
У сфері Smart City FIWARE дозволяє об’єднувати дані з багатьох
джерел: сенсорів, міських служб, додатків. Вона забезпечує управління
контекстною інформацією, реєстрацію подій, аналітику, підключення до IoT-
протоколів [2]. Її гнучкість та відкритість роблять її популярним вибором
серед муніципалітетів ЄС.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 8
а
Airly– польська система моніторингу якості повітря, яка широко
використовується у містах Європи. Вона включає компактні сенсорні
пристрої, які вимірюють PM1, PM2.5, PM10, температуру, вологість, тиск,
O₃, NO₂ та CO [3]. Система моніторингу Airly зображено на рисунку 1.3.
Рисунок 1.3 – Система моніторингу Airly
Основна особливість Airly – це зосередженість на простоті
встановлення, високій точності даних та зручному візуальному порталі для
громадськості. Дані передаються на хмарну платформу, де їх можна
переглядати в реальному часі на мапі. Airly активно використовується для
екологічної просвіти населення та прийняття міських рішень на основі
достовірної інформації.
Telensa– британська компанія, яка спеціалізується на рішеннях для
розумного вуличного освітлення та інфраструктури міст. Основна її
платформа дозволяє містам віддалено керувати тисячами ліхтарів, знижувати
енергоспоживання, автоматизувати обслуговування та зменшувати витрати.
Інтерфейс платформи зображено на рисунку 1.4.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 9
а
Рисунок 1.4 – Інтерфейс платформи Telensa
Крім освітлення, Telensa пропонує модулі для збору екологічних даних,
моніторингу дорожнього руху та завантаженості паркінгів. Інфраструктура
базується на бездротовій мережі Ultra Narrow Band (UNB), яка забезпечує
надійну передачу даних навіть у густонаселених зонах. Платформа легко
масштабується й інтегрується з міськими аналітичними системами [4].
Хоча такі системи, як Libelium Smart Environment, FIWARE Smart City
Platform, Airly та Telensa, зарекомендували себе як ефективні рішення для
реалізації концепції «розумного міста», їх широкомасштабне впровадження
пов’язане з високими фінансовими витратами. Це обумовлено як вартістю
самих апаратних компонентів (сенсорів, шлюзів, контролерів), так і
витратами на ліцензоване програмне забезпечення, хмарні сервіси, технічну
підтримку, обслуговування, навчання персоналу та інтеграцію в існуючу
міську інфраструктуру.
Наприклад, один сенсорний модуль від компанії Libelium може
коштувати від 1 000 до 3 000 євро залежно від конфігурації та типів
вимірюваних параметрів [5]. Ще дорожчими є рішення від Telensa, які
передбачають створення приватної бездротової мережі для комунікації з
тисячами пристроїв. FIWARE, хоча й є платформою з відкритим кодом,
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 10
а
вимагає глибоких знань для розгортання, налаштування та підтримки, а
також серверних ресурсів, що теж створює фінансове навантаження. Навіть
більш доступні рішення, як-от Airly, які пропонують сенсори повітря з
фіксованою абонплатою за користування хмарною аналітикою, стають
відчутними для бюджету, якщо потрібно забезпечити моніторинг у багатьох
точках міста.
Для невеликих міст, таких як Черкаси, що мають обмежений бюджет та
інші пріоритетні напрямки розвитку (соціальна інфраструктура, транспорт,
ЖКГ), масштабне впровадження таких систем часто виявляється економічно
недоцільним. Це пов’язано не лише з вартістю закупівлі та обслуговування
обладнання, але й з відсутністю необхідної ІТ-інфраструктури та фахівців,
здатних підтримувати складні системи у робочому стані.
Крім того, функціонал, який пропонують ці рішення, часто перевищує
актуальні потреби невеликих міст. Так, для забезпечення базового
екологічного моніторингу (температура, вологість, рівень CO₂) не
обов’язково впроваджувати дороговартісну багаторівневу систему з
розширеним API, аналітикою в реальному часі, інтеграцією з міськими
службами та штучним інтелектом. У таких випадках доцільніше
застосовувати легкі, адаптивні, модульні рішення, побудовані на базі
відкритих протоколів (наприклад, MQTT) та масштабованих хмарних
платформ, зокрема AWS IoT Core, які дозволяють контролювати витрати та
розвивати систему поступово, залежно від потреб.
Необхідність створення власного рішення з використанням хмарних
технологій і відкритих стандартів є не лише актуальною, але й стратегічно
обґрунтованою для таких міст, як Черкаси. Такий підхід дозволяє уникнути
надлишкових витрат, забезпечити гнучкість і масштабованість, а також
стимулювати локальну ІТ-спільноту до участі у розвитку міської
інфраструктури.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 11
а
Ще одним важливим недоліком більшості існуючих рішень для
«розумного міста» є обмежена інтеграція з іншими інформаційними
системами. Багато з представлених платформ, зокрема Libelium Smart
Environment та Airly, працюють як закриті або напіввідкриті екосистеми, де
дані доступні лише через їхні власні інтерфейси або API, а можливості для
обміну інформацією з муніципальними реєстрами, транспортними
системами, службами екстреного реагування або системами прогнозування
— мінімальні або зовсім відсутні. Наприклад, дані з датчиків повітря можуть
бути корисними не лише для екологічного моніторингу, а й для розумного
регулювання трафіку, управління освітленням або інформування населення
про шкідливі умови в реальному часі – однак за відсутності відкритої
інтеграції такі сценарії залишаються нереалізованими.
У свою чергу, такі системи, як FIWARE, хоч і створені з акцентом на
інтероперабельність, вимагають складного налаштування й не мають готових
рішень для інтеграції з локальними інформаційними платформами, що
робить їх малопридатними для невеликих міст без спеціалізованих ІТ-
команд. Таким чином, існує нагальна потреба у створенні відкритої,
модульної IoT-системи, яка б дозволяла легко поєднувати різні джерела
даних, масштабуватись за потреби та забезпечувати обмін інформацією з
іншими системами – від медичних установ до транспортної інфраструктури.
Реалізація такого підходу, зокрема на основі AWS IoT Core, дозволяє з
самого початку закладати принцип відкритості, що сприятиме створенню
цілісної, взаємопов’язаної екосистеми міських сервісів. Це не лише
підвищить ефективність використання даних, а й дозволить будувати справді
адаптивну та «розумну» міську інфраструктуру.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 12
а
1.2 Постановка задач
У контексті розвитку цифрової трансформації міської інфраструктури
дедалі актуальнішою стає потреба у створенні власних систем розумного
міста, які враховують не лише технічні, а й економічні, організаційні та
регіональні особливості. Одним із найбільш ефективних шляхів досягнення
цієї мети є впровадження розподілених IoT-систем на базі хмарної
платформи Amazon Web Services (AWS).
Використання AWS IoT Core як основи для платформи дає змогу легко
підключати тисячі пристроїв, збирати дані в реальному часі, керувати
потоками інформації та реагувати на події без затримок. Протокол MQTT,
який підтримується AWS IoT Core, дозволяє забезпечити надійне, легке та
енергоефективне передавання даних від сенсорів (температури, вологості,
CO₂ тощо) до хмари навіть у мережах з нестабільним з’єднанням [5].
Завдяки використанню AWS Lambda, AWS DynamoDB, Amazon S3,
Amazon QuickSight та інших сервісів, розробники можуть будувати
автоматизовану, масштабовану архітектуру, яка не потребує фізичних
серверів. Наприклад:
1. AWS Lambda дозволяє обробляти події з пристроїв у режимі
реального часу без використання серверів;
2. Amazon DynamoDB або Amazon Timestream зручно
використовувати для зберігання даних сенсорів із прив’язкою до часу
та місця;
3. Amazon QuickSight забезпечує інтерактивну аналітику та
візуалізацію даних;
4. AWS Amplify або Amazon CloudFront використовуються для
створення веб-порталу, де мешканці або адміністрація можуть
переглядати показники в розрізі адрес, районів або типів пристроїв.
Крім того, AWS має вбудовані сервіси для автентифікації користувачів
(Cognito), логування (CloudWatch), автоматизації масштабування, безпеки,
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 13
а
резервного копіювання і відмовостійкості, що критично важливо для
муніципальних проектів.
Таким чином, розробка системи розумного міста на базі AWS дозволяє:
 скоротити витрати на інфраструктуру;
 спростити технічне обслуговування;
 забезпечити надійне масштабування;
 адаптувати рішення до потреб конкретного міста (наприклад,
Черкас);
 легко інтегрувати інші сервіси та джерела даних;
 реалізувати гнучку панель керування та моніторингу.
Побудова такої системи дає змогу відмовитися від дороговартісних
рішень закритого типу на користь відкритої, прозорої та адаптивної
платформи, яка може зростати разом із цифровими потребами міста.
Для того щоб забезпечити доступність та масштабованість системи
розумного міста, особливо в умовах обмеженого бюджету невеликих міст,
таких як Черкаси, важливо робити акцент на використанні простих,
недорогих, але надійних апаратних компонентів. Одним із ключових
принципів побудови такої системи має бути максимальне здешевлення
сенсорної частини, тобто датчиків та мікроконтролерів, які встановлюються
по місту для збору даних про навколишнє середовище.
Для цього доцільно використовувати бюджетні мікроконтролери, такі
як ESP32 або ESP8266, які підтримують Wi-Fi або Bluetooth, мають достатню
обчислювальну потужність і легко інтегруються з хмарними сервісами через
MQTT. Вони мають відкриту екосистему, велику спільноту розробників,
широкий вибір бібліотек і прикладів, що значно спрощує розробку.
Щодо сенсорів, то вибір має бути зроблений на користь доступних моделей
для екологічного моніторингу, зокрема:
 DHT22 або BME280 — для вимірювання температури та вологості;
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 14
а
 MQ-135 або SGP30 — для вимірювання рівня CO₂, як показника якості
повітря;
 BMP180/BMP280 — для атмосферного тиску;
 MH-Z19 — точніший сенсор CO₂, що теж доступний за ціною.
Ці компоненти широко доступні, прості в підключенні, мають низьке
енергоспоживання та підтримуються багатьма бібліотеками для Arduino,
MicroPython або ESP-IDF, що значно полегшує створення прошивки.
Застосування таких дешевих компонентів дозволяє розгортати велику
кількість сенсорних вузлів без значних витрат. Наприклад, базова станція з
ESP32, живленням від сонячної панелі та двома-трьома сенсорами може
коштувати в межах 15–30 доларів США, що робить її у десятки разів
дешевшою за промислові аналоги.
До того ж, завдяки гнучкості та відкритості архітектури, таку систему
можна легко розширювати або оновлювати — додавати нові сенсори,
модернізувати мікроконтролери, змінювати конфігурацію прошивки без
потреби в повній заміні обладнання.
Таким чином, використання недорогих датчиків і мікроконтролерів —
це стратегічно обґрунтований вибір, який дозволяє створити ефективну,
масштабовану та економічно доцільну систему моніторингу для розумного
міста, яка буде не лише технічно реалізованою, а й фінансово доступною для
муніципалітету.
Ще однією ключовою перевагою запропонованої архітектури є те, що
система побудована за принципом on-demand (на вимогу), тобто
використання обчислювальних ресурсів, сховищ і сервісів AWS відбувається
лише у відповідь на події, зокрема надходження даних від сенсорів. Це
означає, що коли датчики не передають інформацію (наприклад, у періоди
технічного обслуговування, вночі або за умови встановлення меншої частоти
передачі даних), AWS не стягує плату за неактивні ресурси, оскільки вони не
використовуються.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 15
а
Така модель дає змогу суттєво оптимізувати витрати на хмарну
інфраструктуру, що є особливо важливим для невеликих міст або громад із
обмеженим бюджетом. Наприклад, AWS Lambda виконується лише в момент
обробки повідомлення з пристрою, DynamoDB або Timestream нараховують
плату лише за обсяг збережених і оброблених даних, а AWS IoT Core
тарифікується лише за кількість MQTT-повідомлень, які фактично
передаються [6].
У поєднанні з можливістю налаштувати адаптивну частоту передачі
даних залежно від зміни умов (наприклад, передавати дані рідше вночі або за
стабільних показників), це дозволяє досягти високої ефективності
використання ресурсів та мінімізувати фінансові витрати на обслуговування
системи.
Реалізація архітектури на основі on-demand сервісів AWS забезпечує не
лише технічну ефективність, а й економічну доцільність, роблячи рішення
доступним для широкого впровадження без необхідності постійних
інвестицій у підтримку інфраструктури.
Отже, метою кваліфікаційної роботи є є розробка та впровадження IoT-
платформи на базі хмарних сервісів AWS, зокрема AWS IoT Core, для
забезпечення збору, передачі, обробки та візуалізації даних з сенсорів,
розміщених у межах міської інфраструктури. Платформа має дозволяти
моніторинг екологічних параметрів (температура, вологість, рівень CO₂
тощо) в режимі реального часу, забезпечувати масштабованість, надійність
та зручність доступу до даних через веб-портал.
1.3 Висновки до розділу
Аналіз сучасних IoT-рішень у сфері реалізації концепції «розумного
міста» продемонстрував наявність потужних комерційних платформ, таких
як Libelium, FIWARE, Airly та Telensa, які охоплюють широкий спектр задач:
від екологічного моніторингу до керування інфраструктурою. Попри високу
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 16
а
функціональність, ці рішення мають суттєві обмеження для впровадження в
умовах невеликих міст, зокрема через високу вартість апаратного
забезпечення, складність налаштування, потребу в кваліфікованих ІТ-
фахівцях та недостатню інтеграційність із локальними інформаційними
системами.
Більшість існуючих платформ побудовані як частково або повністю
закриті екосистеми, що обмежує можливості обміну даними між різними
міськими службами. Крім того, їхній функціонал часто перевищує реальні
потреби малих населених пунктів, що робить їх впровадження економічно
недоцільним. У таких умовах найбільш ефективним підходом є створення
власної відкритої, модульної IoT-системи, адаптованої під конкретні потреби
та фінансові можливості міста.
Одним із перспективних напрямків є використання хмарної платформи
AWS IoT Core, яка дозволяє створити масштабовану, інтероперабельну,
економічно обґрунтовану архітектуру для розумного міста. Такий підхід
забезпечує не лише зменшення витрат і гнучкість у розгортанні, а й відкриває
можливості для розвитку локальних ІТ-ініціатив і підвищення цифрової
стійкості муніципальної інфраструктури.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 17
а
2 ВИБІР ТЕХНОЛОГІЇ ТА ІНСТРУМЕНТАЛЬНИХ ЗАСОБІВ
РОЗРОБКИ СИСТЕМИ
2.1 Огляд існуючих технологій
Сучасний розвиток інформаційних технологій стрімко змінює підходи
до зберігання, обробки та аналізу даних. Особливо актуальним стає
використання хмарних технологій, які дозволяють організаціям та містам
ефективно управляти великими обсягами інформації без необхідності
утримання власної дорогої інфраструктури. Впровадження таких технологій
відкриває нові можливості для створення розумних систем, що здатні
адаптуватися до змінних умов і масштабуватись відповідно до потреб
користувачів.
Хмарні технології – це інноваційний спосіб надання обчислювальних
ресурсів і послуг через інтернет, який дозволяє користувачам отримувати
доступ до програмного забезпечення, серверів, сховищ даних, аналітичних
інструментів та інших ресурсів без необхідності утримувати фізичне
обладнання на своєму боці. Ці ресурси розміщуються на віддалених серверах
у спеціалізованих дата-центрах, що належать хмарним провайдерам.
IaaS (Infrastructure as a Service) – інфраструктура як послуга. Вона надає
користувачу у віртуальному вигляді сервери, сховища, мережі. Структура
зображена на рисунку 2.1.
Рисунок 2.1 – Структура IaaS
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 18
а
Прикладом таких сервісів є AWS EC2 або Google Compute Engine [6].
PaaS (Platform as a Service) – платформа як послуга. Структура
зображена на рисунку 2.2.
Рисунок 2.2 – Структура PaaS
Вона дозволяє розробникам створювати та розгортати додатки без
необхідності управляти інфраструктурою. Прикладом є Microsoft Azure App
Service.
SaaS (Software as a Service) – програмне забезпечення як послуга.
Структура зображена на рисунку 2.3.
Рисунок 2.3 – Структура SaaS
Це готові додатки, які працюють у браузері або на пристрої
користувача. Наприклад, Google Workspace або Microsoft 365.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 19
а
Однією з головних переваг хмарних технологій є масштабованість –
можливість швидко збільшувати або зменшувати обчислювальні ресурси
відповідно до потреб бізнесу чи користувача.
Також важлива доступність: дані та програми можна використовувати з
будь-якого місця, де є інтернет.
Хмарні сервіси дозволяють суттєво економити кошти, адже немає
необхідності купувати і обслуговувати власне обладнання.Крім того, хмарні
провайдери інвестують значні ресурси у захист даних і резервне копіювання,
що підвищує надійність та безпеку.Швидкість впровадження — ще одна
перевага, яка дає змогу запускати нові проєкти практично миттєво.
У корпоративному секторі хмарні технології використовують для
автоматизації бізнес-процесів, зберігання і аналізу великих обсягів даних.
Розробники застосовують їх для швидкого створення і тестування
програмного забезпечення, розгортаючи середовища без потреби в фізичних
серверах.
Інтернет речей (IoT) значною мірою спирається на хмарні платформи
для збору, обробки та аналізу даних з великої кількості сенсорів.
Також хмарні технології активно використовують у розумних містах і
системах моніторингу для інтеграції різних джерел даних та ефективного
управління ресурсами [7].
Хмарні технології є ключовим елементом цифрової трансформації, що
допомагає організаціям підвищити ефективність, адаптивність та
конкурентоспроможність у сучасному світі.
MQTT (Message Queuing Telemetry Transport) – це легкий і ефективний
протокол передачі повідомлень, спеціально розроблений для комунікації в
умовах обмежених ресурсів та нестабільного з’єднання. Він широко
використовується у системах Інтернету речей (IoT), зокрема у розумних
будинках і розумних містах.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 20
а
Протокол MQTT працює за принципом «публікація-підписка» (publish-
subscribe). Пристрої або сенсори, які збирають дані, публікують
повідомлення на певні теми, а інші пристрої або сервери підписуються на ці
теми і отримують повідомлення в реальному часі [8]. Це робить протокол
дуже легким і ефективним для пристроїв з обмеженими ресурсами та для
мереж з низькою пропускною здатністю. Принцип роботи зображено на
рисунку 2.4.
Рисунок 2.4 – Принцип роботи MQTT
Однією з головних переваг MQTT є низьке споживання трафіку –
повідомлення мають мінімальний обсяг, що дозволяє ефективно працювати в
мобільних та слабкозв’язних мережах. Протокол також підтримує різні рівні
якості обслуговування (QoS), що гарантує доставку повідомлень навіть у
нестабільних умовах. Крім того, MQTT легко масштабується та підтримує
велику кількість пристроїв, що є важливим для розумних міст із тисячами
сенсорів. Протокол відзначається гнучкістю та легко інтегрується з різними
платформами і хмарними сервісами, що забезпечує централізоване
управління та аналіз даних.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 21
а
У розумних будинках MQTT використовується для зв’язку між
датчиками температури, освітленням, системами безпеки та іншими
пристроями, що дозволяє координувати їхню роботу та забезпечувати
віддалене керування. У масштабі розумного міста MQTT допомагає збирати і
передавати дані з різних джерел – від екологічних сенсорів і камер до систем
управління дорожнім рухом, громадським транспортом та комунальними
послугами. Завдяки цьому системи можуть оперативно реагувати на зміни
навколишнього середовища, підвищувати енергоефективність і покращувати
якість життя мешканців.
У системах розумного дому або розумного міста також можна
використовувати протокол HTTP для передачі даних. HTTP є широко
розповсюдженим і добре підтримується, тому на перший погляд здається
зручним вибором для інтеграції пристроїв і сервісів.
Однак використання HTTP у системах IoT зазвичай не є доцільним. По-
перше, HTTP працює за принципом “клієнт-сервер”, де клієнт повинен
кожного разу ініціювати з’єднання для отримання даних. Це створює
додаткове навантаження на мережу і пристрої, особливо якщо йдеться про
десятки або сотні сенсорів, які мають постійно обмінюватися інформацією в
режимі реального часу [9].
Крім того, HTTP є більш «важким» протоколом у порівнянні з MQTT –
він генерує більше трафіку, вимагає більше енергоспоживання і часу на
обробку. Для пристроїв з обмеженими ресурсами, наприклад, батарейних
сенсорів, це є суттєвим недоліком. Саме тому у більшості сучасних IoT-
рішень, особливо тих, що працюють у режимі реального часу, надається
перевага легким протоколам, таким як MQTT.
AWS IoT Core– це керована хмарна платформа від компанії Amazon
Web Services, яка дозволяє підключати пристрої Інтернету речей (IoT) до
хмари, обмінюватися даними з іншими пристроями, зберігати ці дані,
обробляти та аналізувати їх [10]. Ця платформа забезпечує безпечну,
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 22
а
масштабовану і надійну інфраструктуру для побудови розумних рішень,
таких як «розумне місто», «розумний дім», системи моніторингу,
автоматизації, логістики та інші. Архітектура зображена на рисунку 2.5.
Рисунок 2.5 – Архітектура AWS IoT Core
Однією з головних переваг AWS IoT Core є підтримка протоколів
MQTT, HTTP та WebSocket, що дозволяє пристроям надсилати і приймати
повідомлення в реальному часі. MQTT – це легковагий протокол, спеціально
розроблений для пристроїв з обмеженими ресурсами, тому він найчастіше
використовується у зв’язці з AWS IoT Core [11]. Платформа автоматично
маршрутизує повідомлення до відповідних пристроїв або сервісів.
AWS IoT Core підтримує механізми автентифікації та шифрування на
основі сертифікатів, що дозволяє безпечно передавати дані між пристроями
та хмарною інфраструктурою. Кожен пристрій, підключений до платформи,
має унікальний сертифікат, за яким його можна ідентифікувати та
контролювати рівень доступу.
Платформа також має інтеграцію з іншими сервісами AWS. Наприклад,
можна зберігати дані у базах даних (DynamoDB, RDS), обробляти їх за
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 23
а
допомогою AWS Lambda, аналізувати за допомогою Amazon QuickSight або
запускати машинне навчання на базі Amazon SageMaker [12]. Це дозволяє
створювати повноцінні аналітичні й керуючі системи на основі даних з
пристроїв.
Для зручного керування потоком даних у AWS IoT Core
використовується «правила маршрутизації» (IoT Rules Engine), які
дозволяють налаштовувати дії при надходженні певного типу повідомлень.
Наприклад, якщо сенсор надсилає дані про перевищення температури,
система може автоматично надіслати сповіщення, активувати інший пристрій
або зберегти подію в базі даних.
AWS IoT Core є потужним інструментом для створення гнучких,
масштабованих та безпечних IoT-рішень, які можуть обробляти великі
об’єми даних і забезпечувати інтеграцію з іншими сервісами AWS та
зовнішніми системами.
AWS Lambda – це безсерверний обчислювальний сервіс, який дозволяє
запускати код у відповідь на події, не керуючи інфраструктурою. Замість
того щоб налаштовувати сервер, обслуговувати його та платити за постійне
його використання, AWS Lambda автоматично виконує ваш код лише тоді,
коли це потрібно, і лише за час виконання. Це дозволяє створювати
масштабовані та економічно ефективні додатки та мікросервіси.
Функції AWS Lambda можуть запускатися внаслідок багатьох подій:
надходження повідомлення в чергу (наприклад, Amazon SQS), зміни об’єкта
в Amazon S3 (наприклад, завантаження файлу), оновлення в базі даних
(наприклад, DynamoDB), HTTP-запити через Amazon API Gateway, або
повідомлення з AWS IoT Core [13]. Це робить Lambda ідеальним
інструментом для побудови реактивних архітектур, таких як автоматичне
оброблення даних з сенсорів, обробка файлів, перевірка вмісту або навіть
створення бекенду для мобільного або вебзастосунку.Архітектура AWS
Lambda зображена на рисунку 2.6.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 24
а
Рисунок 2.5 – Архітектура AWS Lambda
Ще однією великою перевагою є підтримка різних мов програмування.
AWS Lambda підтримує наступні мови:Python, Node.js
(JavaScript/TypeScript), Java, Go, Ruby, C# (через .NET Core), PowerShell.
Крім того, AWS надає можливість запуску власних виконуваних
середовищ за допомогою Custom Runtime, що дозволяє використовувати
будь-яку іншу мову програмування, якщо вона може працювати в середовищі
Amazon Linux. Наприклад, можна запустити функції, написані на PHP, Rust
або навіть Bash.
Код у Lambda функціях можна розміщувати безпосередньо в консолі
AWS, завантажувати у вигляді архіву .zip або розгортати за допомогою
контейнерів (Docker), що дозволяє зручно інтегруватися з CI/CD-
процесами [14].
AWS Lambda автоматично масштабується – якщо багато пристроїв
одночасно надсилають події, Lambda автоматично створює паралельні
інстанси функції для обробки кожної події. Також можна налаштувати
обмеження на максимальну кількість одночасних викликів.
Таким чином, AWS Lambda є ключовим компонентом у побудові
сучасних хмарних рішень, дозволяючи легко створювати автоматизовані,
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 25
а
масштабовані та керовані подіями системи без необхідності керувати
серверами.
2.2 Обґрунтування вибору
Для початку розробки системи важливо визначитися з технологіями,
які доцільно використати. Це дає змогу правильно спроєктувати архітектуру
платформи, забезпечити ефективну взаємодію між компонентами системи, а
також гарантувати її надійність, масштабованість та безпеку. Правильний
вибір технологій впливає на продуктивність, легкість супроводу та
подальший розвиток IoT-платформи.
Раніше для побудови IoT-рішень найчастіше використовувалися
класичні MQTT-брокери, які забезпечували обмін повідомленнями між
пристроями та сервером. Такий підхід був достатньо популярним через свою
простоту, проте в міру розвитку технологій та зростання потреб у
масштабованості, безпеці та інтеграції з іншими сервісами цей підхід втрачає
актуальність. Сучасні вимоги до IoT-рішень включають не лише обмін
даними між пристроями, а й потребу в обробці великих обсягів інформації,
організації збереження даних, побудові систем аналітики та візуалізації, а
також управлінні доступом до пристроїв і даних.
У таких умовах логічніше використовувати комплексні хмарні
рішення, наприклад AWS IoTCore, яке дозволяє швидко і безпечно
підключати пристрої, обробляти та зберігати дані, а також масштабувати
систему відповідно до потреб користувачів. Це значно спрощує розгортання
IoT-платформи та забезпечує високий рівень інтеграції з іншими сервісами
AWS, що робить таке рішення більш ефективним і перспективним для
реалізації сучасних IoT-систем.
Вибір AWS IoTCore як основної платформи для побудови IoT-рішень
має низку вагомих переваг, які роблять його особливо привабливим для
реалізації як промислових, так і дослідницьких проектів. Насамперед AWS
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 26
а
IoTCore забезпечує надійну, масштабовану інфраструктуру для підключення
великої кількості пристроїв у режимі реального часу. Це надзвичайно
важливо для проектів, де необхідно обробляти значний обсяг даних, які
надходять від різноманітних сенсорів або пристроїв, та оперативно реагувати
на ці дані.
Ще однією важливою перевагою AWS IoTCore є його гнучка інтеграція
з іншими сервісами AWS, такими як Lambda, DynamoDB, S3, Kinesis та інші.
Це дозволяє розширювати функціональність системи без необхідності
створювати складні інтеграційні механізми власноруч [15]. Наприклад, дані,
отримані через AWS IoTCore, можна миттєво передати на обробку у Lambda-
функцію або зберегти у базі даних DynamoDB, що суттєво полегшує
розробку та підтримку системи.
AWS IoTCore також пропонує зручні інструменти для управління
безпекою та автентифікацією пристроїв. Система сертифікатів, політики
доступу та шифрування даних допомагають убезпечити зв’язок між
пристроями та хмарною платформою, що особливо важливо в умовах
зростання кіберзагроз. Ця можливість централізованого управління безпекою
робить AWS IoTCore відмінним вибором для проєктів, де конфіденційність
та захист даних мають першорядне значення.
Крім того, варто відзначити потужну підтримку масштабованості, яку
надає AWS IoTCore. Завдяки використанню хмарної інфраструктури Amazon,
розробник може легко масштабувати рішення залежно від кількості
підключених пристроїв і обсягу оброблюваних даних без необхідності
суттєвої реконфігурації системи або інвестування у власні серверні
потужності. Це особливо важливо для стартапів, наукових досліджень або
експериментальних проектів, де навантаження може змінюватися дуже
динамічно.
Ще однією вагомою причиною обрати AWS IoTCore є зручність
налаштування та управління пристроями. Розробники отримують простий і
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 27
а
зрозумілий інтерфейс для реєстрації, налаштування та моніторингу
підключених пристроїв, що дозволяє швидко розгортати та тестувати
прототипи IoT-систем. Це значно скорочує час виходу на ринок і спрощує
впровадження IoT-рішень у промислові умови.
Таким чином, AWS IoTCore є сучасною, надійною та гнучкою
платформою для побудови IoT-систем, яка надає розробникам інструменти
для швидкої інтеграції пристроїв, забезпечення безпеки, обробки та
візуалізації даних, а також ефективного масштабування рішення під потреби
користувачів. Обрання цієї платформи дозволяє зосередитися на розробці
прикладної логіки та бізнес-функціоналу IoT-проєкту, покладаючи питання
масштабованості, безпеки та управління інфраструктурою на перевірений та
потужний інструмент від Amazon.
Крім використання AWS IoTCore для підключення та обробки даних
від пристроїв, AWS надає розробникам можливість розгорнути всю
інфраструктуру IoT-платформи в єдиному хмарному середовищі. Це
відкриває широкі можливості для побудови комплексних рішень, які не лише
збирають дані з пристроїв, а й ефективно їх обробляють, зберігають,
аналізують та доставляють користувачам у зручному вигляді.
Однією з ключових переваг AWS є підтримка безсерверних технологій,
серед яких особливо виділяється сервіс AWS Lambda. Lambda дозволяє
розробникам виконувати обробку даних у режимі реального часу без
необхідності налаштовувати та обслуговувати власні сервери. Це означає, що
коли пристрій надсилає дані до AWS IoTCore, можна налаштувати правила
для автоматичного запуску Lambda-функцій, які обробляють ці дані —
наприклад, здійснюють фільтрацію, трансформацію або зберігають
інформацію у базу даних. Це не лише спрощує архітектуру системи, а й
знижує витрати на інфраструктуру та адміністрування.
Для організації надійного та масштабованого зберігання даних у хмарі
AWS пропонує сервіси Amazon RDS та AmazonDynamoDB. Amazon RDS —
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 28
а
це керована реляційна база даних, яка підтримує різні рушії (MySQL,
PostgreSQL, MariaDB тощо) та дозволяє організувати централізоване
зберігання структурованих даних із можливістю налаштування реплікації,
резервного копіювання та масштабування. Це особливо важливо у випадках,
коли IoT-система потребує виконання складних SQL-запитів або ведення
транзакцій. Якщо ж система працює з неструктурованими або
напівструктурованими даними, для цього чудово підходить Amazon
Dynamo DB — масштабована NoSQL-база даних, яка забезпечує високу
продуктивність і мінімальні затримки при читанні та записі даних, що
надходять від великої кількості пристроїв.
Щоб надати кінцевим користувачам швидкий і стабільний доступ до
веб-інтерфейсу або API IoT-платформи, AWS пропонує сервіс Amazon Cloud
Front. Це глобальна мережа доставки контенту (CDN), яка кешує вебресурси
на периферійних серверах по всьому світу, завдяки чому користувачі
отримують контент з мінімальними затримками незалежно від свого
географічного розташування. CloudFront також підтримує шифрування та
контроль доступу, що дозволяє підвищити безпеку IoT-системи.
Таким чином, використовуючи AWS IoTCore у поєднанні з Lambda,
RDS (або DynamoDB) та CloudFront, розробник може побудувати цілісну та
високопродуктивну IoT-платформу, яка відповідає сучасним вимогам до
масштабованості, надійності та безпеки. Такий підхід дозволяє швидко
розгортати рішення, гнучко керувати ресурсами та легко інтегрувати
додаткові сервіси AWS у міру зростання проекту, що робить AWS одним із
найкращих варіантів для створення сучасних IoT-систем.
Для зберігання даних, що надходять із сенсорів, доцільніше
використовувати нереляційні бази даних, оскільки вони краще пристосовані
до обробки великих обсягів неструктурованої або напівструктурованої
інформації. Такий підхід дозволяє гнучко працювати з різними форматами
даних, які надходять у режимі реального часу та можуть мати різну
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 29
а
структуру залежно від типу сенсора або пристрою. Одним із
найпоширеніших рішень для таких завдань є MongoDB.
Mongo DB є документно-орієнтованою базою даних, що забезпечує
гнучке та ефективне зберігання даних у форматі JSON-подібних документів.
Це дозволяє легко масштабувати систему та адаптувати модель даних у разі
змін вимог або при додаванні нових сенсорів. Крім того, Mongo DB добре
інтегрується з багатьма хмарними платформами, зокрема з AWS, де можна
розгорнути керовану версію Mongo DB через сервіс Amazon Document DB
або власноруч налаштувати кластер Mongo DB на EC2. Такий підхід дозволяє
ефективно зберігати дані IoT-пристроїв та швидко обробляти запити на
читання або аналітику, що робить його оптимальним для реалізації IoT-
проєктів.
Для розробки пристроїв-датчиків, які будуть зчитувати дані та
надсилати їх на IoT-платформу, важливо обрати мікроконтролер, який
підтримує сучасні протоколи безпеки. Зокрема, під час використання MQTT
для обміну даними з платформою необхідно забезпечити TLS-шифрування,
щоб захистити дані під час передавання та уникнути несанкціонованого
доступу.
Одним із найбільш підходящих мікроконтролерів для цього завдання є
ESP32. Він має достатню обчислювальну потужність, підтримує апаратне та
програмне шифрування TLS, а також має інтегровану підтримку Wi-Fi та
Bluetooth, що значно спрощує підключення до мережі. Крім того, ESP32
широко використовується у проектах IoT завдяки своїй гнучкості, наявності
великої спільноти розробників та широкому вибору бібліотек, які
полегшують реалізацію MQTT-клієнта із TLS-шифруванням. Таким чином,
використання ESP32 дозволяє швидко розробити надійний пристрій-датчик,
який безпечно передаватиме дані на платформу AWS IoTCore або іншу
хмарну інфраструктуру.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 30
а
На основі використання AWS IoTCore, інтеграції з іншими сервісами
AWS, застосування відповідних мікроконтролерів із підтримкою безпечного
зв’язку та зберігання даних у нереляційних базах можна створити ефективну,
масштабовану і безпечну IoT-платформу для відстеження даних із сенсорів.
Такий підхід повністю відповідає цілям даної дипломної роботи і забезпечує
надійне та сучасне рішення для реалізації поставлених завдань.
2.3 Висновки до розділу
У цьому розділі було проведено аналіз сучасних технологій, що
використовуються для побудови систем моніторингу в середовищах
Інтернету речей (IoT) із застосуванням хмарних обчислень. Особливу увагу
приділено архітектурним моделям IaaS, PaaS і SaaS, що демонструють різні
рівні абстракції при роботі з хмарною інфраструктурою. З’ясовано, що для
реалізації гнучкої, масштабованої та надійної IoT-платформи доцільно
використовувати рішення, побудовані на основі хмарних сервісів.
Найбільш придатним для цілей кваліфікаційної роботи виявилася
екосистема AWS, зокрема AWS IoT Core, яка забезпечує надійний зв’язок з
пристроями, підтримує ефективний MQTT-протокол і має інтеграцію з
іншими сервісами, такими як AWS Lambda. Застосування протоколу MQTT
обґрунтовано його високою ефективністю у передачі даних в умовах
обмежених ресурсів і реального часу. Крім того, AWS Lambda забезпечує
обробку подій без потреби в обслуговуванні серверів, що дозволяє скоротити
витрати та спростити розгортання логіки обробки даних.
Таким чином, вибраний стек технологій – MQTT, AWS IoT Core, AWS
Lambda та інші сервіси AWS – надає всі необхідні інструменти для створення
надійної, безпечної та масштабованої системи моніторингу, здатної
ефективно обробляти дані від великої кількості сенсорів у рамках концепції
розумного міста.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 31
а
3 РОЗРОБКА IOT-ПЛАТФОРМИ НА БАЗІ AWS IOT CORE ДЛЯ
ВІДСТЕЖЕННЯ ДАНИХ З СЕНСОРІВ
3.1 Структура системи
Розроблена система повністю побудована на базі хмарних рішень
AWS, що забезпечує їй високу масштабованість, надійність і безпеку.
Використання хмарної інфраструктури дозволяє ефективно керувати
ресурсами, автоматизувати обробку даних і забезпечувати гнучкість у
розгортанні та подальшому розвитку платформи.
Розроблена система отримує вхідну інформацію з датчиків за
допомогою протоколу MQTT – одного з найпопулярніших і
найефективніших протоколів обміну повідомленнями для IoT-пристроїв.
MQTT відомий своєю легкістю, низьким енергоспоживанням і високою
швидкістю передачі даних, що робить його ідеальним для роботи з
обмеженими ресурсами пристроїв, такими як мікроконтролери. За
допомогою цього протоколу датчики передають виміряні показники у
вигляді повідомлень на сервер, де вони можуть бути швидко оброблені та
проаналізовані.
У даній системі роль такого сервера виконує платформа AWS IoTCore–
хмарний сервіс, спеціально розроблений для прийому, обробки та
маршрутизації даних із великої кількості підключених IoT-пристроїв. AWS
IoT Core забезпечує надійне з'єднання між пристроями та хмарою,
підтримуючи захищений протокол TLS для шифрування даних та
автентифікації пристроїв [16]. Це дозволяє гарантувати безпеку передавання
даних навіть у разі роботи з численними пристроями, розкиданими
географічно по різних локаціях.
Коли датчики відправляють свої повідомлення через MQTT, AWS IoT
Core приймає ці дані і може одразу направити їх на подальшу обробку,
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 32
а
наприклад, запустити відповідну AWS Lambda-функцію або зберегти у базі
даних. Такий підхід дозволяє оперативно реагувати на надходження
інформації, виконувати аналітику в реальному часі та зберігати великі обсяги
даних для подальшого аналізу. Завдяки масштабованій архітектурі AWS
IoTCore система здатна працювати із сотнями тисяч і навіть мільйонами
підключених пристроїв без втрати продуктивності. Структуру розробленої
системи зображено на рисунку 3.1.
Рисунок 3.1 – Структура розробленої системи
Отримавши інформацію від датчиків через протокол MQTT і
платформу AWS IoTCore, система автоматично передає ці дані на AWS
Lambda–безсерверну функцію, яка відповідає за обробку отриманих
результатів. Lambda-функція може виконувати різноманітні завдання:
фільтрувати вхідні дані, здійснювати їх трансформацію, проводити
первинний аналіз або підготовку для подальшого збереження. Завдяки
безсерверній архітектурі AWS Lambda забезпечує високу швидкодію та
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 33
а
автоматичне масштабування залежно від обсягу вхідних повідомлень, що
дозволяє системі ефективно працювати навіть при значному
навантаженні[17]. Такий підхід значно спрощує логіку обробки даних і
дозволяє оперативно реагувати на зміни у стані сенсорів або події в системі.
Основним завданням AWS Lambda-функції в розробленій IoT-системі є
обробка даних, отриманих від сенсорів, та їх подальший запис у бази даних
Mongo DB або Amazon RDS. Коли через протокол MQTT повідомлення від
пристроїв надходять на платформу AWS IoT Core, система автоматично
викликає Lambda-функцію, яка відповідає за подальшу обробку цих даних.
Lambda-функція приймає сирі дані від сенсорів і виконує їх попередню
обробку – очищення, нормалізацію, фільтрацію або конвертацію у
необхідний формат [18]. Це дозволяє підвищити якість інформації, уникнути
збереження некоректних чи аномальних значень, а також підготувати дані
для ефективного зберігання й подальшого аналізу.
Після обробки дані записуються у вибрану базу даних: MongoDB, яка
забезпечує гнучке зберігання документно-орієнтованих даних і добре
підходить для роботи з неструктурованою або напівструктурованою
інформацією, або Amazon RDS – керовану реляційну базу даних, яка
забезпечує стабільне і масштабоване зберігання структурованих даних із
підтримкою SQL-запитів.
Використання AWS Lambda забезпечує безсерверне масштабування,
що дозволяє системі ефективно обробляти змінні обсяги даних без
необхідності керувати фізичними серверами або інфраструктурою. Це
особливо важливо для IoT-систем, де кількість підключених пристроїв і
обсяг даних можуть значно змінюватися з часом.
Для передачі даних від датчиків до AWS Lambda-функції
використовується формат JSON. Цей формат є універсальним і широко
застосовується в IoT-системах завдяки своїй легкості, читабельності та
здатності зручно структурувати різноманітні типи інформації. Передаючи
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 34
а
дані у вигляді JSON, сенсори можуть включати в повідомлення різні
параметри – числові значення, текстові поля, часові позначки тощо, що
дозволяє Lambda-функції ефективно їх розпарсити, обробити та зберегти у
базі даних у потрібному вигляді. Такий підхід забезпечує стандартизований і
зрозумілий спосіб обміну інформацією між пристроями та хмарною
платформою.
Для забезпечення безпеки передачі даних мікроконтролер перед
відправкою шифрує інформацію, використовуючи алгоритм AES
(AdvancedEncryption Standard) з 128-бітним ключем [19]. Цей симетричний
алгоритм є одним із найнадійніших і найпоширеніших методів шифрування,
що гарантує конфіденційність даних під час передачі. Після шифрування
повідомлення у форматі JSON надсилаються на сервер у зашифрованому
вигляді, що дозволяє захистити інформацію від перехоплення або
несанкціонованого доступу.
Таке поєднання шифрування на стороні пристрою та використання
захищеного протоколу MQTT з TLS на каналі передачі забезпечує
багаторівневий захист IoT-даних, що є критично важливим для безпечної
роботи платформи.
Розроблена IoT-система також включає серверне програмне
забезпечення, реалізоване на основі платформи Node.js, яке розгортається у
контейнерному середовищі за допомогою сервісу AWS Elastic Container
Service (ECS). Використання Node.js дозволяє створити високопродуктивний,
масштабований і гнучкий бекенд, здатний ефективно обробляти численні
запити від клієнтів та інтегруватися з іншими компонентами платформи.
Серверне програмне забезпечення виконує важливу функцію надання
інтерфейсу для адміністратора системи через панель управління. Ця панель
адміністратора забезпечує зручний та інтуїтивно зрозумілий доступ до
ключових функцій управління IoT-платформою: перегляд статусу
підключених пристроїв, моніторинг потоку даних із сенсорів, аналіз
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 35
а
отриманих показників, а також налаштування параметрів системи. Завдяки
цьому адміністратор має можливість оперативно реагувати на виниклі
проблеми, коригувати налаштування, додавати або видаляти пристрої,
контролювати безпеку системи та виконувати інші адміністративні задачі.
Розгортання серверного додатку у вигляді контейнерів на AWS ECS
забезпечує високу масштабованість і надійність роботи сервісу. ECS
дозволяє автоматично керувати кількістю активних контейнерів залежно від
навантаження, що дозволяє підтримувати стабільну роботу системи навіть
при збільшенні кількості користувачів або підключених пристроїв. Крім того,
використання контейнерної архітектури спрощує процес розгортання,
оновлення та підтримки програмного забезпечення, знижуючи операційні
витрати та час простою.
Node.js, як середовище виконання, підтримує широкий набір бібліотек
та інструментів для розробки RESTful API, що полегшує інтеграцію з
фронтенд-інтерфейсом панелі адміністратора, а також з іншими сервісами
AWS, такими як бази даних, хмарні функції та системи аутентифікації [20].
Це забезпечує високу гнучкість і можливість швидкого розширення
функціоналу системи відповідно до зростаючих потреб користувачів.
Даний серверний додаток, реалізований на платформі Node.js і
розгорнутий у середовищі AWS ECS, не комунікує безпосередньо з
датчиками або IoT-пристроями. Замість цього він працює з інформацією, що
зберігається у базі даних, отриманою після первинної обробки через AWS
Lambda.
Такий підхід дозволяє розділити функції системи: датчики передають
сирі або частково оброблені дані через протокол MQTT на AWS IoTCore,
після чого ці дані проходять обробку у Lambda-функціях і зберігаються у
вибраній базі даних, такій як MongoDB або Amazon RDS. Серверний додаток
у свою чергу отримує доступ саме до цих збережених даних, що гарантує
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 36
а
стабільність і безпеку роботи, а також дозволяє працювати із вже очищеною і
структурованою інформацією.
Завдяки такій архітектурі, серверна частина може виконувати
різноманітні аналітичні та управлінські функції, надавати адміністраторам
актуальну інформацію через панель керування, формувати звіти та
візуалізації, не навантажуючи при цьому безпосередньо IoT-пристрої. Це
підвищує загальну ефективність системи, спрощує масштабування та
обслуговування, а також підвищує рівень безпеки за рахунок ізоляції
основного бекенду від мережевої взаємодії з пристроями.
3.2 Опис функцій системи
Основна задача розробленої системи полягає у надійному зборі даних
із сенсорів, які можуть бути розташовані у будь-якій точці міста. Така
архітектура дозволяє реалізувати концепцію «розумного міста», де
різноманітні пристрої, розподілені по всій території, збирають інформацію
про навколишнє середовище, транспорт, інфраструктуру та інші аспекти
міського життя.
Завдяки широкому охопленню і гнучкості розгортання сенсорів у будь-
яких локаціях, система забезпечує збір актуальних даних у реальному часі,
що сприяє ефективному моніторингу та управлінню міськими ресурсами. Це
дозволяє оперативно реагувати на зміну ситуації, оптимізувати роботу
комунальних служб, підвищувати безпеку і комфорт мешканців.
Таким чином, розроблена платформа виступає ключовим інструментом
для впровадження інтелектуальних технологій у міське середовище,
сприяючи розвитку «розумного міста» і створенню умов для сталого і
зручного життя громадян.
Пристрої-датчики розроблені з урахуванням максимальної простоти та
автоматизації процесу підключення до системи. Для їх запуску не потрібно
виконувати жодних складних налаштувань або додавати пристрій вручну в
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 37
а
платформу. Достатньо встановити в датчик SIM-карту для забезпечення
мобільного зв’язку, підключити його до електромережі – і пристрій
автоматично встановить з’єднання з мережею, активує MQTT-зв’язок через
AWS IoTCore і почне надсилати дані на сервер.
Такий підхід значно спрощує масштабування системи та розгортання
нових пристроїв у будь-яких точках міста, знижує витрати часу і зусиль на
інтеграцію нових сенсорів, а також мінімізує можливі помилки, пов’язані з
ручним введенням чи конфігуруванням обладнання. Завдяки цьому система
може швидко розширюватися, забезпечуючи оперативний збір даних і
підтримку концепції «розумного міста».
Завдяки використанню мобільної мережі для передачі даних, система
отримує можливість автоматично визначати приблизне розташування
кожного пристрою-датчика. Оскільки кожен датчик підключається до мережі
через SIM-карту, інформація про мобільного оператора та базову станцію, до
якої приєднаний пристрій, дозволяє визначати його географічне положення з
достатньою точністю для більшості задач.
Це дає значні переваги у контексті розгортання системи в межах
великого міста або регіону, оскільки немає необхідності додатково
інтегрувати GPS-модулі або інші спеціалізовані засоби позиціонування.
Приблизне визначення місця розташування дозволяє відстежувати, звідки
надходять дані, корелювати інформацію з конкретними локаціями міської
інфраструктури, а також аналізувати просторові закономірності для
прийняття управлінських рішень у рамках концепції «розумного міста».
Адміністратор системи має можливість переглянути повний список
доступних датчиків через спеціальну панель управління. У цьому списку
відображається актуальна інформація про кожен пристрій, зокрема версія
встановленого програмного забезпечення, що дозволяє контролювати
оновлення та забезпечувати своєчасне підтримання системи в актуальному
стані.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 38
а
Крім того, адміністратор може бачити приблизне розташування
кожного датчика, яке визначається на основі даних мобільної мережі, що
використовується пристроєм для передачі інформації. Це дозволяє швидко і
зручно відслідковувати розміщення сенсорів у межах міста, оцінювати їх
розподіл та вчасно реагувати на будь-які зміни або проблеми.
Список зареєстрованих пристроїв зображено на рисунку 3.2.
Рисунок 3.2 – Список зареєстрованих пристроїв
Завдяки такому функціоналу адміністратор отримує повний контроль
над станом та місцем розташування всіх підключених пристроїв, що суттєво
підвищує ефективність управління IoT-платформою та сприяє підтримці
стабільної роботи системи в цілому.
Користувачі системи мають можливість переглядати інформацію, що
надходить із кожного датчика, у зручному вигляді за допомогою
інтерактивних віджетів на панелі керування. Ці віджети відображають
основні параметри, які збирають пристрої, зокрема температуру, вологість та
атмосферний тиск.
Завдяки візуалізації у форматі віджетів користувачі можуть швидко
оцінити поточні умови у різних точках міста, порівнювати показники між
собою та відслідковувати динаміку змін у реальному часі. Інтуїтивно
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 39
а
зрозумілий інтерфейс дозволяє легко переключатися між різними сенсорами
та отримувати детальну інформацію про кожен із параметрів, що значно
спрощує аналіз даних і прийняття обґрунтованих рішень.
Для перегляду інформації у вигляді віджетів, а також для доступу до інших
функціональних можливостей платформи, користувач повинен бути
авторизованим у системі. Авторизація є ключовим елементом безпеки, що
гарантує, що доступ до конфіденційних даних мають лише ті користувачі, які
пройшли відповідну перевірку і отримали дозвіл на роботу з платформою. Це
особливо важливо в контексті IoT-систем, де зберігається та обробляється
велика кількість чутливої інформації, пов’язаної із розташуванням і станом
різних пристроїв. Перегляд інформації з датчиків зображено на рисунку 3.3.
Рисунок 3.3 – Перегляд інформації з датчиків
Для забезпечення належного рівня безпеки і організації користувачів у
системі передбачено механізм реєстрації. Реєстрація дозволяє новим
користувачам створити власний обліковий запис, що містить необхідні дані
для подальшої ідентифікації. Під час реєстрації можуть бути запитані такі
дані, як ім’я, електронна адреса, пароль, а також інші відомості, необхідні
для персоналізації досвіду користування. Це дає можливість системі
підтримувати унікальні профілі користувачів, що полегшує керування
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 40
а
правами доступу, а також дозволяє відстежувати активність і забезпечувати
аудит дій у межах платформи.
Процес реєстрації та авторизації побудований із застосуванням
сучасних стандартів безпеки, таких як захист паролів, використання токенів
доступу і, за потреби, багатоетапна аутентифікація. Це допомагає запобігати
несанкціонованому доступу, захищати особисті дані користувачів і
підтримувати цілісність системи в цілому.
Користувач, який успішно пройшов авторизацію, отримує доступ до
панелі керування, де може переглядати дані у вигляді віджетів, що
відображають температуру, вологість, атмосферний тиск та інші параметри з
різних датчиків. Наявність персоналізованого доступу дозволяє формувати
інтерфейс з урахуванням прав користувача, забезпечуючи як максимальну
зручність, так і належний рівень безпеки.
Впровадження системи реєстрації та авторизації створює надійну
основу для організації роботи з платформою, дозволяє контролювати доступ
до даних і забезпечує захист інформації від потенційних загроз. Це особливо
важливо для комплексних IoT-рішень, які передбачають масштабне
розгортання і залучення великої кількості користувачів з різними рівнями
доступу і функціональними потребами.
Система також забезпечує повний доступ до свого функціоналу з
мобільних пристроїв завдяки використанню технології адаптивного дизайну
(responsivedesign). Це означає, що інтерфейс платформи автоматично
підлаштовується під розмір екрану будь-якого пристрою — смартфона,
планшета або ноутбука — забезпечуючи зручну і комфортну роботу
незалежно від того, де і коли користувач звертається до системи.
Адаптивний дизайн дозволяє зберегти всі ключові функції, включаючи
перегляд інформації у вигляді віджетів, доступ до панелі адміністратора,
перегляд списку датчиків та інших даних, при цьому інтерфейс залишається
інтуїтивно зрозумілим і простим у використанні навіть на невеликих екранах.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 41
а
Такий підхід сприяє підвищенню мобільності користувачів, дозволяючи їм
оперативно отримувати необхідну інформацію і приймати рішення без
прив’язки до стаціонарного комп’ютера.
Завдяки впровадженню responsivedesign система стає доступною для
широкого кола користувачів, що використовують різноманітні пристрої, і
підтримує сучасні стандарти зручності та доступності цифрових сервісів.
3.3 Технічні вимоги для роботи з системою
Для ефективної роботи з розробленою IoT-платформою на базі AWS
IoTCore існують певні технічні вимоги, які забезпечують стабільність,
безпеку та оптимальну продуктивність системи як з боку користувачів, так і з
боку пристроїв та серверної інфраструктури.
Перш за все, для підключення та коректної роботи датчиків необхідно
забезпечити надійне бездротове з’єднання через мобільну мережу. Пристрої
оснащені SIM-картами, тому вони залежать від покриття мобільного
оператора, що впливає на стабільність передачі даних. Відсутність або
слабкий сигнал мобільного зв’язку може призводити до затримок у відправці
інформації або її втрати. Тому для стабільної роботи системи критично
важливо, щоб зона покриття мобільного зв’язку була достатньо широкою,
особливо у тих районах міста, де планується розгортання датчиків.
Крім того, мікроконтролери, такі як ESP32, повинні підтримувати
сучасні протоколи шифрування, зокрема TLS (TransportLayerSecurity) версії
не нижче 1.2, що є необхідним для безпечної передачі даних через MQTT-
протокол до платформи AWS IoTCore. Це дозволяє гарантувати
конфіденційність та цілісність інформації, що надходить від датчиків, а
також запобігає несанкціонованому доступу чи втручанню в процес передачі.
Щодо серверної інфраструктури, платформа використовує сервіси
AWS Lambda для обробки вхідних даних, що вимагає відповідної
конфігурації функцій із достатніми обчислювальними ресурсами та
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 42
а
правильно налаштованими таймаутами для обробки пакетів інформації. Для
зберігання даних застосовується база даних MongoDB або Amazon RDS, що
передбачає потребу у масштабованих та надійних рішеннях з резервним
копіюванням, реплікацією і можливістю швидкого відновлення даних.
Користувачі, які взаємодіють із системою через веб-інтерфейс або
мобільні пристрої, повинні мати стабільне інтернет-з’єднання з мінімальною
пропускною здатністю для комфортної роботи з віджетами і панеллю
адміністратора. Для забезпечення безпеки доступу реалізовані механізми
авторизації та реєстрації користувачів, що вимагають надійних браузерів або
мобільних додатків з підтримкою сучасних стандартів шифрування, таких як
HTTPS.
Інтерфейс платформи адаптований під різні розміри екранів завдяки
технології responsivedesign, тому клієнтські пристрої повинні підтримувати
сучасні веб-технології, включно з HTML5, CSS3 та JavaScript. Це забезпечує
коректне відображення інформації і дозволяє користувачам зручно
переглядати дані з будь-яких пристроїв — від стаціонарних комп’ютерів до
смартфонів.
Важливим аспектом є також належне налаштування прав доступу в
системі, що гарантує, що користувачі мають можливість отримувати лише ту
інформацію та функціонал, на який вони уповноважені. Це потребує
ефективного управління ролями і правами в адміністративній панелі.
Загалом, дотримання цих технічних вимог є основою для стабільної,
безпечної та масштабованої роботи IoT-платформи, яка здатна виконувати
поставлені завдання у межах концепції «розумного міста» та ефективно
обробляти великі обсяги даних, отриманих із розподілених датчиків у різних
точках міської інфраструктури.
3.4 Оцінка ефективності
Оцінка ефективності розробленої IoT-платформи на базі AWS IoTCore
є важливим етапом, який дозволяє визначити ступінь відповідності системи
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 43
а
поставленим цілям, а також її здатність працювати стабільно, безпечно і з
оптимальними ресурсозатратами. Ефективність цієї системи оцінюється за
кількома ключовими параметрами, які охоплюють як технічні, так і
функціональні аспекти.
Першим критерієм є надійність збору та передачі даних із пристроїв-
датчиків. Оскільки система побудована на основі мобільного зв’язку та
MQTT-протоколу, важливо перевірити, наскільки стабільно датчики
передають інформацію в реальному часі, чи не виникають втрати пакетів або
затримки, які можуть вплинути на якість зібраних даних. Використання AWS
IoTCore забезпечує масштабованість та стійкість платформи, дозволяючи
підтримувати стабільне з’єднання з великою кількістю пристроїв одночасно,
що особливо важливо для систем розумного міста з великою кількістю
розташованих датчиків.
Другим аспектом є безпека передачі даних і збереження
конфіденційної інформації. Впровадження TLS-шифрування на стороні
мікроконтролерів та використання захищених каналів AWS IoTCore гарантує
захист даних від несанкціонованого доступу, що є критично важливим для
будь-яких IoT-рішень, де обробляється персональна або інфраструктурна
інформація. Оцінка ефективності безпеки включає перевірку можливостей
системи протистояти потенційним загрозам і втручанням.
Третім важливим параметром є продуктивність функцій обробки даних
у AWS Lambda. Ефективність обробки залежить від того, наскільки швидко
та коректно Lambda-функції виконують аналіз отриманих даних і записують
їх у базу даних, а також від здатності масштабуватися при збільшенні
навантаження. Висока продуктивність цих компонентів дозволяє
забезпечувати своєчасну обробку великих обсягів інформації, що надходить з
численних датчиків.
Четвертий критерій – це зручність і швидкодія інтерфейсу для
користувачів і адміністраторів системи. Оцінка користувацького досвіду
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 44
а
включає швидкість завантаження сторінок, адаптивність інтерфейсу на
різних пристроях, простоту навігації, а також функціональні можливості, такі
як перегляд даних у вигляді віджетів, управління пристроями і доступ до
адміністративних інструментів. Впровадження responsivedesign сприяє
покращенню доступності системи для широкого кола користувачів.
Також варто оцінити ефективність системи у плані управління
пристроями. Автоматичне підключення датчиків без необхідності ручного
додавання значно скорочує час на розгортання нових елементів
інфраструктури, знижує кількість людських помилок і дозволяє швидко
масштабувати платформу у відповідь на потреби міста. Це сприяє
підвищенню загальної ефективності роботи системи, дозволяючи оперативно
збирати і обробляти дані з великої кількості розподілених пристроїв.
Не менш важливою є і економічна ефективність рішення.
Використання хмарних сервісів AWS дає змогу платити лише за фактичне
використання ресурсів, що знижує витрати на утримання інфраструктури і
дозволяє гнучко керувати масштабуванням системи в залежності від
навантаження. Оцінка витрат на експлуатацію у порівнянні з
альтернативними варіантами підтверджує доцільність вибору AWS для
реалізації такого проекту.
Загалом, комплексна оцінка ефективності системи охоплює технічну
надійність, безпеку, продуктивність, зручність використання,
масштабованість і економічність. Всі ці аспекти свідчать про те, що
розроблена платформа здатна виконувати поставлені завдання з високою
якістю, адаптуючись до змінних умов експлуатації та забезпечуючи
стабільну підтримку концепції «розумного міста».
3.5 Висновки до розділу
У даному розділі було розглянуто структуру, принципи роботи та
основні функції розробленої IoT-платформи на базі AWS. Представлена
система базується на сучасних хмарних технологіях, зокрема AWS IoT Core,
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 45
а
AWS Lambda, Amazon RDS, MongoDB та AWS ECS, що забезпечує її
масштабованість, гнучкість, безпеку та високу продуктивність.
Завдяки використанню протоколу MQTT та формату JSON, платформа
дозволяє здійснювати надійний і ефективний обмін даними між сенсорами та
хмарною інфраструктурою. Обробка та зберігання даних здійснюється
автоматично, із забезпеченням шифрування і багаторівневого захисту
інформації. Інтеграція з безсерверними технологіями, зокрема AWS Lambda,
дозволяє системі адаптуватися до змін у навантаженні без втручання в
інфраструктуру.
Серверна частина, реалізована на Node.js та розгорнута в середовищі
ECS, забезпечує зручний інтерфейс адміністратора, який дозволяє керувати
системою, моніторити пристрої та аналізувати зібрані дані. Така архітектура
дозволяє логічно розділити компоненти системи, зменшуючи залежності між
ними та підвищуючи загальну стабільність і безпеку.
Розроблена платформа повністю підтримує концепцію «розумного
міста», надаючи можливість масштабованого й автоматизованого збору
даних з великої кількості сенсорів, які легко підключаються до системи.
Простота додавання нових пристроїв, мобільність, безпека та ефективна
обробка інформації роблять систему гнучким та потужним інструментом для
впровадження інтелектуального моніторингу у міське середовище.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 46
а
4 ЗАХИСТ IOT-ПЛАТФОРМИ НА БАЗІ AWS IOT CORE ДЛЯ
ВІДСТЕЖЕННЯ ДАНИХ З СЕНСОРІВ
4.1 Огляд існуючих рішень
Розумне місто – це складна система, яка поєднує сенсори, IoT-пристрої,
мережеву інфраструктуру, хмарні сервіси та вебпортали для взаємодії з
мешканцями. Така система обробляє великі обсяги чутливої інформації –
дані з сенсорів, персональні дані громадян, статистику трафіку, екологічні
показники тощо. Тому питання інформаційної безпеки є критично важливим
на всіх етапах – від збору даних до їх зберігання, обробки та візуалізації.
На організаційному рівні захист інформації починається ще на етапі
проєктування. Потрібно створити політику безпеки, яка визначає, як і на яких
рівнях буде реалізовано захист. Необхідно чітко визначити ролі, права
доступу, відповідальність персоналу та підрядників. Система має відповідати
міжнародним стандартам, таким як ISO/IEC 27001 або GDPR (якщо
обробляються персональні дані) [21]. Також важливо проводити регулярні
аудити безпеки, зокрема тестування на проникнення, перевірки логів подій та
оновлення політик.
На рівні пристроїв (сенсорів, контролерів) важливо забезпечити їх
автентифікацію перед підключенням до мережі. Кожен пристрій повинен
мати унікальний сертифікат або ключ доступу, щоб уникнути фальсифікації
даних. Не менш важливо – фізичний захист пристроїв, особливо тих, що
розміщені у відкритих громадських місцях. Дані мають шифруватися ще на
самому сенсорі перед передачею до хмари або серверу (наприклад, за
допомогою AES). Крім того, слід передбачити можливість захищених
оновлень прошивки з цифровим підписом, аби уникнути зараження
шкідливим кодом.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 47
а
При передачі даних через мережу слід використовувати захищені
протоколи. Якщо використовується MQTT, то потрібно вмикати його
захищену версію – MQTT over TLS (або MQTTS). Це забезпечує шифрування
даних при передачі та захищає від атак перехоплення (наприклад, “man-in-
the-middle”). Для каналів між пристроями і серверами доцільно застосовувати
VPN або SD-WAN. Також бажано використовувати системи виявлення
вторгнень (IDS/IPS), які моніторять мережеву активність та можуть виявляти
аномалії. Повідомлення можуть додатково підписуватись цифровими
підписами для гарантії цілісності [22].
На рівні зберігання та обробки даних важливо шифрувати дані у базах
даних та на файлових системах. Це забезпечується шифруванням “на диску”
(at-rest) – наприклад, з використанням AES-256 або сервісів на кшталт AWS
KMS. Паролі та критичні дані мають зберігатися у вигляді хешів (bcrypt,
Argon2). Базу даних бажано сегментувати – розділити чутливі дані
(персональні, фінансові) від загальних показників. Регулярне резервне
копіювання з перевіркою цілісності гарантує відновлення у разі атак. Всі
зміни у критичних системах повинні логуватись – з фіксацією часу, IP-адреси
та ID користувача.
Для захисту кінцевих користувачів та адміністраторів обов’язково
впроваджується автентифікація (бажано багатофакторна), авторизація з
розмежуванням доступу, захищені сесії. Доступ до API слід контролювати за
допомогою токенів, обмеження частоти запитів та захисту від атак типу
CSRF, XSS. Вебпортали мають працювати виключно через HTTPS,
використовувати автоматичне завершення сесій та перевірку введених
даних [23]. Для підвищеної безпеки варто вести журнал усіх дій користувачів
у системі.
Не менш важливим є моніторинг і реагування на інциденти. Необхідно
використовувати централізовані системи моніторингу безпеки (наприклад,
SIEM-системи – Splunk, AWS GuardDuty), які аналізують логи в реальному
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 48
а
часі та можуть виявити підозрілу активність. Автоматизовані системи
оповіщення повинні повідомляти про спроби несанкціонованого доступу або
збої у пристроях [24]. Також важливо мати план реагування на інциденти,
який передбачає дії в разі атак – ізоляція проблемної зони, збереження
доказів, інформування відповідальних осіб та швидке відновлення
працездатності.
Загалом, інформаційна безпека у розумному місті має бути
інтегрованою у всі рівні архітектури системи– від пристроїв до хмари, від
збирання даних до виведення їх на панель керування. Лише системний і
багаторівневий підхід забезпечує захищеність від зловмисників, збоїв і
витоків даних.
Захист інформації при роботі з системою (авторизація та
автентифікація). Одним із ключових аспектів захисту інформації в
інфраструктурі розумного міста є забезпечення безпечного доступу до
системи. Це стосується як адміністративної панелі, вебпорталу, так і
мобільних застосунків для мешканців чи технічного персоналу. Усі
користувачі повинні проходити процес автентифікації та авторизації, що
гарантує ідентифікацію особи та контроль за правами доступу.
Автентифікація – це процес перевірки особистості користувача.
Найбільш розповсюдженим методом є автентифікація за допомогою логіну і
паролю. Проте для підвищення безпеки рекомендується використовувати
багатофакторну автентифікацію (MFA) – наприклад, додатковий
одноразовий код із мобільного застосунку (Google Authenticator, SMS-код,
біометрія). Це значно знижує ризик несанкціонованого доступу навіть у разі
викрадення паролю.
Паролі повинні відповідати політиці складності: містити велику та
малу літери, цифри, спеціальні символи, а також регулярно змінюватися. У
системі слід реалізувати захист від підбору пароля (brute-force) – обмеження
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 49
а
кількості спроб входу, блокування облікового запису після кількох невдалих
спроб або впровадження капчі.
Авторизація – це процес визначення, до яких ресурсів має доступ
користувач після успішної автентифікації. Для цього використовуються
ролеві моделі доступу (RBAC). Кожен користувач системи має свою роль:
адміністратор, оператор, аналітик, звичайний мешканець тощо. Кожна роль
має чітко визначені права – що вона може переглядати, змінювати чи
видаляти. Це зменшує ризик ненавмисного або зловмисного втручання.
Ще один ефективний підхід – автоматичне завершення сесій після
періоду бездіяльності користувача. Це допомагає уникнути ситуацій, коли
обліковий запис залишається відкритим на спільному або публічному
пристрої. Всі сесії мають бути захищені протоколом HTTPS з дійсним SSL-
сертифікатом, а куки – мати атрибути HttpOnly та Secure [25].
Крім того, варто реалізувати журналювання всіх спроб входу та дій
користувачів. У разі інциденту це дозволить відстежити, хто і коли
здійснював доступ до системи, які зміни були внесені. Також доцільно
впровадити сповіщення про підозрілу активність – наприклад, вхід з нового
пристрою або IP-адреси.
Поєднання автентифікації, авторизації, захисту сесій та моніторингу
забезпечує ефективний контроль доступу до інформаційної системи
розумного міста. Це дозволяє захистити як внутрішні дані, так і персональні
дані громадян, що взаємодіють із системою.
Захист інформації при збереженні інформації в базі даних. Збереження
інформації в базі даних – це одна з найважливіших ланок у забезпеченні
безпеки системи розумного міста. У базі даних зберігаються як технічні дані
сенсорів і пристроїв, так і персональна інформація мешканців, тому їхня
цілісність і конфіденційність мають бути гарантовані.
Перш за все, бази даних мають бути розміщені в захищеному
середовищі з обмеженим доступом. Це може бути ізольований сервер або
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 50
а
хмарний сервіс із налаштованими правилами безпеки, наприклад, віртуальні
приватні мережі (VPN) і міжмережеві екрани (firewall), що блокують
небажані підключення.
Для захисту даних у базі використовується шифрування. Інформація
повинна бути зашифрована як «на диску» (data-at-rest), так і під час
резервного копіювання. Для цього застосовують сучасні алгоритми
шифрування, наприклад AES-256. Це унеможливлює прочитання даних у разі
фізичного викрадення носіїв або несанкціонованого доступу до серверів.
Крім шифрування, дуже важливо впровадити контроль доступу на рівні
бази даних. Кожен користувач або сервіс, який підключається до бази, має
мати мінімально необхідні права – принцип мінімальних привілеїв.
Наприклад, сервіс збору даних може мати право лише на додавання записів, а
аналітик – лише на читання. Забороняється використовувати загальні або
«адміністраторські» облікові записи для звичайної роботи.
Ще одним важливим заходом є аудит і журналювання доступу до бази
даних. Усі запити на читання, зміну або видалення інформації мають
фіксуватися у журналах з позначкою часу, ідентифікатором користувача та
IP-адресою. Це дозволяє швидко виявляти підозрілу активність і
розслідувати інциденти безпеки.
Захист від SQL-ін’єкцій – ще один критично важливий момент. При
розробці додатків, що працюють з базою, слід використовувати підготовлені
запити (prepared statements) і параметризовані запити. Це запобігає
впровадженню зловмисного коду у запити, який міг би дозволити отримати
несанкціонований доступ або змінити дані.
Регулярне створення резервних копій (бекапів) бази даних – це гарантія
відновлення інформації у випадку аварій, кібератак або збоїв. Бекапи також
мають зберігатися в зашифрованому вигляді і в безпечному місці, окремо від
основних серверів.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 51
а
Важливим елементом є оновлення програмного забезпечення СУБД
(систем управління базами даних) для усунення вразливостей, а також
моніторинг безпеки. Автоматизовані системи можуть відстежувати спроби
несанкціонованого доступу або незвичну активність у базі.
Загалом, комплексний підхід до захисту даних у базі забезпечує
безпеку інформації про розумне місто, мінімізує ризики витоку персональних
даних і гарантує цілісність технічних даних для коректної роботи системи.
Захист інформації при передачі даних з використанням MQTT
протоколу.
MQTT (Message Queuing Telemetry Transport) – це легковаговий
протокол обміну повідомленнями, широко використовуваний у системах
розумного міста для передачі даних від сенсорів та пристроїв до серверів.
Однак, через відкриту природу мережі Інтернет, забезпечення безпеки під час
передачі даних є критично важливим.
Першим і найважливішим заходом є використання шифрування каналу
зв’язку за допомогою TLS (Transport Layer Security). MQTT зазвичай працює
через TCP, і додавання TLS забезпечує захищене з’єднання між клієнтом
(сенсором або пристроєм) і брокером MQTT (сервером), що виключає
можливість прослуховування (eavesdropping) або модифікації даних під час
їхньої передачі.
Ще одним важливим аспектом є автентифікація клієнтів і брокера. Для
цього застосовують механізми логіну і паролю, а також сертифікати X.509 у
випадку використання TLS. Це дозволяє переконатися, що лише довірені
пристрої і сервери можуть підключатися до мережі і обмінюватися даними.
Без правильної автентифікації зловмисник не зможе приєднатися до брокера і
отримати доступ до повідомлень.
Додатково слід реалізувати авторизацію доступу – контролювання, які
клієнти можуть публікувати повідомлення на певні топіки або підписуватися
на них. Це обмежує коло пристроїв, які можуть взаємодіяти з конкретними
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 52
а
даними, запобігаючи несанкціонованому доступу і потенційному втручанню
у систему.
Щоб запобігти атакам повторного відтворення (replay attacks), у MQTT
часто використовують унікальні ідентифікатори сесій та контроль порядку
повідомлень. Також важливо використовувати надійні протоколи управління
сесіями, які не допускають підключення пристроїв із повторюваними або
підробленими ідентифікаторами.
Для додаткового рівня безпеки можна застосовувати шифрування
повідомлень на рівні прикладного рівня (end-to-end шифрування), наприклад,
за допомогою протоколів, таких як AES. Це забезпечує захист навіть у
випадку компрометації брокера, оскільки дані будуть зашифровані до
надсилання і розшифровуються лише на кінцевих пристроях.
Важливо також забезпечити моніторинг і логування активності MQTT-
брокера. Це дозволяє відслідковувати спроби несанкціонованого доступу,
аномальну поведінку пристроїв або мережеві атаки, а також оперативно
реагувати на інциденти безпеки.
Необхідно регулярно оновлювати ПЗ MQTT-брокера та клієнтів для
усунення вразливостей і застосовувати найкращі практики кібербезпеки, щоб
мінімізувати ризики атак.
4.2 Реалізація захисту користувачів
У розробленій IoT-платформі на базі AWS IoTCore питання захисту
користувачів є одним із ключових пріоритетів. Сучасні вимоги до безпеки
даних вимагають реалізації багаторівневих механізмів, які гарантують
конфіденційність, цілісність та доступність інформації як під час її передачі,
так і під час зберігання. Захист користувачів у цій системі реалізований за
допомогою комбінації технологічних рішень та організаційних заходів, що в
комплексі забезпечують високу надійність і безпеку роботи.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 53
а
Перш за все, доступ до системи суворо контролюється через реалізацію
механізму автентифікації та авторизації користувачів. Це означає, що кожен
користувач повинен створити обліковий запис у системі, підтвердивши свою
особу під час реєстрації. При вході в систему користувачі вводять унікальні
облікові дані, які зберігаються у зашифрованому вигляді. Для цього
використовується сучасний алгоритм хешування паролів, наприклад bcrypt,
що запобігає можливості злому пароля навіть у випадку компрометації бази
даних. Такий підхід значно підвищує стійкість системи до атак типу brute-
force або dictionary-attack.
Крім класичної автентифікації за логіном і паролем, у системі
реалізована двофакторна автентифікація (2FA) як додатковий рівень безпеки.
Ця технологія дозволяє користувачеві підтвердити свою особу не лише за
допомогою пароля, а й через одноразовий код, надісланий на мобільний
телефон або генерований додатком для автентифікації. Це суттєво знижує
ризик несанкціонованого доступу навіть у випадку, якщо зловмисник
отримає пароль користувача.
Під час передачі даних від датчиків до хмарної платформи
використовується протокол MQTT із TLS-шифруванням (версія не нижче
1.2), що забезпечує захист даних від перехоплення або модифікації. Таким
чином, навіть якщо хтось спробує перехопити трафік між пристроєм і
сервером, він не зможе розшифрувати повідомлення або змінити його зміст.
Це критично важливо, оскільки дані, що передаються від датчиків, можуть
містити інформацію про стан навколишнього середовища або інші важливі
параметри, і їхня підробка може призвести до спотворення аналітики або
прийняття неправильних управлінських рішень.
На рівні серверної обробки також впроваджені механізми контролю
доступу. AWS Lambda-функції, що відповідають за обробку даних,
налаштовані таким чином, щоб взаємодіяти лише з авторизованими
джерелами даних. Вони використовують IAM-ролі для обмеження прав
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 54
а
доступу, що дозволяє запобігти спробам несанкціонованого виклику функцій
або доступу до інших сервісів AWS. Це створює додатковий рівень захисту
всередині хмарної інфраструктури.
Дані користувачів і дані з пристроїв зберігаються у базі даних
MongoDB RDS, яка налаштована з урахуванням найкращих практик безпеки.
Це включає налаштування брандмауерів (VPC SecurityGroups), шифрування
даних «на льоту» та «у спокої» (at-restencryption), резервне копіювання та
реплікацію даних для відновлення у разі аварій. Таким чином, навіть якщо
станеться збій у роботі одного з компонентів системи, користувацькі дані
залишаються захищеними та доступними.
З точки зору користувацького інтерфейсу також передбачені заходи
захисту від атак, таких як CSRF (Cross-SiteRequestForgery) та XSS (Cross-
SiteScripting). Це реалізовано за допомогою токенів доступу (наприклад, JWT
або CSRF-токени), а також механізмів валідації введених даних на стороні
сервера та клієнта.
Таким чином, система захисту користувачів у розробленій IoT-
платформі є комплексною і багаторівневою. Вона включає автентифікацію та
авторизацію, шифрування даних при передачі та зберіганні, контроль
доступу до функцій та сервісів, налаштування безпечного середовища у
хмарі AWS, а також заходи проти атак через веб-інтерфейс. Усе це разом
створює надійний фундамент для безпечної експлуатації системи,
забезпечуючи довіру користувачів і захищаючи їхню інформацію від
потенційних загроз.
4.3 Висновки до розділу
Захист IoT-платформи на базі AWS IoT Core для відстеження даних із
сенсорів є багаторівневим і комплексним завданням, що охоплює всі етапи
життєвого циклу даних – від збору й передачі до зберігання і обробки. Аналіз
існуючих рішень показав, що ефективний захист вимагає системного
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 55
а
підходу, який включає організаційні політики, безпечну автентифікацію та
авторизацію користувачів, шифрування даних на всіх рівнях, а також
регулярний моніторинг і реагування на інциденти.
Особливу увагу слід приділяти забезпеченню безпечної передачі даних
через мережу, зокрема при використанні MQTT-протоколу, де застосування
TLS, автентифікації клієнтів та брокера, а також контролю доступу суттєво
знижують ризики перехоплення та модифікації повідомлень. Безпечне
зберігання даних у базах даних із застосуванням шифрування та принципу
мінімальних привілеїв дозволяє захистити конфіденційну інформацію від
несанкціонованого доступу.
Впровадження багатофакторної автентифікації, розмежування ролей і
прав доступу, а також надійного журналювання дій користувачів гарантує
безпеку роботи кінцевих користувачів і адміністраторів платформи.
Моніторинг подій і автоматизоване виявлення аномалій сприяють швидкому
реагуванню на потенційні загрози і зменшують можливі збитки.
Таким чином, реалізація комплексної системи захисту на базі AWS IoT
Core забезпечує високий рівень безпеки для IoT-платформи розумного міста,
сприяючи надійному збору, передачі і обробці даних із сенсорів і захищенню
персональних даних громадян.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 56
а
ВИСНОВКИ
У ході виконання кваліфікаційної роботи було досліджено, розроблено
та реалізовано IoT-платформу для збору, передачі, обробки й візуалізації
даних з мережі сенсорів у межах концепції розумного міста. Теоретичне
опрацювання проблематики дозволило сформулювати сучасні вимоги до
архітектури систем Інтернету речей, з урахуванням особливостей хмарних
технологій, зокрема можливостей платформи AWS IoT Core. Було
проаналізовано основні протоколи обміну даними (MQTT), системи безпеки
та принципи масштабованості.
У процесі розробки було спроєктовано архітектуру IoT-системи, що
включає сенсорні пристрої, шлюзи, хмарну інфраструктуру AWS і веб-
інтерфейс адміністратора. Проведено розгортання середовища на базі AWS
IoT Core, реалізовано підключення пристроїв через MQTT, налаштовано
правила обробки повідомлень та маршрутизацію даних до AWS Lambda та
Amazon DynamoDB. Також було створено веб-портал для моніторингу даних
в реальному часі та перегляду історії вимірювань.
Результати роботи підтверджують ефективність застосування AWS IoT
Core як гнучкого, надійного та масштабованого рішення для створення
систем моніторингу, що базуються на IoT. Реалізоване рішення може бути
адаптоване для різних прикладних задач — від контролю мікроклімату в
міських умовах до промислового моніторингу.
Таким чином, поставлені в роботі цілі були досягнуті, а задачі –
повністю виконані. Розроблена система може слугувати основою для
подальшого розвитку функціональності, зокрема шляхом інтеграції модулів
аналітики, машинного навчання, автоматизованого реагування на критичні
показники тощо.
Лист
ЧДТУ.252184.011 ПЗ т
Зм. Лист № докум. Підпис Дат 57
а
ДОДАТОК А
«ЗАТВЕРДЖУЮ»
Завідувач кафедри ІБ та КІ
д.т.н., професор Віра БАБЕНКО
__________________
«___» ____________ 2025 року
IoT-платформа на базі AWS IoT Core для відстеження даних з
сенсорів
Специфікація
482.ЧДТУ.52184-01
Листів 2
Розробник ______________ Костянтин ШВЕДЕНКО
Керівник ______________ Віра БАБЕНКО
Черкаси 2025
2
482.ЧДТУ.52184-01
Позначення Найменування Примітка
Документація
482.ЧДТУ.52184-01 12 01 Текст програми
482.ЧДТУ.52184-01 34 01 Інструкція користувача
ДОДАТОК Б
IoT-платформа на базі AWS IoT Core для відстеження даних з
сенсорів
Текст програми
482.ЧДТУ.52184-01 12 01
Листів 12
Розробник: ______________ Костянтин ШВЕДЕНКО
Черкаси 2025
2
482.ЧДТУ.52184-01 12 01
const AWS = require('aws-sdk');
const crypto = require('crypto');
const MongoClient = require('mongodb').MongoClient;
const axios = require('axios');
const zlib = require('zlib');
const util = require('util');
const MONGODB_URI = process.env.MONGODB_URI;
const DB_NAME = process.env.DB_NAME;
const SENSOR_COLLECTION = 'sensor_data';
const ALERTS_COLLECTION = 'alerts';
const DEVICE_COLLECTION = 'devices';
const ERROR_COLLECTION = 'errors';
const ENCRYPTION_KEY = process.env.ENCRYPTION_KEY;
const SNS_TOPIC_ARN = process.env.SNS_TOPIC_ARN;
const IV_LENGTH = 16;
const BATCH_SIZE = 100;
const sns = new AWS.SNS();
const s3 = new AWS.S3();
const cloudwatch = new AWS.CloudWatch();
let cachedDb = null;
let lastConnectionTime = null;
const CONNECTION_TIMEOUT = 1000 * 60 * 30; // 30 minutes
const gzip = util.promisify(zlib.gzip);
const gunzip = util.promisify(zlib.gunzip);
class DatabaseError extends Error {
constructor(message) {
super(message);
this.name = 'DatabaseError';
}
}
class DecryptionError extends Error {
constructor(message) {
super(message);
this.name = 'DecryptionError';
}
3
482.ЧДТУ.52184-01 12 01
}
class LocationError extends Error {
constructor(message) {
super(message);
this.name = 'LocationError';
}
}
const connectToDatabase = async () => {
if (cachedDb && lastConnectionTime && (Date.now() - lastConnectionTime <
CONNECTION_TIMEOUT)) {
return cachedDb;
}
try {
if (cachedDb) {
await cachedDb.client.close();
}
const client = await MongoClient.connect(MONGODB_URI, {
useNewUrlParser: true,
useUnifiedTopology: true,
serverSelectionTimeoutMS: 5000,
connectTimeoutMS: 10000
});
cachedDb = client.db(DB_NAME);
lastConnectionTime = Date.now();
return cachedDb;
} catch (error) {
throw new DatabaseError(`Database connection failed: ${error.message}`);
}
};
const decrypt = (encryptedData) => {
try {
const iv = Buffer.from(encryptedData.slice(0, IV_LENGTH));
const encrypted = encryptedData.slice(IV_LENGTH);
4
482.ЧДТУ.52184-01 12 01
const decipher = crypto.createDecipheriv('aes-128-cbc', ENCRYPTION_KEY,
iv);
let decrypted = decipher.update(encrypted, 'base64', 'utf8');
decrypted += decipher.final('utf8');
return JSON.parse(decrypted);
} catch (error) {
throw new DecryptionError(`Decryption failed: ${error.message}`);
}
};
const getLocationFromIp = async (ip) => {
try {
const response = await axios.get(`http://ip-api.com/json/${ip}`, {
timeout: 5000
});
if (response.data.status === 'fail') {
throw new Error(response.data.message);
}
return {
country: response.data.country,
city: response.data.city,
lat: response.data.lat,
lon: response.data.lon,
region: response.data.regionName,
timezone: response.data.timezone,
isp: response.data.isp
};
} catch (error) {
throw new LocationError(`Location lookup failed: ${error.message}`);
}
};
const validateSensorData = (data) => {
const schema = {
temperature: {
min: -50,
max: 100
},
pressure: {
5
482.ЧДТУ.52184-01 12 01
min: 800,
max: 1200
},
humidity: {
min: 0,
max: 100
}
};
const errors = [];
for (const [sensor, limits] of Object.entries(schema)) {
if (data[sensor] < limits.min || data[sensor] > limits.max) {
errors.push(`${sensor} value ${data[sensor]} is outside valid range
${limits.min}-${limits.max}`);
}
}
return errors;
};
const checkAlertConditions = (data) => {
const alerts = [];
if (data.temperature > 40) {
alerts.push({
type: 'HIGH_TEMPERATURE',
value: data.temperature,
threshold: 40,
severity: 'HIGH'
});
}
if (data.humidity > 90) {
alerts.push({
type: 'HIGH_HUMIDITY',
value: data.humidity,
threshold: 90,
severity: 'MEDIUM'
});
}
6
482.ЧДТУ.52184-01 12 01
if (data.pressure < 850) {
alerts.push({
type: 'LOW_PRESSURE',
value: data.pressure,
threshold: 850,
severity: 'LOW'
});
}
return alerts;
};
const publishMetrics = async (data) => {
const metrics = [
{
MetricName: 'Temperature',
Value: data.temperature,
Unit: 'None'
},
{
MetricName: 'Pressure',
Value: data.pressure,
Unit: 'None'
},
{
MetricName: 'Humidity',
Value: data.humidity,
Unit: 'Percent'
}
];
const params = {
MetricData: metrics.map(metric => ({
...metric,
Timestamp: new Date(),
Dimensions: [
{
Name: 'Location',
Value: data.location.city
},
7
482.ЧДТУ.52184-01 12 01
{
Name: 'DeviceId',
Value: data.deviceId
}
]
})),
Namespace: 'SensorData'
};
await cloudwatch.putMetricData(params).promise();
};
const publishAlert = async (alert, sensorData) => {
const message = {
alert,
sensorData,
timestamp: new Date().toISOString()
};
await sns.publish({
TopicArn: SNS_TOPIC_ARN,
Message: JSON.stringify(message),
Subject: `Sensor Alert: ${alert.type}`
}).promise();
};
const backupToS3 = async (data, timestamp) => {
const compressed = await gzip(JSON.stringify(data));
const key = `sensor-data/${timestamp.getFullYear()}/${timestamp.getMonth() +
1}/${timestamp.getDate()}/${timestamp.getTime()}.json.gz`;
await s3.putObject({
Bucket: process.env.BACKUP_BUCKET,
Key: key,
Body: compressed,
ContentType: 'application/json',
ContentEncoding: 'gzip'
}).promise();
return key;
};
8
482.ЧДТУ.52184-01 12 01
const processMessage = async (message, ip, deviceId) => {
const decryptedData = decrypt(message);
const location = await getLocationFromIp(ip);
const timestamp = new Date();
const processedData = {
deviceId,
temperature: decryptedData.temperature,
pressure: decryptedData.pressure,
humidity: decryptedData.humidity,
battery: decryptedData.battery,
rssi: decryptedData.rssi,
timestamp,
location,
ip,
raw: message.toString('base64')
};
const validationErrors = validateSensorData(processedData);
if (validationErrors.length > 0) {
processedData.validationErrors = validationErrors;
}
const alerts = checkAlertConditions(processedData);
if (alerts.length > 0) {
processedData.alerts = alerts;
}
return processedData;
};
const updateDeviceStatus = async (db, deviceId, data) => {
await db.collection(DEVICE_COLLECTION).updateOne(
{ deviceId },
{
$set: {
lastSeen: new Date(),
location: data.location,
battery: data.battery,
rssi: data.rssi
9
482.ЧДТУ.52184-01 12 01
},
$inc: {
messageCount: 1
}
},
{ upsert: true }
);
};
exports.handler = async (event) => {
const startTime = Date.now();
const batchId = crypto.randomBytes(16).toString('hex');
try {
const db = await connectToDatabase();
const records = event.Records;
const processedData = [];
const errors = [];
for (const record of records) {
try {
const message = Buffer.from(record.mqtt.payload, 'base64');
const clientId = record.mqtt.clientId;
const deviceId = clientId.split('-')[0];
const clientIp = record.mqtt.clientId.split('-')[1];
const processedMessage = await processMessage(message, clientIp,
deviceId);
processedData.push(processedMessage);
if (processedMessage.alerts) {
for (const alert of processedMessage.alerts) {
await publishAlert(alert, processedMessage);
await db.collection(ALERTS_COLLECTION).insertOne({
...alert,
deviceId,
sensorData: processedMessage,
timestamp: new Date()
});
}
}
10
482.ЧДТУ.52184-01 12 01
await updateDeviceStatus(db, deviceId, processedMessage);
await publishMetrics(processedMessage);
} catch (error) {
errors.push({
record: record,
error: error.message,
timestamp: new Date(),
batchId
});
}
}
if (processedData.length > 0) {
const chunks = [];
for (let i = 0; i < processedData.length; i += BATCH_SIZE) {
chunks.push(processedData.slice(i, i + BATCH_SIZE));
}
await Promise.all(chunks.map(chunk =>
db.collection(SENSOR_COLLECTION).insertMany(chunk)
));
const timestamp = new Date();
const backupKey = await backupToS3(processedData, timestamp);
if (errors.length > 0) {
await db.collection(ERROR_COLLECTION).insertMany(errors);
}
}
const executionTime = Date.now() - startTime;
await cloudwatch.putMetricData({
MetricData: [
{
MetricName: 'ExecutionTime',
Value: executionTime,
Unit: 'Milliseconds',
Dimensions: [
11
482.ЧДТУ.52184-01 12 01
{
Name: 'BatchId',
Value: batchId
}
]
},
{
MetricName: 'ProcessedMessages',
Value: processedData.length,
Unit: 'Count',
Dimensions: [
{
Name: 'BatchId',
Value: batchId
}
]
},
{
MetricName: 'Errors',
Value: errors.length,
Unit: 'Count',
Dimensions: [
{
Name: 'BatchId',
Value: batchId
}
]
}
],
Namespace: 'LambdaMetrics'
}).promise();
return {
statusCode: 200,
body: JSON.stringify({
message: 'Data processed successfully',
processed: processedData.length,
errors: errors.length,
executionTime,
batchId
})
12
482.ЧДТУ.52184-01 12 01
};
} catch (error) {
console.error('Fatal error:', error);
await cloudwatch.putMetricData({
MetricData: [
{
MetricName: 'FatalErrors',
Value: 1,
Unit: 'Count',
Dimensions: [
{
Name: 'ErrorType',
Value: error.name || 'Unknown'
}
]
}
],
Namespace: 'LambdaMetrics'
}).promise();
return {
statusCode: 500,
body: JSON.stringify({
message: 'Fatal error processing data',
error: error.message,
batchId
})
};
}
};
ДОДАТОК В
IoT-платформа на базі AWS IoT Core для відстеження даних з
сенсорів
Інструкція користувача
482.ЧДТУ.52184-01 34 01
Листів 4
Розробник: ______________ Костянтин ШВЕДЕНКО
Черкаси 2025
2
482.ЧДТУ.52184-01 34 01
Щоб розпочати роботу із системою моніторингу даних від датчиків,
насамперед потрібно перейти на веб-інтерфейс платформи через браузер на
комп’ютері або мобільному пристрої (рис. В.1.).
Рисунок В.1 – Перегляд інформації з датчиків
Головна сторінка запропонує створити обліковий запис, якщо
користувач ще не зареєстрований. Створення облікового запису передбачає
заповнення простої форми, у якій слід зазначити ім’я, адресу електронної
пошти та пароль. Для підтвердження електронної пошти користувачу
надсилається лист із посиланням. Після переходу за посиланням реєстрація
завершується, і користувач може входити до системи.
Після авторизації користувача зустрічає головна панель управління. На
цьому екрані відображається загальна інформація про всі активні датчики,
які наразі передають дані на сервер. Користувач бачить інтерактивні віджети,
що візуалізують основні параметри, такі як температура, вологість та
атмосферний тиск. Дані представлені у вигляді зручних графіків та діаграм,
які оновлюються автоматично, щоб користувач завжди отримував
найактуальнішу інформацію.
3
482.ЧДТУ.52184-01 34 01
Щоб переглянути детальні дані, користувач може перейти до розділу
перегляду пристроїв, де перелічені всі датчики, зареєстровані в системі. Тут
можна ознайомитися з технічною інформацією: унікальний ідентифікатор
пристрою, версію прошивки та приблизне розташування. Завдяки
можливості перегляду геолокаційних даних користувач завжди знає, де
встановлено датчики, навіть якщо вони розміщені в різних точках міста.
Система створена так, щоб спростити користування й мінімізувати
необхідність ручного налаштування. Датчики автоматично додаються до
системи, щойно вони підключені до живлення та мобільної мережі (рис. В.2).
Це дозволяє уникнути додаткових складних дій з боку користувача, адже
пристрої одразу починають передавати дані, використовуючи безпечне
з’єднання та протокол MQTT з TLS-шифруванням.
Рисунок В.2 – Список зареєстрованих пристроїв
Для передачі інформації застосовується формат JSON, що гарантує
уніфіковану структуру повідомлень і сумісність з усіма компонентами
системи.
Ще однією перевагою системи є те, що вона доступна для користувачів
незалежно від типу пристрою, з якого вони заходять. Інтерфейс платформи
4
482.ЧДТУ.52184-01 34 01
автоматично підлаштовується під різні екрани завдяки використанню
responsive design. Це означає, що користувач однаково зручно зможе
переглядати та керувати даними як на великому моніторі, так і на
мобільному телефоні.
Доступ до всіх цих функцій можливий лише для зареєстрованих
користувачів, що підвищує безпеку даних. Якщо користувач забув пароль,
він завжди може відновити його, скориставшись відповідною формою
відновлення доступу. Усі паролі зберігаються у зашифрованому вигляді,
тому платформа гарантує конфіденційність особистої інформації.
Щоб отримати більш розширені можливості, користувач, який має
права адміністратора, може керувати додатковими налаштуваннями та
переглядати версію програмного забезпечення пристроїв. Він також може
аналізувати стан усієї системи, переглядати журнали подій та
відслідковувати оновлення. Усі ці функції інтегровані в інтуїтивно
зрозумілий інтерфейс, тому навіть користувач без спеціальної технічної
підготовки легко знайде потрібні опції.
Якщо під час користування виникають запитання або складнощі,
користувач може звернутися до служби підтримки. Контактні дані доступні у
розділі допомоги, де можна знайти електронну адресу для звернень та чат
для оперативного вирішення питань. Команда підтримки готова швидко
надати відповіді на всі запитання й допомогти у разі потреби.
Використовуючи розроблену систему, користувач має у своєму
розпорядженні зручний, безпечний та надійний інструмент для контролю
стану довкілля або інших параметрів, які фіксуються датчиками. Завдяки
простому процесу реєстрації, зручному інтерфейсу та широким можливостям
аналізу даних система дозволяє легко отримувати всю необхідну інформацію
для прийняття правильних рішень та моніторингу у реальному часі.
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1. Гуменюк, В. В., Ковальчук, С. М., Пелешко, Д. О. Інтернет речей: базові
принципи побудови та напрямки розвитку // Системні технології.2019.№
4(125).С. 56-66.
2. Іванов, С. Ю. Хмарні технології в системах Інтернету речей //
Інформаційні технології і засоби навчання.2021.№ 5(89).С. 112-123.
3. Клименко, О. В., Кошик, С. В., Мельник, І. М. Аналіз архітектур
IoTплатформ в умовах розумного міста // Проблеми
програмування.2020.№ 1.С. 45-53.
4. Петренко, М. С., Андрієнко, П. В. Проблеми безпеки в IoTсистемах //
Інформаційні технології та комп’ютерна інженерія.2022.№ 2(52).С. 31-38.
5. Ткаченко, В. І. Використання протоколу MQTT для передачі даних у
системах Інтернету речей // Вісник Національного технічного університету
«ХПІ».2020.№ 10.С. 77-82.
6. Bahga, A., Madisetti, V. Internet of Things: A HandsOnApproach.1st ed.VPT,
2014.442 p.
7. Buyya, R., Dastjerdi, A. V. Internet of Things: Principles and
Paradigms.Morgan Kaufmann, 2016.378 p.
8. Minerva, R., Biru, A., Rotondi, D. Towards a Definition of the Internet of
Things (IoT).IEEE Internet Initiative, 2015.12 p.
9. Salman, T., Jain, R. A survey of protocols and standards for Internet of Things //
Advanced Internet of Things.2015.Vol. 5(1).P. 121.
10.Rodrigues, J. J. P. C., Kumar, N., Albuquerque, V. H. C. A contextaware
system for smart cities using Internet of Things // Journal of Network and
Computer Applications.2018.Vol. 124.P. 111.
11.Dorsemaine, B., Gaulier, J.P., Wary, J.P. Internet of Things: A Definition and
Taxonomy // International Conference on Next Generation Mobile Applications,
Services and Technologies.IEEE, 2015.P. 72-77.
Арк.
ЧДТУ.252184.011 ПЗ 76
Змн. Арк. № докум. Підпис Дата
12.Höller, J., Tsiatsis, V., Mulligan, C. From MachinetoMachine to the Internet of
Things: Introduction to a New Age of Intelligence.Academic Press, 2014.352 p.
13.Bandyopadhyay, D., Sen, J. Internet of Things: Applications and Challenges in
Technology and Standardization // Wireless Personal
Communications.2011.Vol. 58.P. 49-69.
14.Khodadadi, F., Javidan, R., Ghorbani, A. A. A DDoS detection and mitigation
framework for cloudbased IoT networks // Computer Networks.2016.Vol.
134.P. 116-130.
15.Fazio, M., Puliafito, A., Villari, M. An architecture for IoTbased smart
transportation systems // Internet of Things Journal.2018.Vol. 5(5).P. 3559-
3570.
16.AWS. AWS IoT Core Documentation [Electronic resource].Available at:
https://docs.aws.amazon.com/iot/latest/developerguide/
17.Gubbi, J., Buyya, R., Marusic, S. Internet of Things (IoT): A vision,
architectural elements, and future directions // Future Generation Computer
Systems.2013.Vol. 29(7).P. 1645-1660.
18.Yassein, M. B., Shatnawi, M. Q., Alzoubi, H. Smart homes automation using
IoT and cloud computing // International Journal of Advanced Computer
Science and Applications.2017.Vol. 8(10).P. 81-86.
19.Shelby, Z., Hartke, K., Bormann, C. The Constrained Application Protocol
(CoAP) // IETF RFC 7252.2014.112 p.
20.Lin, J., Yu, W., Zhang, N. A survey on Internet of Things: Architecture,
enabling technologies, security and privacy, and applications // IEEE Internet of
Things Journal.2017.Vol. 4(5).P. 1125-1142.
21.Taneja, M., Davy, A. Resourceaware placement of data analytics platform in
Fog Computing // Procedia Computer Science.2017.Vol. 97.P. 153-156.
22.Mahmud, R., Kotagiri, R., Buyya, R. Fog Computing: A Taxonomy, Survey and
Future Directions // Internet of Everything.2018.P. 103-130.
Арк.
ЧДТУ.252184.011 ПЗ 77
Змн. Арк. № докум. Підпис Дата
23.AlFuqaha, A., Guizani, M., Mohammadi, M. Internet of Things: A Survey on
Enabling Technologies, Protocols, and Applications // IEEE Communications
Surveys & Tutorials.2015.Vol. 17(4).P. 2347-2376.
24.Krco, S., Pokric, B., Carrez, F. Designing IoT architecture // IEEE World
Forum on Internet of Things (WFIoT).2014.P. 79-84.
25.Lea, R. IoT and the Cloud: Enabling Innovation in RealTime Data Collection
and Analysis.Intel White Paper, 2015.16 p.
Арк.
ЧДТУ.252184.011 ПЗ 78
Змн. Арк. № докум. Підпис Дата