Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Пр-2_Обмен сообщениями типа JSON c помощью MQTT

.docx
Скачиваний:
9
Добавлен:
17.06.2023
Размер:
202.37 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ

им. проф. М.А. БОНЧ-БРУЕВИЧА»

(СПБГУТ)

Факультет информационных сетей и систем

Кафедра сетей связи и передачи данных

Практическая работа 2

По дисциплине:

Интернет вещей и самоорганизующиеся сети

Тема работы:

Обмен сообщениями типа JSON c помощью MQTT

Номер группы:

4

Работу выполнил студент

группы:

Бойко Дмитрий Игоревич

Проверил:

Доцент кафедры ССиПД

Санкт-Петербург

2022

Задание

Отправляем сигнал через MQTT: действие и данные в формате JSON.

Если тип датчика – «освещение», то также получаем количество света за окном:

  • Если свет увеличился на более чем 5 процентов – выключаем (отправляем команду «Выключить»)

  • Если меньше - включаем в соответствующей пропорции (отправляем команду «Включить Х%», где х – новое значение)

  • Если не изменилось - ничего не делаем

Тип датчика – вентилятор, также получаем тип команды.

  • Команда – включить: вывод сообщения «Вентилятор работает»

  • Команда – выключить: вывод сообщения «Вентилятор не работает»

Выполнение

  1. Устанавливаем и запускаем брокера сообщений MQTT Eclipse Mosquitto

  1. Запустить node-red

  1. Собираем схему

код блока function 1

код блока function 2

  1. Проверяем работу блока управления лампой

Имитируем поступление данных с датчика освещенности в следующем порядке: 100 100 10 10 100.

Смотрим отладочную информацию

Видим, что блок диммера получает сообщения в формате JSON. Как и требовалось в задании в случаи если освещенность не меняется, мы ничего не отправляем.

  1. Проверяем работу блока управления вентилятором

Имитируем поступление данных с переключателя командами Вкл. и Выкл., кодирующиеся числами 1, 0 соответственно, в следующем порядке: Вкл. Выкл. Вкл.

Видим, что блок получает сообщения в формате JSON