python mqtt订阅多个topic
时间: 2024-09-25 09:21:00 浏览: 96
在Python中,使用`paho-mqtt`库可以方便地处理MQTT(Message Queuing Telemetry Transport)协议,包括订阅多个主题(topics)。以下是一个基本的示例,展示如何同时订阅多个主题:
```python
import paho.mqtt.client as mqtt
# 创建mqtt客户端实例
client = mqtt.Client()
# 设置回调函数,当接收到消息时会调用这个函数
def on_message(client, userdata, message):
print(f"Received message on topic {message.topic}: {message.payload.decode('utf-8')}")
# 定义一个函数来连接并订阅主题
def subscribe_topics():
topics_to_subscribe = ["topic1", "topic2", "topic3"] # 替换为实际的主题列表
client.on_message = on_message # 绑定消息接收事件
for topic in topics_to_subscribe:
client.subscribe(topic) # 订阅每个主题
client.connect("your_mqtt_broker", port=1883) # 连接到MQTT服务器,替换为实际地址和端口
client.loop_start() # 启动循环,监听新消息
# 调用订阅主题的函数
subscribe_topics()
```
在这个例子中,你需要将`your_mqtt_broker`替换为你实际使用的MQTT broker地址。当有消息发布到订阅的任何一个主题时,`on_message`回调会被触发。
阅读全文