|
|
Кафедра прикладної радіоелектроніки |
[RE-350] Програмування вбудованих систем Інтернету речей

Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
| Рівень вищої освіти | Перший (бакалаврський) |
| Галузь знань | G - Інженерія, виробництво та будівництво |
| Спеціальність | G5 - Електроніка, електронні комунікації, приладобудування та радіотехніка |
| Освітня програма | Всі ОП |
| Статус дисципліни | Вибіркова (Ф-каталог) |
| Форма здобуття вищої освіти | Очна |
| Рік підготовки, семестр | Доступно для вибору починаючи з 2-го курсу, весняний семестр |
| Обсяг дисципліни | 4 кред. (Лекц. 16 год, Практ. год, Лаб. 30 год, СРС. 74 год ) |
| Семестровий контроль/контрольні заходи | Залік |
| Розклад занять | https://schedule.kpi.ua |
| Мова викладання | Українська |
| Інформація про керівника курсу / викладачів
| Лекц.: Нікітчук А. В., Лаб.: Нікітчук А. В.,
|
| Розміщення курсу | |
Програма навчальної дисципліни
1. Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Метою кредитного модуля є формування у студентів здатностей:
- розуміти архітектуру вбудованих систем та Інтернету речей;
- створювати програмне забезпечення вбудовуваних систем з використанням існуючих бібліотек (С/C++);
- проектувати вбудовуванні системи для мережевої взаємодії (Інтернет речей);
- розробляти багатозадачні програми для операційних систем реального часу.
Студент буде знати:
- узагальнену структуру та архітектуру вбудованих систем;
- типовий набір типів даних, операторів та бібліотечних функцій для створення програмного забезпечення;
- різновиди протоколів комунікації для обміну даними всередині вбудованої системи та між системами;
- особливості застосування операційних систем реального часу.
Студент буде вміти:
- створювати проекти в середовищі автоматичної розробки програмного забезпечення для мікроконтролерів;
- реалізовувати алгоритми керування та контролю з використанням периферійних пристроїв;
- обмінюватись даними з мережею Інтернет;
- створювати складні програми для реалізації паралельного виконання багатьох завдань.
Дисципліна формує наступні загальні компетентності (ЗК)
- ЗК 01. Здатність до абстрактного мислення, аналізу та синтезу.
- ЗК 07. Здатність вчитися і оволодівати сучасними знаннями.
Фахові компетентності (ФК)
- ФК 01. Здатність розуміти сутність і значення інформації в розвитку сучасного інформаційного суспільства.
- ФК 04. Здатність здійснювати комп'ютерне моделювання пристроїв, систем і процесів з використанням універсальних пакетів прикладних програм.
- ФК 19. Здатність застосовувати технологію об'єктно-орієнтованого програмування та базові патерни проектування при створені програмного забезпечення із відповідним функціоналом для радіотехнічних інформаційних систем та реалізовувати програми в різних середовищах програмування.
- ФК 20. Здатність обирати методи та засоби обробки інформації із застосуванням інтелектуальних технологій
- ФК 24. Здатність до розробки алгоритмів та їх реалізації в програмно-конфігурованих радіоелектронних системах
Програмні результати навчання (ПРН):
- ПРН 20. Пояснювати принципи побудови й функціонування апаратно-програмних комплексів систем керування та технічного обслуговування для розробки, аналізу і експлуатації інформаційно-телекомунікаційних мереж, телекомунікаційних та радіотехнічних систем.
- ПРН 24. Реалізовувати методи цифрового оброблення сигналів на програмному та апаратному рівнях.
- ПРН 29. Обирати конфігурацію, структуру, основні складові вузли та елементи радіоелектронної апаратури в залежності від її призначення.
2. Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)
Дисципліна формується на основі знань отриманих в межах дисциплін:
- Інформатика
- Англійської мова
- Вступ до спеціальності
- Мережеві технології
3. Зміст навчальної дисципліни
ТЕМА 1. ОСОБЛИВОСТІ ВБУДОВАНИХ СИСТЕМ
Класифікація вбудованих систем. Прикладні області вбудованих систем. Основні характеристиви. Загальна структура вбудованих систем. Відмінності мікроконтролерів від мікропроцесорів. Архітекрура обчислювальної системи. Архітектура системи команд. Типи мікроконтролерів. Вибір мікроконтроллерів. Плати розробника.
ТЕМА 2. ОСОБЛИВОСТІ ПРОГРАМУВАННЯ ВБУДОВУВАНИХ СИСТЕМ
Різновиди програмування вбудованих систем. Надлишкові програмні витрати. Особливості кожного з видів програмування. Код та програма. Як мікроконтролер розуміє програміста. Інструкції мікроконтролера. Цикл виконання інструкцій (Fetch-Decode-Execute). Мови програмування. Cинтаксис С/C++. Типи даних та змінні. Оператори. Контроль потоку програми. Функції. Покажчики.Точка входу в програму. Структура проекту. Файли заголовків (file.h) і реалізації (file.c). Програмні модулі та бібліотеки (розподіл коду на декілька файлів). Процес збірки програми. Cередовище розробки. Toolchain.
ТЕМА 3. КОМУНІКАЦІЯ МІЖ СИСТЕМАМИ ТА РІЗНИМИ БЛОКАМИ ОДНІЄЇ СИСТЕМИ
Зв’язок і його види. Паралельна та послідовна (серійна) комунікація. Синхронна послідовна комунікація. Асинхронна послідовна комунікація. Інтерфейси в вбудованих системах. Топології зв’язку. Комунікаційні протоколи. UART. COM-порт (RS-232). SPI. I2C. Протоколи бездротової комунікації.
ТЕМА 4. ІНТЕРНЕТ РЕЧЕЙ
Мережа – це основа. Тенденції у впровадженні ІоТ. Рівнева мережева архітектура (модель). Архітектура ІоТ. Екосистема ІоТ. Типи взаємодії в ІоТ. Підключення вбудованих систем до Інтернету. Ethernet. Wi-Fi.
ТЕМА 5. КОМУНІКАЦІЯ НА ПРИКЛАДНОМУ РІВНІ
Особливості протоколів прикладного рівня. Популярні протоколи в ІоТ. Клієнт-серверна архітектура. HTTP. Комунікація по HTTP. Серіалізація даних. Десеріалізація. Приклад програми для обміну даними по HTTP. Протокол MQTT. Модель взаємодії Publish-Subscribe (Pub/Sub, Видавець-Підписник). Налаштування комунікації з використанням MQTT. Приклади програм для Publisher та Subscriber пристроїв. Якість обслуговування MQTT.
ТЕМА 6. ВЕЛИКІ ДАНІ ТА ХМАРНІ ТЕХНОЛОГІЇ
Великі дані. Скільки даних збирають датчики. Розподілена обробка даних. Класифікація хмар. Основні функції хмарних обчислень в ІоТ. Сценарії використання хмар у вбудованих системах. Постачальники хмарних послуг. Архітектура AWS IoT. Архітектура Microsoft Azure IoT. Cтворення програми для взаємодії з хмарною платформою ThingsBoard. Панель приладів ІоТ (Dashboard).
ТЕМА 7. ОПЕРАЦІЙНІ СИСТЕМИ РЕАЛЬНОГО ЧАСУ (RTOS)
Операційні системи. Архітектура Super Loop (супер петля/цикл). Багатозадачність. Архітектура RTOS. Планувальник. Потреба у системах реального часу. Системи м’якого та жорсткого реального часу. Популярні RTOS. Встановлення та використання FreeRTOS. Приклад програми для паралельного виконання декількох задач.
ТЕМА 8. ОСНОВНІ АСПЕКТИ СИНХРОНІЗАЦІЇ В RTOS
Виділення пам’яті. Синхронізація. Стан перегонів (Race condition). Черги (Queues). М'ютекси (Mutexes). Семафори (Semaphores). Таймери (Timers).
4. Навчальні матеріали та ресурси
Рекомендована базова література
- Espressif Systems (2023). ESP32-C3 Wireless Adventure: A Comprehensive Guide to IoT.
- Barrett, S. F. (2022). Arduino II: Systems. Швейцарія: Springer International Publishing.
- Barrett, S. F. (2022). Arduino III: Internet of Things. Швейцарія: Springer International Publishing.
- Kamal, R. (2017). Internet of Things: Architecture and Design Principles. Індія: Mc Graw Hill India.
Допоміжна
- Zhou, H. (2013). The Internet of Things in the Cloud: A Middleware Perspective. Сполучені Штати Америки: CRC Press.
- Schwartz, M. (2016). Internet of Things with Arduino Cookbook. Велика Британія: Packt Publishing.
Інформаційні ресурси
- SoftwareSerial Library. Arduino Documentation. URL: https://docs.arduino.cc/learn/
built-in-libraries/software-serial/
- Serial - Arduino Reference. Arduino - Home. URL: https://www.arduino.cc/reference/en/
language/functions/communication/serial/
- SPI - Arduino Reference. Arduino - Home. URL: https://www.arduino.cc/reference/en/
language/functions/communication/spi/
- Wire - Arduino Reference. Arduino - Home. URL: https://www.arduino.cc/reference/en/
language/functions/communication/wire/
- ArduinoJson: Efficient JSON serialization for embedded C++. ArduinoJson. URL: https://arduinojson.org/
- AWS IoT | Industrial, Consumer, Commercial, Automotive | Amazon Web Services. Amazon Web Services, Inc. URL: https://aws.amazon.com//iot/
- Azure IoT Products and Services | Microsoft Azure. Cloud Computing Services | Microsoft Azure. URL: https://azure.microsoft.com/en-us/products/category/iot/
- FreeRTOS task states and state transitions described. FreeRTOS. URL: https://www.freertos.org/RTOS-task-states.html
Навчальний контент
5. Методика опанування навчальної дисципліни (освітнього компонента)
|
№
|
Вид заняття
|
Опис
|
|
Тема 1. Особливості вбудованих систем
|
|
1
|
Лекція
|
- Класифікація вбудованих систем.
- Прикладні області вбудованих систем.
- Основні характеристиви.
- Загальна структура вбудованих систем.
- Відмінності мікроконтролерів від мікропроцесорів.
- Архітекрура обчислювальної системи.
- Архітектура системи команд.
- Типи мікроконтролерів.
- Вибір мікроконтроллерів.
- Плати розробника.
|
|
2
|
Лабораторна
робота
|
Онлайн-симуляція в процесі програмування вбудованих систем.
- Знайомство з симулятором Wokwi.
- Написання коду з застосуванням функцій Arduino.
- Написання коду без застосуванням функцій Arduino.
|
|
Тема 2. Особливості програмування вбудованих систем
|
|
3
|
Лекція
|
- Ключові етапи та аспекти розробки ПЗ для вбудованих систем.
- Програмне навантаження.
- Різновиди програмування вбудованих систем.
- Операційні системи.
- Види коду.
- Мови програмування.
- Цикл виконання інструкцій (Fetch-Decode-Execute).
- Cинтаксис С/C++.
- Процес збірки програми.
|
|
4
|
Лабораторна
робота
|
Контроль потоку програми.
- Оператори та функції в C/C++.
- Налаштування порядку виконання окремих частин коду.
|
|
Тема 3. Комунікаційні протоколи
|
|
5
|
Лекція
|
- Зв'язок і його види
- Типи передачі даних (послідовний, паралельний)
- Методи послідовного зв'язку (синхронний, асинхронний)
- Інтерфейси та комунікаційні протоколи (UART, SPI, I2C)
|
|
6
|
Лабораторна
робота
|
- Внутрішньосистемні та міжсистемні комунікаційні протоколи.
|
|
Тема 4. Інтернет речей (ІоТ)
|
|
7
|
Лекція
|
- Мережа - це основа.
- Особливості ІоТ.
- Архітектура ІоТ.
- Складові ІоТ.
- Типи взаємодії в ІоТ.
- Рівнева мережева архітектура (модель).
- Популярні протоколи.
|
|
8
|
Лабораторна
робота
|
- Підключення вбудованої системи до мережі Інтернет та інтеграція мережевих функцій.
|
|
Тема 5. Комунікація на прикладному рівні
|
|
9
|
Лекція
|
- Протоколи прикладного рівня в ІоТ.
- Клієнт-серверна архітектура та Hypertext Transfer Protocol (HTTP).
- Серіалізація та десеріалізація даних.
- Модель взаємодії публікація-підписка (Publish-Subscribe, Pub/Sub).
- Налаштування комунікації з використанням MQTT (Message Queuing Telemetry Transport).
- Якість обслуговування.
|
|
10
|
Лабораторна
робота
|
- Протоколи прикладного рівня в системах Інтернету речей.
|
|
Тема 6. Великі дані та хмарні технології
|
|
11
|
Лекція
|
- Великі дані (Big data).
- Розподілена обробка даних.
- Класифікація, функції та постачальники хмарних послуг.
- Написання програми для роботи з хмарною платформою.
|
|
12
|
Лабораторна
робота
|
- Основи роботи з хмарною платформою ІоТ.
|
|
Тема 7. Операційні системи реального часу (RTOS)
|
|
13
|
Лекція
|
- Типи операційних систем (GPOS vs RTOS).
- Типи RTOS.
- Багатозадачність.
- Приклади застосування FreeRTOS.
|
|
14
|
Лабораторна
робота
|
- Паралельне виконання завдань з використанням RTOS.
|
|
Тема 8. Основні аспекти синхронізації в RTOS
|
|
15
|
Лекція
|
- Виділення пам’яті в FreeRTOS.
- Черги.
- М’ютекси та семафори.
- Програмні таймери.
|
|
16
|
Лабораторна
робота
|
- Синхронізація доступу до спільних ресурсів в RTOS.
|
|
Захисти робіт та семестровий контроль
|
|
17
|
Лабораторна
робота
|
Заняття присвячені захистам попередніх робіт, підведенню підсумків та оголошенню набраних балів за результатами поточного контролю.
|
|
18
|
Лекція
|
Залік проводиться в період останніх двох тижнів теоретичного навчання у семестрі, як правило, на останньому за розкладом занятті з відповідної навчальної дисципліни (освітнього компонента).
|
6. Самостійна робота студента
1. На протязі семестру:
- Вивчення лекційного матеріалу.
- Опрацювання літературних джерел.
- Відповіді на запитання для самоперевірки та проходження тестів.
2. На протязі тижня перед запланованою датою:
- Підготовка до виконання лабораторних робіт.
- Підготовка до написання контрольної роботи.
- Підготовка до виконання домашньої контрольної роботи.
- Підготовка до заліку.
Політика та контроль
7. Політика навчальної дисципліни (освітнього компонента)
Правила відвідування занять:
- для лекцій та лабораторних робіт - відвідування занять (відеоконференцій Zoom) за розкладом;
- допускається самостійне вивчення матеріалу за допомогою записів лекцій та інших матеріалів розміщених у відповідному дистанційному курсі;
- допускається виконання лабораторних робіт в асинхронному режимі.
Правила поведінки на заняттях:
- на заняттях необхідно використовувати мережу Інтернет для: виконання завдань в дистанційному курсі; ознайомлення з наведеними посиланнями; зручного доступу до сучасних впорядкованих джерел інформації;
- допускається використання мобільних телефонів, ноутбуків та іншої техніки.
Правила захисту лабораторних робіт:
- для захисту лабораторної роботи необхідно відповісти на запитання що можуть виникнути у викладача до отриманих результатів;
- лабораторні роботи захищаються на занятті присвяченому роботі що захищається або на наступному за розкладом.
Правила призначення заохочувальних балів:
- заохочувальні бали призначаються за виконання зазначених в роботах додаткових завдань.
Правила призначення штрафних балів:
- штрафні бали можуть призначатися за невчасну здачу лабораторної роботи.
Політика дедлайнів та перескладань:
- здача тестів, контрольних та лабораторних робіт виконується до останнього заняття з дисципліни в семестрі.
8. Види контролю та рейтингова система оцінювання результатів навчання (РСО)
- Поточний контроль: опитування (тест) за темами лекцій (16 балів), виконання лабораторних робіт (64 бали), МКР (10 балів), ДКР (10 балів).
- Календарний контроль: провадиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу.
- Умови допуску до семестрового контролю: семестровий рейтинг більше 60 балів.
Таблиця відповідності рейтингових балів оцінкам за університетською шкалою
| Кількість балів | Оцінка |
| 100-95 | Відмінно |
| 94-85 | Дуже добре |
| 84-75 | Добре |
| 74-65 | Задовільно |
| 64-60 | Достатньо |
| Менше 60 | Незадовільно |
| Не виконані умови допуску | Не допущено |
9. Додаткова інформація з дисципліни (освітнього компонента)
...
Опис матеріально-технічного та інформаційного забезпечення дисципліни
В дисципліні заплановано використанням програмного забезпечення: Visual Studio Code, Wokwi, PlatformIO.
Заняття проводяться онлайн, за допомогою платформи Zoom. Лабораторні роботи виконуються на власних ПК або на ПК в комп’ютерних лабораторіях кафедри.
Завдання, тести (опитування) та посилання на записи лекцій розміщені на платформі дистанційного навчання "Сікорський".
Робочу програму навчальної дисципліни (силабус):
Складено
Нікітчук А. В.;
Ухвалено кафедрою ПРЕ (протокол № 06/2025 від 25.06.2025 )
Погоджено методичною комісією факультету/ННІ (протокол № 06/2025 від 26.06.2025 )