# MQTT Python 客户端库

Eclipse Paho Python (opens new window) 为 Eclipse Paho 项目下的 Python 语言版客户端库,该库能够连接到 MQTT Broker 以发布消息,订阅主题并接收已发布的消息。

使用 PyPi 包管理工具安装:

pip install paho-mqtt
1

# Paho Python 使用示例

本示例包含 Python 语言的 Paho Python 连接 EMQ X Broker,并进行消息收发完整代码:

import paho.mqtt.client as mqtt

# 连接成功回调
def on_connect(client, userdata, flags, rc):
    print('Connected with result code '+str(rc))
    client.subscribe('testtopic/#')

# 消息接收回调
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.emqx.io', 1883, 60)
# 发布消息
client.publish('emqtt',payload='Hello World',qos=0)

client.loop_forever()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# Paho Python MQTT 5.0 支持

目前 Paho Python 还在适配 MQTT 5.0,尚未全面支持。