使用python建立一个mqtt节点,要求能够订阅主题并接收该主题下的消息
时间: 2023-05-26 12:05:31 浏览: 124
XE2实现MQTT主题发布及订阅,支持MQTT协议V5、汉字传输,亲测可用
首先需要安装MQTT库,可以使用paho-mqtt库。
安装方法:
```
pip install paho-mqtt
```
代码实现如下:
```python
import paho.mqtt.client as mqtt
# 定义回调函数处理消息
def on_message(client, userdata, message):
print(f"Received message: {str(message.payload.decode('utf-8'))}")
print(f"From topic: {message.topic}")
# 建立MQTT客户端
client = mqtt.Client()
# 定义回调函数
client.on_message = on_message
# 连接MQTT服务器
broker_address = "broker.hivemq.com" # 采用公共MQTT测试服务器
client.connect(broker_address)
# 订阅主题
topic = "test_topic"
client.subscribe(topic)
# 循环等待消息
client.loop_forever()
```
这个程序会建立一个MQTT客户端,并连接到公共的MQTT测试服务器进行订阅,接收输入主题下的消息。用户可以替换公共测试服务器的地址为自己的MQTT服务器地址,然后运行程序,使用MQTT客户端订阅自己设定的主题,收到消息后会打印出消息内容和主题名称。
阅读全文