使用 paho 实现MQTT订阅
时间: 2023-07-11 17:32:15 浏览: 52
好的,下面是使用 paho 实现 MQTT 订阅的 Python 代码示例:
```python
import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe("test/topic")
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.connect("broker.hivemq.com", 1883, 60)
client.loop_forever()
```
在代码中,我们首先导入了 `paho.mqtt.client` 模块。然后我们定义了 `on_connect` 和 `on_message` 两个回调函数,用于处理 MQTT 连接和消息的收发。
在 `on_connect` 函数中,我们打印出连接结果,并订阅了一个主题 `test/topic`。
在 `on_message` 函数中,我们打印出收到的消息内容和主题。
接下来,我们创建了一个 `mqtt.Client` 实例,并将回调函数 `on_connect` 和 `on_message` 分别绑定到了 `client.on_connect` 和 `client.on_message` 上。
然后我们使用 `client.connect` 方法连接了一个公共的 MQTT 服务器 `broker.hivemq.com`,并指定了连接超时时间为 60 秒。
最后,我们调用 `client.loop_forever` 方法开始循环监听消息。
当有新的消息到来时,`on_message` 函数就会被调用,我们就可以在函数中处理这些消息了。