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

1. Використання тестових клієнтів для зв’язку по MQTT

Одна із областей застосування MQTT – це обмін між пристроями та програмами, що підключені до Інтернет.  Для цього необхідно використовувати загальнодоступний брокер, наприклад  test.mosquitto.org . Слід звернути увагу, що даний брокер хоч і є безкоштовним, проте він не гарантує безперебійну роботу сервісу, тому його не слід використовувати для реальних рішень, що потребують надійних з’єднань та цілодобового використання.  Брокер test.mosquitto.org використовується виключно в навчальних цілях, за необхідності використання надійних сервісів, слід користуватися іншими брокерами.

1.1. Для ознайомленнями з принципами роботи MQTT скористайтеся тестовими клієнтами та брокером MQTT (рис.1).   Тестовим приладом буде http://test.mosquitto.org/gauge/ який отримує дані через брокер  test.mosquitto.org за темою (topic) “temp/random”. Для перевірки роботи MQTT скористуйтеся тестовим клієнтом http://www.hivemq.com/demos/websocket-client/   (надалі по тексту Вебсокет-клієнт)

На сторінці Вебсокет-клієнта в полі Host введіть test.mosquitto.org , в полі Port 8080, після чого натисніть кнопку Connect.  Повинен з’явитися напис Connected.

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

1.2. На панелі Publish Вебсокет-клієнта в полі Topic впишіть “temp/random”,  QoS задайте рівним 1, в полі Message введіть   якесь значення від 0 до 50, натисніть Publish.  Перейдіть на http://test.mosquitto.org/gauge/ там повинно відобразитися введене Вами значення.

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

1.3. Перейдіть на http://edu.asu.in.ua:1880/ui/#/0 (надалі, тестовий сервер) виберіть вкладку з Вашим варіантом і знайдіть групу елементів з Вашим варіантом:

  • повзунок для керування клапаном
  • тренди температури, позиції клапану, та секундної пилоподібної кривої (0-100)  
  • круговий індикатор температури

рис.2. Вибір вкладки з варіантом та панель для варіанту

1.4.  Відкрийте Вебсокет-клієнт (http://www.hivemq.com/demos/websocket-client/). Якщо ще не зроблене підключення, в полі Host введіть test.mosquitto.org , в полі Port 8080, після чого натисніть кнопку Connect. Повинен з’явитися напис Connected.

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

1.5.  На панелі Publish Вебсокет-клієнта в полі Topic впишіть “NUFT TI4/VariantX/TT101”, де X – номер варіанту. QoS задайте рівним 1, в полі Message введіть   значення від 10.5, натисніть Publish.  Перейдіть на тестовий сервер, подивіться як змінюється значення на круговому індикаторі. Зробіть поступове введення 30, 75, 50, з періодичністю 5 секунд, після кожного натискайте Publish. Подивіться як змінюється значення на тренді.

1.6. На панелі Subscriptions Вебсокет-клієнта натисніть кнопку «Add New Topic Subscription» в полі Topic введіть «NUFT TI4/VariantX/Klapan» де X – номер варіанту.  QoS задайте рівним 1, натисніть кнопку “Subscribe”. Перейдіть на тестовий сервер, змініть значення повзунка. Перейдіть на вкладку  Messages, через кілька хвилин повинно з’явитися повідомлення. Зробіть ще кілька змін, зробіть копію екранів з тестового Вебсокет-клієнта та тестового серверу.

1.7. Підпишіться на всі повідомлення з гілки вашого варіанту. Для цього на панелі Subscriptions Вебсокет-клієнта натисніть кнопку «Add New Topic Subscription» в полі Topic введіть «NUFT TI4/VariantX/#» де X – номер варіанту.  QoS задайте рівним 1, натисніть кнопку “Subscribe”. Тепер в полі Messages будуть з’являтися усі повідомлення з вашої гілки. Змініть значення на тестовому сервері для клапану і температури.

1.8. Підпишіться на всі повідомлення про зміну значення завдання для будь якого клапану. Для цього на панелі Subscriptions Вебсокет-клієнта натисніть кнопку «Add New Topic Subscription» в полі Topic введіть «NUFT TI4/+/Klapan».  QoS задайте рівним 1, натисніть кнопку “Subscribe”. Змініть значення усіх клапанів тестового серверу на вкладці з Вашим варіантом.

1.9. Перейдіть на http://test.mosquitto.org/sys/ для огляду дерева спеціальних тем ($SYS) доступних на брокері test.mosquitto.org. На Вебсокет-клієнті видаліть усі підписки на теми, підпишіться на одну з системних гілок, наприклад «$SYS/broker/uptime», яка показує загальний час роботи брокера в секундах з його останнього перезапуску. Зробіть копії екранів.