Взаимосвязь ресурсов сервиса
Основными элементами сервиса являются устройство и реестр, которые могут обмениваться различными данными и командами с помощью MQTT-брокера.
Обмен данными происходит по протоколу MQTT версии 3.1.1. Это упрощенный сетевой протокол для взаимодействия между устройствами по принципу издатель-подписчик.
Чтобы начать обмен данными и командами между устройствами и реестрами, необходимо авторизоваться. Это можно сделать с помощью X.509-сертификатов или по логину и паролю.
Устройство
Устройство — экземпляр физического устройства, например, датчика температуры, представленный в сервисе в виде имени устройства и его сертификата.
Устройство создается в реестре, может отправлять телеметрические данные, получать команды и взаимодействовать с другими устройствами в реестре.
Реестр
Реестр — набор устройств, логически связанных между собой. Реестр может читать телеметрические данные устройств и отправлять им команды.
MQTT-брокер
MQTT-брокер — это центральный узел для обмена MQTT-сообщениями между устройствами и реестрами. Обмен данными происходит только через брокер. Он отвечает за получение и обработку сообщений, а также контролирует их доставку MQTT-клиентам (устройствам или реестрам), обеспечивая необходимый уровень качества обслуживания (QoS).
MQTT-клиенты — это устройства и реестры, которые обмениваются сообщениями с данными или командами. Каждое сообщение содержит топик — тему сообщения, которая позволяет классифицировать данные и определить, какому клиенту они предназначаются.
Чтобы устройства и реестры получали сообщения друг от друга через MQTT-брокер, подпишите их на нужные топики.
Если у вас есть устройства, на показания датчиков которых нужно оперативно реагировать, а в вашей сети возможны перебои со связью и разрыв соединения между устройствами и MQTT-брокером, вы можете подписать устройства и реестры на перманентные топики.
Например, используйте перманентные топики для датчиков температуры на устройствах, которые нужно оперативно отключить при нагревании до определенной температуры.
Уровни качества обслуживания (QoS)
При обмене сообщениями сервис Yandex IoT Core поддерживает следующие уровни качества обслуживания (QoS) для MQTT:
-
QoS 0: At most once
. Сообщение отправляется не более одного раза и без гарантии доставки. -
QoS 1: At least once
. Сообщение гарантированно доставляется хотя бы один раз. Есть вероятность получения дубликатов сообщения.
Подробнее об ограничениях сервиса Yandex IoT Core читайте в разделе Квоты и лимиты.