使用用于python的azure- IoT -sdk,我有一个程序可以打开到MQTT的连接,并使用IoT协议持续侦听直接方法。这和预期的一样工作。我每小时从cron调用第二个python程序,它连接到IoT集线器并为我的设备更新设备twin。这也是在使用MQTT。一切都很正常。
但是,我在文档中遇到过,一个设备一次只能有一个MQTT连接,第二个连接将断开,导致第一个连接断开。我看不到这一点,但是我正在做的事情是不受支持的吗?
我是否应该让一个程序同时执行两个任务并共享一个连接?
发布于 2018-12-04 04:30:34
是的,这是正确的,您不能有多个具有相同设备ID的到IoTHub的连接。最终,你会有不一致的行为,这种情况是不受支持的。您应该使用具有唯一设备ID的单个程序来执行这两个任务。
根据方案的不同,您可能需要考虑使用iothubowner连接字符串来执行服务端操作,如管理IoT集线器,以及选择性地向您的IoT设备或模块发送消息、调度作业、调用直接方法或发送所需的属性更新。
https://stackoverflow.com/questions/53565622
复制相似问题