Python MQTT连接到Azure Iot中心

2024-04-19 12:48:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用Python MQTT连接到Azure物联网中心。

Iot集线器需要用户名和SAS令牌。这是我的代码:

import paho.mqtt.client as mqtt

def on_connect(client, userdata, flags, rc):
    print("Connected with result code "+str(rc))
    client.subscribe("$SYS/#")

def on_message(client, userdata, msg):
    print(msg.topic+" "+str(msg.payload))

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

client.username_pw_set("myHub.azure-devices.net/device1", "mySASToken")

client.connect("myHub.azure-devices.net", 1883, 60)

client.loop_forever()

但运行一段时间后,会引发此异常:

TimeoutError:[WinError 10060]连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机未能响应

有人知道为什么我不能连接到物联网中心吗?


Tags: clientmessageondefconnectmsg中心azure