ЛР2.Ч1 Протоколи IoT. MQTT

2. Зв’язок Node-RED з іншими пристроями по MQTT

У лабораторній роботі №1 показано, що  Node-RED, як правило використовується або на стороні Edge або в якості хмарного застосунку. Якщо  Node-RED використовується на стороні Edge в якості програми для концентратора або шлюзу чи маршрутизатору, наприклад на апаратній платформі Raspberry PI, він може збирати дані з різних пристроїв по протоколам промислових мереж. Таким чином, як варіант, з одного боку Raspberry PI буде взаємодіяти з пристроями по протоколам промислових мереж, а з іншого - взаємодіяти з хмарними застосунками, сервісами та іншими пристроями по MQTT (рис.3). У даній частині лабораторної роботи розглядається Node-RED з точки зору взаємодії з іншими пристроями по MQTT.   

рис.3. Приклад структури рішення IIoT з використанням Raspberry PI та Node-RED.

2.1. Запустіть на своєму ПК на виконання Node-RED.  У налаштуваннях існуючих потоків переведіть статус з активного на пасивний (рис.4), щоб його робота не заважала в даній лабораторній роботі. Після зміни налаштувань зробіть розгортання потоку.

рис.4. Відключення активності потоку (Flow).

2.2. Створіть новий потік (Flow), назвіть його «Laba2». Ознайомтеся з роботою вузлів MQTT з довідника Node-RED. З розділу палітри Input вставте вузол MQTT In. В налаштуваннях Server добавте новий брокер MQTT з назвою mosquitto (рис.5) і адресою серверу http://test.mosquitto.org    

рис.5. Налаштування отримання даних по MQTT.

                У полі Topic вузла «MQTT in» введіть «NUFT TI4/VariantX/#» де X – номер варіанту. Це значить, що цей вузол підписується на всі теми з даної гілки. Використайте вузол Debug для виведенню повідомлень (рис.5). Зробіть розгортання, дочекайтеся коли вузол «MQTT in» покаже статус «Connected».    

У випадку відсутності зв’язку з брокером зробіть спробу пізніше.

2.3. Активуйте на боковій панелі режим відображення повідомлень відлагодження. Змініть значення на тестовому сервері для клапану зі свого варіанту. Аналогічно пункту 1.5 використовуючи Вебсокет-клієнта задайте значення температури.  Зробіть аналіз виведених повідомлень на бічній панелі. Зробіть копію екрану.

2.4. Використовуючи вузли «Slider» та «MQTT out» реалізуйте зв'язок локального графічного інтерфейсу з віртуальним приладом на тестовому сервері, що показує TT101 для вашого варіанту.  Використовуючи вузли «gauge» і «MQTT in» реалізуйте зв'язок локального графічного інтерфейсу з повзунком завдання ступені відкриття клапану на тестовому сервері для вашого варіанту. Програма та зовнішній інтерфейс матиме вигляд приблизно як на рис.6. Для відображення підписів використовуйте теми а для формату відображення чисел ангулярні фільтри. 

 

рис.6. Вигляд фрагменту програми Node-RED та локального інтерфейсу.

Зробіть копії екранів програми Node-RED та локального інтерфейсу.

2.5. Модифікуйте програму так, як це показано на рис.7.  Перейдіть на тестовий сервер, дочекайтеся коли синусоїда опише кілька періодів. Зробіть копії екранів.

рис.7. Вигляд фрагменту програми Node-RED для формування синусоїди.

2.6. Через меню бокової панелі зробіть експорт потоку в буфер обміну і збережіть в окремому файлі, який необхідно буде для захисту.