MQTT Python 客户端库

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

使用 PyPi 包管理工具安装:

  1. pip install paho-mqtt

Paho Python 使用示例

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

  1. import paho.mqtt.client as mqtt
  2. # 连接成功回调
  3. def on_connect(client, userdata, flags, rc):
  4. print('Connected with result code '+str(rc))
  5. client.subscribe('testtopic/#')
  6. # 消息接收回调
  7. def on_message(client, userdata, msg):
  8. print(msg.topic+" "+str(msg.payload))
  9. client = mqtt.Client()
  10. # 指定回调函数
  11. client.on_connect = on_connect
  12. client.on_message = on_message
  13. # 建立连接
  14. client.connect('broker.emqx.io', 1883, 60)
  15. # 发布消息
  16. client.publish('emqtt',payload='Hello World',qos=0)
  17. client.loop_forever()

Paho Python MQTT 5.0 支持

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