Взаимосвязь ресурсов в Yandex IoT Core
Сервис предоставляет две модели управления ресурсами: брокеры и реестры устройств. Основными элементами сервиса являются устройство, реестр и брокер, которые могут обмениваться различными данными и командами с помощью MQTT-сервера.
Реестры и устройства связаны между собой, устройства могут обмениваться данными с реестром, в котором они созданы. Брокер не связан с реестрами и устройствами и реализует отдельную модель управления процессом обмена сообщениями.
Обмен данными происходит по протоколу MQTT
Чтобы начать обмен данными и командами между устройствами и реестрами, необходимо авторизоваться. Это можно сделать с помощью X.509-сертификатов или по логину и паролю.
Устройство
Устройство — экземпляр физического устройства, например, датчика температуры, представленный в сервисе в виде имени устройства и его сертификата.
Устройство создается в реестре, может отправлять телеметрические данные, получать команды и взаимодействовать с другими устройствами в реестре.
Реестр
Реестр — набор устройств, логически связанных между собой. Реестр может читать телеметрические данные устройств и отправлять им команды. Чтобы реестр и устройства внутри него перестали принимать входящие соединения, можно отключить реестр.
Брокер
Примечание
Брокер находится на стадии Preview.
Брокер — виртуальный MQTT-сервер, позволяющий MQTT-клиентам обмениваться сообщениями в изолированном пространстве топиков. Брокер накладывает меньше ограничений на способы обмена сообщениями, чем модель реестров устройств.
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 читайте в разделе Квоты и лимиты в Yandex IoT Core.