Azure Iot Hub: отменить сеанс устройства - PullRequest
0 голосов
/ 18 февраля 2019

В настоящее время я ищу способ отменить сеанс устройства, подключенного к Azure Iot Hub.

Например, когда устройство подключается с использованием сертификата, а срок действия сертификата истекает, устройствоможет по-прежнему отправлять и получать данные, если у них есть действительный токен.

В нашем случае, если по какой-либо причине устройство перегружает наш IoT-концентратор, мы хотели бы иметь возможность немедленно прервать соединение.Мы хотим иметь возможность отозвать такой токен, чтобы немедленно отключить определенное устройство.

Возможно ли это сделать?Если нет, есть ли обходные пути для этого?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Нет такого, как REST API в концентраторе IoT Azure для отключения подключенного устройства.Однако могут помочь следующие обходные пути:

  1. На основе протокола устройства MQTT только одно устройство с одинаковым идентификатором может быть подключено к концентратору IoT Azure, поэтому подключается одно и то же устройство (смоделированотот же идентификатор) автоматически отключит подключенный.Этот обходной путь не требует никаких изменений в коде устройства.Вы можете проверить это с помощью таких инструментов, как MQTTBox , MQTT.fx и т. Д.

  2. Этот обходной путь основан на вызове метод устройства для выполнения закрытия устройства со стороны устройства.Вы можете создать задание для фонового процесса Azure IoT Hub для «вызова метода устройства».Обратите внимание, что этот обходной путь должен встроить эту функцию в код устройства.Кроме того, использование события уведомления о двойном желаемом изменении свойства, полученного на стороне устройства, может использоваться в качестве обходного пути для закрытия или повторного соединения с концентратором IoT Azure.

Edit:

Как ответил @silent, изменяя состояние «Включить» на «Отключить», устройство автоматически отключается от концентратора IoT Azure.Вы можете использовать REST API , чтобы изменить этот статус.

Я рекомендую встроить в устройство некоторую политику повторных попыток для повторного подключения устройства к концентратору IoT Azure на основании причины отключения, такой как потеря соединения, отключение пользователя и т. Д.

0 голосов
/ 18 февраля 2019

Вы можете отключить устройство для подключения к IoT Hub.Я только что попробовал это с имитирующим устройством (использующим .NET SDK), которое активно отправляло данные.После того как я переключил переключатель в положение «Отключено», через несколько секунд соединение разорвалось.При этом использовался ключ устройства, а не сертификаты, но я мог бы предположить, что это также может работать.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...