Протокол MQTT (Message Queuing Telemetry Transport) работает на модели «издатель-подписчик». 1 Устройства могут публиковать сообщения на определённые «темы» и подписываться на эти темы, чтобы получать сообщения от других устройств. 1
В работе протокола участвуют три компонента: 5
- Издатели — отправители сообщений, например датчики, установленные в термометрах и других IoT-устройствах. 5
- Брокер (MQTT-broker) — центральный узел MQTT, который отвечает за взаимодействие между издателями и подписчиками. 5 Брокер получает данные от издателей, обрабатывает их, передаёт подписчикам и контролирует доставку. 5 Обычно в качестве брокера выступает серверное ПО (MQTT Server) или контроллер. 5
- Подписчики — конечные получатели данных от датчиков, например аналитическая система, развёрнутая в облаке. 5
Некоторые особенности работы протокола:
- Компактные пакеты. 3 При передаче данных в условиях медленной и нестабильной связи нужно экономить каждый бит, поэтому данные пересылают в максимально компактном виде. 5
- Функция LWT (Last Will and Testament — «последняя воля и завещание»). 5 Она уведомляет все стороны об аварийном отключении сети — эта функция важна, если соединение нестабильно. 5
- Три уровня качества обслуживания (QoS). 1 QoS 0 — сообщение доставляют не более одного раза, QoS 1 — сообщение доставляют минимум один раз, а получатель подтверждает доставку, QoS 2 — сообщение доставляют только один раз, несмотря на проблемы и помехи. 5
В системах умного дома MQTT может быть использован для различных задач: 1
- Управление устройствами. 1 Лампы, термостаты, жалюзи, датчики движения и другие устройства могут отправлять и получать команды через MQTT. 1
- Датчики. 1 MQTT может быть использован датчиками для передачи данных в центральную систему. 1 Это могут быть датчики температуры, влажности, освещённости, движения и т. д.. 1
- Уведомления. 1 Система умного дома может использовать MQTT для отправки уведомлений пользователю о различных событиях, таких как обнаружение движения, открытие двери или протечка воды. 1
- Интеграция с внешними службами. 1 MQTT может быть мостом между устройствами умного дома и облачными сервисами или другими внешними системами. 1
- Межустройственное взаимодействие. 1 Устройства могут общаться друг с другом через MQTT, чтобы координировать свои действия. 1 Например, когда телевизор включается, свет в комнате может автоматически затемняться. 1