首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python mqtt订阅多个消息

在 Python 中使用 paho-mqtt 库可以方便地订阅多个 MQTT 主题。以下是一个示例,展示了如何订阅多个主题并处理接收到的消息。

安装 paho-mqtt

首先,确保你已经安装了 paho-mqtt 库。如果没有安装,可以使用以下命令进行安装:

代码语言:javascript
复制
pip install paho-mqtt

示例代码

以下是一个完整的示例代码,展示了如何订阅多个 MQTT 主题并处理接收到的消息:

代码语言:javascript
复制
import paho.mqtt.client as mqtt

# 定义MQTT代理的地址和端口
MQTT_BROKER = "mqtt.example.com"
MQTT_PORT = 1883

# 定义要订阅的主题
TOPICS = [("topic/one", 0), ("topic/two", 1), ("topic/three", 2)]

# 定义回调函数,当客户端连接到代理时调用
def on_connect(client, userdata, flags, rc):
    print(f"Connected with result code {rc}")
    # 订阅多个主题
    client.subscribe(TOPICS)

# 定义回调函数,当客户端接收到消息时调用
def on_message(client, userdata, msg):
    print(f"Received message from topic {msg.topic}: {msg.payload.decode()}")

# 创建MQTT客户端
client = mqtt.Client()

# 设置回调函数
client.on_connect = on_connect
client.on_message = on_message

# 连接到MQTT代理
client.connect(MQTT_BROKER, MQTT_PORT, 60)

# 启动客户端的循环,处理网络流量和回调
client.loop_forever()

代码解释

  1. 导入库: import paho.mqtt.client as mqtt
  2. 定义MQTT代理的地址和端口: MQTT_BROKER = "mqtt.example.com" MQTT_PORT = 1883
  3. 定义要订阅的主题: TOPICS = [("topic/one", 0), ("topic/two", 1), ("topic/three", 2)] 这里的 TOPICS 是一个包含多个元组的列表,每个元组包含主题名称和QoS(服务质量)级别。
  4. 定义回调函数
    • on_connect:当客户端连接到代理时调用。此函数订阅了多个主题。 def on_connect(client, userdata, flags, rc): print(f"Connected with result code {rc}") client.subscribe(TOPICS)
    • on_message:当客户端接收到消息时调用。此函数打印接收到的消息。 def on_message(client, userdata, msg): print(f"Received message from topic {msg.topic}: {msg.payload.decode()}")
  5. 创建MQTT客户端: client = mqtt.Client()
  6. 设置回调函数: client.on_connect = on_connect client.on_message = on_message
  7. 连接到MQTT代理: client.connect(MQTT_BROKER, MQTT_PORT, 60)
  8. 启动客户端的循环: client.loop_forever()
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

12分52秒

37-消息订阅与发布

8分35秒

21_尚硅谷__Redis_消息订阅发布简介

8分35秒

21_尚硅谷__Redis_消息订阅发布简介

1分0秒

【赵渝强老师】Redis的消息发布与订阅

8分43秒

32_尚硅谷_Vue_案例_消息订阅与发布

18分17秒

087_尚硅谷Vue技术_消息订阅与发布_pubsub

30分3秒

Golang教程 Go微服务 92 消息的订阅 学习猿地

28分25秒

071_尚硅谷_react教程_消息订阅与发布技_pubsub

21分42秒

Golang教程 Go微服务 99 模式之订阅消息 学习猿地

13分54秒

67-尚硅谷-小程序-pubsub消息订阅发布,自定义事件说明

24分29秒

React基础 案例 7 豆瓣电影搜索案例_消息订阅与发布_pubsub 学习猿地

5分3秒

Golang教程 Go微服务 94 消息发布与订阅的执行效果 学习猿地

领券