Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Решения
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex IoT Core
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Отправка сообщения
    • Подписка устройства или реестра на получение сообщений
    • Просмотр журнала подключений
    • Создание триггера для топика
    • Управление реестрами
      • Получение информации о реестре
      • Создание реестра
      • Изменение реестра
      • Удаление реестра
    • Управление устройствами
      • Управление алиасами топиков
        • Создание алиаса
        • Получение списка алиасов
        • Изменение алиаса
        • Удаление алиаса
      • Получение информации об устройстве
      • Создание устройства
      • Изменение устройства
      • Удаление устройства
    • Управление сертификатами
      • Создание сертификата
      • Управление сертификатами реестра
      • Управление сертификатами устройства
    • Управление паролями
      • Управление паролями реестра
      • Управление паролями устройства
  • Концепции
    • Авторизация
    • Взаимосвязь ресурсов сервиса
    • Параметры подключения MQTT-брокера
    • Отправка сообщений MQTT-брокеру через gRPC
    • Топик
    • Резервное копирование
    • Квоты и лимиты
  • Сценарии использования
    • Все сценарии
    • Работа с помощью Mosquitto
      • Отправить сообщение
      • Подписать устройство или реестр на получение сообщений
    • Работа с Yandex IoT Core с устройства с Android на языке Java
    • Работа с Yandex IoT Core на языке C#
    • Работа с Yandex IoT Core на языке Java
    • Запись данных с устройства в Managed Service for PostgreSQL
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • DeviceService
      • RegistryService
      • OperationService
    • REST
      • Обзор
      • Device
        • Обзор
        • addCertificate
        • addPassword
        • create
        • delete
        • deleteCertificate
        • deletePassword
        • get
        • list
        • listCertificates
        • listOperations
        • listPasswords
        • update
      • Registry
        • Обзор
        • addCertificate
        • addPassword
        • create
        • delete
        • deleteCertificate
        • deletePassword
        • get
        • list
        • listCertificates
        • listDeviceTopicAliases
        • listOperations
        • listPasswords
        • update
  • Вопросы и ответы
  1. Пошаговые инструкции
  2. Подписка устройства или реестра на получение сообщений

Подписка устройства или реестра на получение сообщений

  • Перед началом
    • Авторизация
  • Подписать реестр на топики устройств
    • Подпишите реестр на топик одного устройства
    • Подпишите реестр на топики всех устройств, добавленных в него
  • Подписать устройство на топики реестра
    • Подпишите устройство на топики — команды для конкретного устройства
    • Подпишите устройство на топики — команды для всех устройств

Вы можете подписать:

  • Реестр на события устройства, используя топики $devices/<ID устройства>/events или $registries/<ID реестра>/events.
  • Реестр на события устройства, используя перманентные топики $devices/<ID устройства>/state или $registries/<ID реестра>/state.
  • Устройство на команды реестра, используя топики $devices/<ID устройства>/commands или $registries/<ID реестра>/commands.
  • Устройство на команды реестра, используя перманентные топики $devices/<ID устройства>/config или $registries/<ID реестра>/config.
  • Реестр или устройство на данные мониторинга устройства, используя топик $monitoring/<ID устройства>/json.

О том, как обмениваться сообщениями, читайте в разделе Отправка сообщения.

Важно

Топик реестра и топик устройства не связаны между собой. Если устройство отправляет данные в топик устройства для телеметрических данных, получить их можно только подписавшись на этот топик. Аналогично для топика реестра.

Перед началом

Подготовьте ресурсы, необходимые для начала работы:

  1. (опционально) Создайте сертификаты для реестра и устройства.
  2. Создайте реестр.
  3. Добавьте сертификат реестру.
  4. Создайте устройство.
  5. Добавьте сертификат устройству.

Авторизация

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

Подписать реестр на топики устройств

Реестр можно подписать на топики от одного, нескольких или всех устройств, добавленных в него.

Примечание

Если в процессе выполнения команды у вас возникла ошибка, добавьте к команде флаг --debug и попробуйте еще раз. Данный флаг выводит журнал отладки при выполнении команды, что помогает при диагностике проблемы.

Подпишите реестр на топик одного устройства

CLI

Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

  • Подпишите реестр на топик устройства, используя авторизацию по сертификату:

    $ yc iot mqtt subscribe \
    --cert registry-cert.pem \
    --key registry-key.pem \
    --topic '$devices/<ID устройства>/events' \
    --qos 1
    
  • Подпишите реестр на перманентный топик устройства, используя авторизацию по сертификату:

    $ yc iot mqtt subscribe \
    --cert registry-cert.pem \
    --key registry-key.pem \
    --topic '$devices/<ID устройства>/state' \
    --qos 1
    

    Где:

    • --cert и --key — параметры для авторизации с помощью сертификата.
    • --topic — топик устройства для отправки данных.
    • --message — текст сообщения.
    • --qos — уровень качества обслуживания (QoS).
  • Подпишите реестр на топик устройства, используя авторизацию по логину и паролю:

    $ yc iot mqtt subscribe \
    --username <ID реестра> \
    --password <пароль для реестра> \
    --topic '$devices/<ID устройства>/events' \
    --qos 1
    
  • Подпишите реестр на перманентный топик устройства, используя авторизацию по логину и паролю:

    $ yc iot mqtt subscribe \
    --username <ID реестра> \
    --password <пароль для реестра> \
    --topic '$devices/<ID устройства>/state' \
    --qos 1
    

    Где:

    • --username и --password — параметры для авторизации с помощью логина и пароля.
    • --topic — топик устройства для отправки данных.
    • --message — текст сообщения.
    • --qos — уровень качества обслуживания (QoS).

Подпишите реестр на топики всех устройств, добавленных в него

Реестр будет получать данные только от тех устройств, которые отправляют сообщения в топик $registries/<ID реестра>/events или $registries/<ID реестра>/state.

CLI

Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

  • Подпишите реестр на топики всех устройств, используя авторизацию по сертификату:

    $ yc iot mqtt subscribe \
    --cert registry-cert.pem \
    --key registry-key.pem \
    --topic '$registries/<ID реестра>/events' \
    --qos 1
    
  • Подпишите реестр на перманентные топики всех устройств, используя авторизацию по сертификату:

    $ yc iot mqtt subscribe \
    --cert registry-cert.pem \
    --key registry-key.pem \
    --topic '$registries/<ID реестра>/state' \
    --qos 1
    

    Где:

    • --cert и --key — параметры для авторизации с помощью сертификата.
    • --topic — топик реестра для получения данных.
    • --message — текст сообщения.
    • --qos — уровень качества обслуживания (QoS).
  • Подпишите реестр на топики всех устройств, используя авторизацию по логину и паролю:

    $ yc iot mqtt subscribe \
    --username <ID реестра> \
    --password <пароль для реестра> \
    --topic '$registries/<ID реестра>/events' \
    --qos 1
    
  • Подпишите реестр на перманентные топики всех устройств, используя авторизацию по логину и паролю:

    $ yc iot mqtt subscribe \
    --username <ID реестра> \
    --password <пароль для реестра> \
    --topic '$registries/<ID реестра>/state' \
    --qos 1
    

    Где:

    • --username и --password — параметры для авторизации с помощью логина и пароля.
    • --topic — топик реестра для получения данных.
    • --message — текст сообщения.
    • --qos — уровень качества обслуживания (QoS).

Подписать устройство на топики реестра

Команды от реестра могут предназначаться конкретному устройству или всем устройствам в реестре. Для этого используются разные топики.

Примечание

Если в процессе выполнения команды у вас возникла ошибка, добавьте к команде флаг --debug и попробуйте еще раз. Данный флаг выводит журнал отладки при выполнении команды, что помогает при диагностике проблемы.

Подпишите устройство на топики — команды для конкретного устройства

CLI

Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

  • Подпишите устройство на топики — команды для конкретного устройства, используя авторизацию по сертификату:

    yc iot mqtt subscribe \
    --cert device-cert.pem \
    --key device-key.pem \
    --topic '$devices/<ID устройства>/commands' \
    --qos 1
    
  • Подпишите устройство на перманентные топики — команды для конкретного устройства, используя авторизацию по сертификату:

    yc iot mqtt subscribe \
    --cert device-cert.pem \
    --key device-key.pem \
    --topic '$devices/<ID устройства>/config' \
    --qos 1
    

    Где:

    • --cert и --key — параметры для авторизации с помощью сертификата.
    • --topic — топик устройства для получения команд.
    • --message — текст сообщения.
    • --qos — уровень качества обслуживания (QoS).
  • Подпишите устройство на топики — команды для конкретного устройства, используя авторизацию по логину и паролю:

    yc iot mqtt subscribe \
    --username <ID устройства> \
    --password <пароль для устройства> \
    --topic '$devices/<ID устройства>/commands' \
    --qos 1
    
  • Подпишите устройство на перманентные топики — команды для конкретного устройства, используя авторизацию по логину и паролю:

    yc iot mqtt subscribe \
    --username <ID устройства> \
    --password <пароль для устройства> \
    --topic '$devices/<ID устройства>/config' \
    --qos 1
    

    Где:

    • --username и --password — параметры для авторизации с помощью логина и пароля.
    • --topic — топик устройства для получения команд.
    • --message — текст сообщения.
    • --qos — уровень качества обслуживания (QoS).

Подпишите устройство на топики — команды для всех устройств

Команды будут получать только устройства, подписанные на топик $registries/<ID реестра>/commands или $registries/<ID реестра>/config.

CLI

Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

  • Подпишите устройство на топики — команды, используя авторизацию по сертификату:

    $ yc iot mqtt subscribe \
    --cert device-cert.pem \
    --key device-key.pem \
    --topic '$registries/<ID реестра>/commands' \
    --qos 1
    
  • Подпишите устройство на перманентные топики — команды, используя авторизацию по сертификату:

    $ yc iot mqtt subscribe \
    --cert device-cert.pem \
    --key device-key.pem \
    --topic '$registries/<ID реестра>/config' \
    --qos 2
    

    Где:

    • --cert и --key — параметры для авторизации с помощью сертификата.
    • --topic — топик реестра для отправки команд.
    • --message — текст сообщения.
    • --qos — уровень качества обслуживания (QoS).
  • Подпишите устройство на топики — команды, используя авторизацию по логину и паролю:

    $ yc iot mqtt subscribe \
    --username <ID устройства> \
    --password <пароль для устройства> \
    --topic '$registries/<ID реестра>/commands' \
    --qos 1
    
  • Подпишите устройство на перманентные топики — команды, используя авторизацию по логину и паролю:

    $ yc iot mqtt subscribe \
    --username <ID устройства> \
    --password <пароль для устройства> \
    --topic '$registries/<ID реестра>/config' \
    --qos 1
    

    Где:

    • --username и --password — параметры для авторизации с помощью логина и пароля.
    • --topic — топик реестра для отправки команд.
    • --message — текст сообщения.
    • --qos — уровень качества обслуживания (QoS).
В этой статье:
  • Перед началом
  • Авторизация
  • Подписать реестр на топики устройств
  • Подпишите реестр на топик одного устройства
  • Подпишите реестр на топики всех устройств, добавленных в него
  • Подписать устройство на топики реестра
  • Подпишите устройство на топики — команды для конкретного устройства
  • Подпишите устройство на топики — команды для всех устройств
Language / Region
Вакансии
Политика конфиденциальности
Условия использования
Брендбук
© 2021 ООО «Яндекс.Облако»