Головна мета цього напряму – підготовка фахівців з програмування, комп’ютерної техніки та електроніки для розробки та експлуатації комп’ютерних систем: наукових та технічних експериментів; випробувань та досліджень зразків нової техніки та нових технологій; контролю та діагностування складних технічних систем; спостереження та прогнозування стану технічних, біологічних та природних об`єктів; побудови та дослідження комп’ютерних моделей складних систем та процесів.
В процесі навчання студенти вивчають такі дисципліни:
Дисципліни професійної підготовки з інформаційних технологій
(вивчаються наступні мови програмування та технології: С#/ASP.NET MVC/ADO.NET/ Entity, С/С++/Qt/Linux, Java, Python, SQL, PHP, HTML/CSS/JS, Embedded/Assembler/C, Altium Designer, Proteus, MATLAB/Simulink)
Дисципліни професійної підготовки електронного та системного спрямування
Більше на сторінці Напрямки підготовки та спеціальності
Головна мета цього напряму – підготовка фахівців з програмування, комп’ютерної техніки та електроніки для розробки та експлуатації комп’ютерних систем:
В процесі навчання студенти вивчають такі дисципліни:
Метою роботи є розробка мережевих систем збору даних в системах Інтернету речей на на основі CoAP-сервера з проміжним збереженням даних у хмарному середовищі.
Розроблена система основана на вбудованих Linux-платформах та складається з трьох основних частин: серверної частини на базі одноплатного комп’ютера Cubie Board, до якої через інтерфейс І2С підключено гіроскоп та акселерометр MPU-6050; клієнтської частини на базі одноплатного комп’ютера Raspberry Pi, яка являється проміжним шлюзом; клієнтської частини на базі мобільних Android-пристроїв, що відображають сенсорні дані.
На платі Cubie Board розгорнуто СoАР-сервер. Плата Raspberry Pi відіграє роль проміжного шлюзу. На даній платі розгорнуто СoАР-клієнт. Програмне забезпечення сервера та клієнта реалізовано на С/Linux. Передача даних до мобільного клієнта на базі платформи Android здійснюється через проміжне хмарне середовище. У якості хмарної платформи використано Back4App. Програмне забезпечення мобільного клієнта реалізовано на Java/Android.
Проміжний клієнт на Raspberry Pi передає в хмару дані за допомогою HTTP запитів з використанням REST API. Програмний модуль для обміну розроблено на мові програмування Python.
Запропоновані рішення можуть бути використані для розробки мережевих систем збору даних, основаних на Linux-платформах.
В мережевих інформаційно-вимірювальних системах важливим питанням є організація передачі та зберігання вимірювальної інформації для її подальшої обробки.
В ході роботи було розроблено сервер для реалізації веб-сервісу, що автоматично синхронізується з сервером MQTT, MQTT-клієнт для збору даних на базі однокристального мікроконтролера компанії SiLabs та мобільний клієнт на платформі Android. Мобільний клієнт використовує веб-сервіс REST для отримання списку доступних каналів та протокол MQTT для отримання сенсорних даних, відображення їх і збереження у внутрішній базі даних.
Серверне програмне забезпечення реалізовано на мові Java на базі сервера додатків JBossAS в якості програмного середовища за стандартом JavaEE. Для організації доступу до даних використовується ORM-фреймворк Hibernate. Для реалізації веб-сервісу використовується реалізація стандарту JAX-RS, що входить до складу JBossAS. Для реалізації передачі даних за протоколом MQTT вибрано відкритий сервер mosquitto. В якості СУБД використовується PostgreSQL.
Пристрій збору даних реалізовано на базі модуля CP2201EK компанії SiLabs. Програмне забезпечення пристрою реалізовано мовою С на базі TCP/IP стеку uIP0.9. Для передачі даних від модуля використана бібліотека libemqtt. Для конфігурування параметрів розроблено веб-інтерфейс пристрою.
В якості клієнта розроблено мобільний Java-додаток для збору, зберігання і обробки вимірювальних даних на платформі Android. Для зберігання даних використана вбудована реляційна база даних SQLite. Для отримання списку доступних каналів використовується RESTful веб-сервіс, реалізований на основі Spring for Android. Для отримання даних за протоколом MQTT використано відкриту бібліотеку Eclipse Paho. Відображення даних реалізовано на основі AndroidPlot.
Розроблена система надає типові рішення для використання RESTful веб-сервісів та протоколу MQTT для задач збору, відображення та обробки експериментальних даних.
Сучасні децентралізовані системи збору даних повинні бути легко переконфігуровані за принципом Plug-and-Play. Група стандартів IEEE-1451 визначає структуру таких мереж, що складаються з інтелектуальних сенсорів. Ці сенсори містять один або декілька модулів перетворення (TIM) і один мережевий процесор (NCAP). Однією з особливостей цих стандартів є визначення формату вбудованих у модуль TIM електронних специфікацій- Transducer Electronic Data Sheet (TEDS).
В результаті роботи на базі Java-технологій було створено апаратно-програмне забезпечення для реалізації мережі інтелектуальних сенсорів з використанням стандартів групи IEEE-1451, що надає можливість використовувати серійні промислові сенсори у якості інтелектуальних. Модуль TIM реалізовано на основі модуля Raspberry Pi, який виконує роль RESTful Web-сервера. Він зберігає у свої файловій системі файли TEDS у форматі XML. Для реалізації модуля NCAP було обрано Java-систему на базі модуля Cubieboard. Модуль Cubieboard реалізує RESTful Web-сервер та сервер баз даних MySQL. В якості протоколу фізичного рівня для обміну даними між TIM та NCAP використано Ethernet.
Для реалізації RESTful архітектури використано JavaEE специфікацію JAX-RS. В якості сервера обрано контейнер сервлетів Apache Tomcat. В якості провайдера JAX-RS API обрано фреймворк Jersey. Для реалізації доступу до бази даних зі сторони сервера використано фреймворк Hibernate. Для відправки асинхронних JavaScript запитів (AJAX) до сервера використано бібліотеку Jquery2. Відображення даних сенсорів для кожного з каналів TIM реалізовано на основі бібліотеки Chart.js з HTML5-canvas елементами.
З появою сучасних високопродуктивних мікросерверів з підтримкою вбудованих віртуальних машин Java набула актуальності задача побудови на їх основі Web-орієнтованих систем збору експериментальних даних з використанням сучасних фреймворків для розробки програмного забезпечення.
На базі вбудованого Java-мікросервера TINI/Dallas розроблено платформено-незалежну реалізацію Web-орієнтованої мікросерверної системи збору експериментальних даних з реалізацією REST- архітектури. На мові Java розроблено програмне забезпечення мережевого рівня для передачі експериментальних даних, реалізовано клієнт-серверну архітектуру з перевіркою статусу отримання даних клієнтом.
Як проміжний елемент між складовими інформаційно-вимірювальної системи було обрано систему управління реляційними базами даних (СУБД) MySQL, в якій було створено базу даних для зберігання вимірювальних даних. RESTful сервер реалізує задачу адміністрування. Захист Web-сервісу від неавторизованих користувачів відбувається за допомогою фреймворку Spring Security.
Для дослідження Web-орієнтованої мікросерверної інформаційно-вимірювальної системи розроблено демонстраційний макет. Комутаційний мікросервер побудовано на основі мікросервера Tini400 Dallas Systems. Джерелом вимірюваної інформації було обрано датчик температури – терморезистивний вимірювальний перетворювач PT-100. Дані вимірювань передаються на мікросервер мікроконтролерним модулем Silicon Laboratories C8051F310.
Особливістю розробленої системи є створення програмного забезпечення на мові програмування Java для 8-ми бітного ядра без використання “важких” бібліотек. Це забезпечило переносимість програмної частини мікросерверної системи на будь-яку версію Java, включаючи Java Mobile Edition(ME) та дозволило використати переваги мікросерверних Java-технологій.
Метою розробки було створення програмного забезпечення для реалізації ефективної передачі, зберігання та обробки великих обсягів(петабайти) вимірювальної інформації а також віддаленого налаштування сенсорної мережі в умовах великої кількості сенсорів та великих об’ємів даних. В результаті роботи було створення програмне забезпечення, яке базується на програмному фреймворку Kaa ( Cybervision Inc.) та протоколі CoAP. http://www.kaaproject.org
В результаті розробки у платформу Kaa було інтегровано протокол CoAP. CoAP являє собою програмний протокол, призначений для використання у простих електронних пристроях, що дозволяє їм обмінюватися інформацією, використовуючи мережу Інтернет. Структура даних описується у вигляді JSON документу. Для серіалізації та десеріалізації даних використовується бібліотека Avro, яка забезпечує ефективне перетворення програмних об’єктів у бінарний вигляд, а також підтримує стиснення даних, що дуже важливо в умовах обмежених ресурсів Internet-з’єднання.
Було розроблено підсистему налаштувань для SDK платформи Kaa на мовах програмування C та Java. Розроблена підсистема була впроваджена як частина проекту Kaa та поставляється разом з ним. В якості програмного середовища за стандартом JavaEE використовується сервер Tomcat. Для збереження даних на сервері використовується база даних MongoDB. Вибір цієї бази даних зумовлений її здатністю до горизонтального масштабування, що дозволяє підтримувати великі об’єми інформації.
Розроблений сервер базується на незалежних від платформи технологіях та програмному забезпеченні. Розроблена система має здатність одночасно обробляти великі об’єми даних (петабайти інформації) завдяки можливості горизонтального масштабування.
Морські електромагнітні дослідження дозволяють передбачати землетруси, реєструвати вибухи та інші аномалії, а також проводити вивчення глибинного розподілу електропровідності морського дна, що дає унікальну інформацію про стан земних надр.
У розробленому програмному забезпеченні на мові С# реалізовані алгоритми відновлення дальності, координат і інтенсивності джерел електричних і магнітних полів землетрусів і аномалій на базі даних датчиків морського стенду. Передбачено режим розрахунку коефіцієнта провідності ґрунту дна, який впливає на результати вимірювання.
Для побудови об’ємного зображення розподілу електричного і магнітного полів використана бібліотека з відкритим вихідним кодом ComponentOne Studio for .NET, яка надає широкий спектр способів інтерполяції, включаючи лінійну інтерполяцію та інтерполяцію кубічними сплайнами. Також реалізовано режим відображення проекцій об’ємного зображення як для кожного поля окремо, так і для обох полів одночасно. Програмне забезпечення включає бібліотеку моделей типових джерел електричних і магнітних полів із можливістю її подальшого розширення для більш детального аналізу даних, одержаних з морського стенду.
Створене програмне забезпечення використовується для об’ємного відображення результатів вимірювань електричних та магнітних полів в морському середовищі, побудови моделей на основі експериментальних даних, а також для стеження за розвитком і рухом джерел цих аномалій.
Використання багатозадачних систем збору даних обумовлено необхідністю в недорогих і гнучких програмно-апаратних рішеннях, які надавали б можливість об’єднати в одному пристрої функції декількох модулів і дозволяли без значних матеріальних та інтелектуальних зусиль змінювати конфігурацію таких систем.
На базі мікроконтролера Texas Instruments Stellaris lm3s9b95 були реалізовані віртуальні пристрої – аналоги модулів збору даних фірми ICP DAS – I-7050, I-7017, I-7080. Прийом та передача команд для кожного віртуального пристрою відбувається через інтерфейс Ethernet. Можливості мікроконтролера lm3s9b95 дали змогу реалізувати віртуальні модулі цифрового вводу-виводу, аналогового вводу-виводу, лічильника-таймера, що працюють одночасно в режимі розподілення часу.
Розробка програмного забезпечення системи була виконана на мові С в середовищі операційної системи реального часу FreeRTOS, за допомогою якої було забезпечено багатозадачний режим для віртуальних модулів. Кожен віртуальний модуль реалізовано як окрему задачу операційної системи.
Для реалізації роботи пристрою в мережі Ethernet використано TCP/IP-стек lwIP. Для прийому-передачі даних на прикладному рівні реалізовано протокол CoAP, який дозволяє значно зменшити навантаження на обчислювану систему пристрою. Протокол реалізовано на основі транспортного протоколу UDP. Перевірка цілісності даних реалізована на прикладному рівні в протоколі обміну повідомленнями модулів. Використання розробленого пристрою дозволяє значно зменшити вартість побудови інформаційно-вимірювальних систем, надає можливості їх модифікації без значних витрат і труднощів в налаштуванні.
При вирощуванні різних видів рослин у тепличних господарствах виникає необхідність визначення впливу кліматичних параметрів на якісні показники продукції рослинництва. Для цього розроблено інформаційно-вимірювальну систему, яка забезпечує збір експериментальних даних із сенсорів, передачу їх на сервер, збереження у базі даних та подальшу статистичну обробку.
Для збору експериментальних даних використовуються сенсори температури та відносної вологості повітря DHT11, які мають невеликі габаритні розміри, забезпечують достатньо високу швидкодію і прийнятну точність отриманих результатів. Кожен окремий сенсор під’єднаний до модуля бездротового зв’язку Wi-Fi ESP8266.
Для збору даних використовується веб-сервер, побудований за принципами REST API. Такий принцип побудови дозволяє однозначно визначити, з якого саме об’єкту отримано інформацію через використання відповідного простору імен та параметрів ідентифікації. Серверне прграмне забезпечення розроблено на мові Java з використанням технології JAX-RS платформи JavaEE, його робота забезпечується сервером застосунків GlassFish.
Інформація зберігається у реляційній базі даних Oracle 11g. Програмне забезпечення сервера дозволяє проводити статистичну обробку експериментальних даних для створення моделей розвитку рослин та впливу мікроклімату на їх якість.
Розроблена інформаційно-вимірювальна система може бути застосована як у дослідних тепличних господарствах, так і для проведення експериментів у діючих господарствах для підвищення ефективності їх діяльності.
Питання позиціонування мобільних об’єктів актуально для багатьох галузей, включаючи створення автономних роботів і навігацію, транспортних засобів для мобільних роботів, систем віртуальної реальності, відстеження стільникових мереж, визначення координат модулів безпроводових сенсорних мереж.
Запропоновано поєднання двох методів вимірювання – RSSI(Received Signal Strength Indication, визначення потужності прийнятого сигналу) та TOF (Time of Flight, час розповсюдження радіосигналу). Результати вимірювань надходять до хмарного середовища, де виконується обробка даних з використанням алгоритму Калмана. Програмне забезпечення системи розроблено на мовах програмування Apex/Java, С/С++ та Squirrel.
Для реалізації прототипу системи було використано мікроконтролери MSP430G2553 та радіомодулі CC1101+CC1190. Передача даних в хмарне середовище реалізовано на основі модуля Electric Imp. Electric Imp – це плата у формфакторі SD-карти з мікроконтролером Cortex-M3 і вбудованим WiFi модулем (802.11b/g/n), яка дозволяє підключити будь-який зовнішній пристрій до іншого пристрою або до Інтернет-серверу, використовуючи WiFi.
Обробка та збереження даних реалізовано на базі хмарної платформи Salesforce IoT Cloud. В базі даних хмарної платформи зберігаються виміряні значення відстані та результати їх обробки, тому всі підписники мають доступ до результатів вимірювань. Розроблено клієнтське програмне забезпечення з графічним інтерфейсом користувача, за допомогою якого можна отримати результати вимірювань.
Розроблена система дозволяє підвищити точність вимірювання відстані до об’єкту за допомогою радіосигналу в системах локального позиціонування вузлів безпроводових мереж та автономних мобільних об’єктів.
Для можливості навігації при втраті сигналу супутникового навігаційного обладнання використовуються системи з датчиками руху. Вимоги до них включають в себе зменшення ваги та розмірів, що надає переваги для використання в будь якій системі. Тому значно розширюється коло вжитку та області використання мікромеханічних акселерометрів, магнітометрів і гіроскопів та створених на їх основі блоків інерційних вимірювальних модулів.
Розроблено демонстраційний макет модуля вимірювання положення та напрямку. Він реалізований на основі універсальної плати MCU TM4C123G LaunchPad, яка базується на високопродуктивній архітектурі ARM® Cortex®-M4F, та плати з набором сенсорів Sensor Hub BoosterPack. Необхідні вимірювання виконуються за допомогою трьохосьового акселерометра (вимірює прискорення), трьохосьового гіроскопа (вимірює відносний напрямок), трьохосьового магнітометра (вимірює напрямок відносно магнітних полюсів землі).
Прграмне забезпечення модуля розроблено на базі реактивних Java-технологій – фреймворку JavaRx. Це дозволило збільшити швидкодію та ефективність додатків завдяки неблокуючим алгоритмам обробки запитів та використанню шаблону проектування “Observer”. На відміну від звичайних веб-систем, де використовується SQL, такі алгоритми підтримують використання неблокуючих з’єднань до бази даних. Саме тому в системах на основі реактивних технологій активно використовуються noSql бази даних, як Apache CouchDB, Cassandra, Clusterpoint, MongoDB, OrientDB, Qizx, RethinkDB та інші.
Розроблений мережевий модуль з програмним забезпеченням на базі фреймворку JavaRx є основою для застосування в комплексних навігаційних системах з можливістю розширення та поєднання з іншими модулями. Це дозволить оптимізувати процес розробки та спростити інтеграцію в існуючі системи.
В роботі досліджено підходи до побудови віртуальних приладів на базі мобільних пристроїв на платформі Android для дротових та бездротових каналів передачі даних, а також проведено аналіз хмарних програмних платформ для зберігання та аналізу сенсорних даних.
В результаті роботи було створено програмне забезпечення на мові Java для платформи Android для управління віртуальним генератором сигналу високої частоти на базі пристрою ADF4351 компанії Analog Devices. Зв’язок між генератором і мобільною платформою реалізовано на базі інтерфейсу USB. На віддаленому сервері під управлінням операційної системи Debian GNU/Linux було розгорнуто хмарну платформу Nimbits для зберігання та обробки вимірювальної інформації та реалізована взаємодія з нею шляхом виконання асинхронних HTTP-запитів з використанням REST API.
Розроблено технічні рішення та програмне забезпечення на мові програмування Java для платформи Android для реалізації віртуальних приладів з бездротовим каналом передачі даних на основі протоколу Bluetooth. Реалізовано керування та візуалізація даних для спеціалізованого пеленгатора. На мові програмування Java з використанням фреймворку JavaFX розроблено імітатор пеленгатора для моделювання процесу передачі даних.
Реалізація віртуальних приладів на базі мобільних платформ дозволяє суттєво скоротити час розробки модулів інформаційно-вимірювальних систем та в багатьох випадках є економічно більш доцільною, ніж використання існуючих комерційних програмних пакетів.
Представлення даних в візуальному вигляді забезпечує більш ефективну роботу людини по їх вивченню. Візуалізація даних на основі веб-технологій знаходить широке застосування в наукових та статистичних дослідженнях. Метою роботи є автоматизація відображення даних на основі веб-технологій в системах збору акустичної інформації.
Інтерфейс користувача в системі збору акустичної інформації реалізовано на основі фреймворку Angular 5 оскільки це JavaScript-фреймворк, який реалізує принципи побудови SPA. Для автоматизації відображення даних розроблено чотири дочірні компоненти AppComponent: AudioPlayerComponent, AudioRecorderComponent, HomeComponent, AboutComponent. Розроблено компоненти модулів, сервісів додатку, реалізовано візуалізацію спектрограми з використанням Web Audio API, розроблено функціонал блоку запису компонента AudioRecorderComponent, розроблено сценарій оточення для інтерфейсу системи. Реалізовано алгоритм двостороннього зв’язування моделі даних та представлення. Візуалізація акустичної інформації в AudioPlayerComponent відбувається шляхом побудови спектрограми. Побудова статичної спектрограми реалізована на основі бібліотеки d3.js.
Серверна частина системи реалізована на програмній платформі Node.js, яка використовується для створення швидких масштабованих мережевих додатків. При розробці системи збору акустичної інформації використані наступні модулі Node.js: express, ngUniversal, path, morgan, mongoose, binaryServer, http, wav, opener, fs, connect, serveStatic, lame. Для зберігання акустичної інформації використана документно-орієнтована база даних MongoDB, що забезпечило високу продуктивність, доступність даних та масштабованість.
CoRE (Constrained RESTful Environments) – це фреймворк для створення ресурсно-обмежених додатків, що забезпечує роботу в мережах, де розміри пакетів обмежені або присутня висока частота втрат пакетів, причому деякі вузли можуть періодично відключатись на короткі проміжки часу. Як частину реалізації фреймворку робочою групою запропоновано спеціальний протокол CoAP (Constrained Application Protocol), який призначений для обміну даними в мережах ресурсно-обмежених пристроїв та між такими мережами, з’єднаними через Інтернет.
На основі мікрокомп’ютера Raspberry Pi розроблена мережева система для збору експериментальних даних. Програмне забезпечення розроблено на мові Python з використанням фреймворку Django. Розроблено сервер, в якому на основі транспортного протоколу UDP реалізується протокол CoAP, що покращує швидкодію для малих розмірів пакетів даних. Перетворення запитів CoAP-протоколу у запити протоколу HTTP дозволило реалізувати просте кешування, що використовується для датчиків, які опитуються кожні п’ять-десять хвилин. Для візуалізації даних використана JavaScript бібліотека FusionCharts. Для захисту переданих даних використовується утиліта TLS. Розроблено програмні рішення для інтегрування системи з хмарною платформою Carriots ІоТ на основі bash-скриптів та онлайн сервісу hURL в середовищі Linux.
Мікропроцесорні мережі CoRE/CoAP дозволяють повноцінне функціонування та керування ресурсами мікроконтролерних вимірювальних мереж. Для збору та передачі вимірювальної інформації достатньо апаратних ресурсів та оперативної пам’яті 8-бітних мікропроцесорів. Використана технологія є практичною, приклади її типової реалізації знаходяться у вільному доступі.
Стандарт ІSО5725 призначений для оцінювання точності стандартизованих методів вимірювань, в тому числі призначених для цілей випробувань продукції. На практиці наявність у вибірках навіть невеликого числа спостережень, що різко виділяються (аномальних, екстремальних) може кардинально змінити результат статистичного дослідження.
При робастній оцінці враховуються всі наявні експериментальні дані і вона націлена на забезпечення стійкості прийняття статистичних рішень навіть при наявності викидів, які порушують умови застосування класичних статистичних моделей. На підставі проведеного огляду аналогічних рішень було обрано та досліджено S-алгоритм, спрямований на забезпечення стійкої оцінки дисперсії.
На основі Java-технологій розроблено програмне забезпечення системи обробки даних міжлабораторних досліджень. Щоб інтерфейс доступу був універсальним та незалежним від клієнта використано протокол HTTP. Побудована система відповідає вимогам REST.
Для реалізації RESTfull архітектури використано Java бібліотеку Spring Boot, що дозволяє створити самодостатню веб-аплікацію із вбудованим веб-контейнером. Для реалізації доступу до бази даних зі сторони сервера використано фреймворк Hibernate. Для тестування REST API використовується утиліта Postman а в якості клієнта створено HTML сторінки, що за допомогою технології AJAX виконують обмін даними з REST API.
Застосування платформено-незалежних технологій дозволяє використовувати розроблену систему для широкого спектру операційних систем та апаратного забезпечення.