Несколько MQTT-соединений на одном устройстве IOT

Используя azure-iot-sdk для python, у меня есть программа, которая открывает соединение с IoT Hub и постоянно прослушивает прямые методы, используя протокол MQTT. Это работает, как ожидалось. У меня есть вторая программа на Python, которую я запускаю из cron каждый час, которая подключается к IoT Hub и обновляет двойник устройства для моего устройства. Опять же, это использует MQTT. Все работает нормально.

Тем не менее, я встречал в документации, что устройство может иметь только одно соединение MQTT за раз, и второе будет сброшено, что приведет к падению первого. Я не вижу этого, однако что я делаю без поддержки?

Должна ли я иметь одну программу, выполняющую обе задачи и использующую одно соединение?

0 ответов

Да, это верно, вы не можете иметь более одного подключения с одним и тем же идентификатором устройства к IoTHub. Со временем у вас возникнет несогласованность, и этот сценарий не будет поддерживаться. Вы должны использовать одну программу с уникальным идентификатором устройства для выполнения обеих задач.

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

Другие вопросы по тегам