用paho.mqtt写一个客户端和服务端
时间: 2024-05-07 19:22:36 浏览: 172
好的,我们来分别编写一个 MQTT 客户端和服务端的代码。
### MQTT 服务端
```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))
# 创建 MQTT 客户端实例
client = mqtt.Client()
# 设置连接回调函数
client.on_connect = on_connect
# 设置消息接收回调函数
client.on_message = on_message
# 连接 MQTT 服务器
client.connect("127.0.0.1", 1883, 60)
# 开始循环接收消息
client.loop_forever()
```
### MQTT 客户端
```python
import paho.mqtt.client as mqtt
# 客户端连接回调函数
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
# 发布消息
client.publish("test/topic", "Hello MQTT")
# 创建 MQTT 客户端实例
client = mqtt.Client()
# 设置连接回调函数
client.on_connect = on_connect
# 连接 MQTT 服务器
client.connect("127.0.0.1", 1883, 60)
# 开始循环
client.loop_forever()
```
注意:在运行客户端和服务端代码之前,需要先安装 paho-mqtt 库,可以通过以下命令进行安装:
```
pip install paho-mqtt
```
在运行客户端和服务端之前,需要先启动一个 MQTT 服务器,可以使用 Mosquitto 等开源 MQTT 服务器。如果没有安装 Mosquitto,可以通过以下命令进行安装:
```
apt-get install mosquitto
```
然后,通过以下命令启动 Mosquitto 服务器:
```
mosquitto
```
接下来,分别运行客户端和服务端代码,就可以看到客户端向服务端发送了一条消息,并且服务端接收到并打印出来了。
阅读全文