ИСПОЛЬЗОВАНИЕ ПРОТОКОЛА MQTT В МОДЕЛИ СИСТЕМЫ ДАТЧКОВ МОНИТОРИНГА СОСТОЯНИЙ ПОМЕЩЕНИЙ

21 мая 2:59

Введение.

В настоящее время технологии мониторинга окружающего пространства идут быстрыми темпами. Результаты труда человека зависят от того, насколько комфортно организованы условия этого труда. Эффективное поддержание микроклимата возможно благодаря информационной системе, в которой датчики мониторинга эффективно обменивались бы информацией о физических параметрах помещений. Для организация обмена информацией требуется специальный протокол, который бы мог работать с удаленными устройствами, учитывая ограниченную полосу пропускания и стесненность самих устройств.

Концепция MOM и протокол MQTT.

Основная идея MOM (message-oriented middleware) заключается в том, что связь между двумя устройствами происходит с использованием распределенных очередей сообщений через специального посредника — брокер. MOM отправляет сообщения от одного приложения в пользовательском пространстве другому [1].

http://meridian-journal.ru/uploads/2020/05/4184-3.PNG

Рисунок 1. Концепция MOM с использование посредника.

Рисунок 1 демонстрирует порядок обмена сообщений между клиентом, генерирующим сообщения (издателем), и принимающим клиентом (подписчиком) через сервер-посредник (брокер). Общение между конечными устройствами происходит через очереди сообщений.

Реализацией концепции MOM является протокол MQTT. Его главными особенностями являются:

  1. Простота использования

Размер пакетов MQTT довольно мал, минимальный размер составляет 2 байта. Притом пользователь может сам определять формат сообщений.

  1. Обеспечение необходимого уровня качества обслуживания

Поскольку MQTT расзработан на базе стека протоколов TCP/IP, то трафик распределяется по приоритетам его обработки (QoS). Технология QoS гарантирует передачу данных между конечными устройствами. MQTT использует 3 уровня QoS.

  1. Эффективность

Протокол позволяет обслуживать большое количество устройств независимо от задержек сети.

  1. Не зависим от используемой платформы

MQTT-клиент обладает кросплатформенностью, его можно можно установить в любой системе.

  1. Безопасность.

MQTT-клиент может подключится к брокеру используя такие методы шифрования как TLS-PSK (клиент и брокер обладают секретным ключом для безопасного соединения) или SSL (использование сгенерированного сертификата от доверенного центра).

В MQTT используется 16 типов сообщений. Стандартными типами являются CONNECT (запрос на соединение), CONNACK (подтверждение соединения), SUBSCRIBE (запрос на подписку), SUBACK (подтверждение подписки), PUBLISH (публикация сообщения по топику), PUBACK (подверждение публикации).

В сообщениях MQTT указывается определенная тема, топик, в которой и будут публиковаться полученные с датчиков измерения. Топики имеют иерархическую структуру формата «дерево», что упрощает доступ к данным и их организацию. [2]

Поскольку датчики могут измерять температуру, влажность, освещенности и другие парамаетры, то и топикам следует давать осмысленные названия. Например, Floor1/Room31/Sensor1/Humidity или Floor1/Room31/Sensor2/Light. В обоих случаях подразумевается, что датчики занимаются мониторингом влажности и оосвещенности в кабинете №31 на первом этаже.

Передача сообщений осуществляется через WiFi-модули. Каждый WiFi-модуль должен обладать двумя сетевыми интрефейсами, один из которых выступает в качестве тоски доступа (в случае необходимости подключения к датчики напрямую для других устройств), а другой соединяется с роутером [3].

Предлагаемая модель информационой системы.

Рисунок 2. Модель системы датчиков мониторинга состояний помещений.

На рисунке 2 приведена предлагаемая модель системы датчиков контроля состояний помещений. В роли издателя данных выступают специализированные датчики (влага, температура, свет и т.д.), которые подключены к WiFi-модулям (ESP-32). Они подписываются на нужный топик, брокер и его сетевой адрес, после чего данные передаются на брокер через локальный роутер. В роли MQTT-брокера может выступать любой компьютер, на который можно установть клиент MQTT. В данном примере предлагается использовать Raspberry Pi, из-за его малых размеров и большого функционала (он является полноценным компьютером с операционной системой Linux на борту). На уровне брокера предусматривается использование базы данных, которая будет хранить сообщения от издателей. В случае неободимости, подписчик сможет обратиться к нужным замерам через брокер.

Клиент (подписчик) может получать данные сразу со всех датчиков, используя для этого одноуровневые (если нужно получить один вид измерений во всех помещениях) или многоуровненвые топики (если нужно получить все возможные виды измерений из одной определенной комнаты).

Заключение.

Протокол MQTT является одним из наиболее популярных и используемых в среде Интернета вещей. Модель, предлагаемая MQTT, является наиболее масштабируемой и эффективной при передаче данных.

Список литературы.

  1. Перри Ли, Архитектура Интренета вещей, пер. санг. М. А. Райтмана. – М.: ДМК Пресс, 2019. – 454 с.: ил.
  2. MQTT [Электронный ресурс]. – URL: https://en.wikipedia.org/wiki/MQTT (Дата обращения: 15.05.2020)
  3. Marcelo Rovai, IoT Made Easy: ESP-MicroPython-MQTT-ThingSpeak -2018 [Электронный ресурс]. — URL: https://towardsdatascience.com/iot-made-easy-esp-micropython-mqtt-thingspeak-ce05eea27814 (Дата обращения: 15.05.2020)