Python SDK
本文主要介绍如何在 Python 项目中使用 paho-mqtt 客户端库 ,实现客户端与 MQTT 服务器的连接、订阅、取消订阅、收发消息等功能。
paho-mqtt 是目前 Python 中使用较多的 MQTT 客户端库, 它在 Python 2.7.9+ 或 3.6+ 上为客户端类提供了对 MQTT v5.0,v3.1 和 v3.1.1 的支持。它还提供了一些帮助程序功能,使将消息发布到 MQTT 服务器变得非常简单。
前置准备
获取连接参数
通过登录WaveshareCloud 设备|属性列表创建一个可用的设备之后,点击右侧黄色: 查看地址获得相关信息
示例:
MqttPath: mqtt.waveshare.cloud
Port: 1883
Client ID: 052405b2
Pub Topic: Pub/10/16/052405b2
Sub Topic: Sub/10/16/052405b2
确认Python版本
本项目使用Python 3.10.9进行测试:
安装Paho-mqtt
pip是Python包管理工具,该工具提供了对Python包的查找、下载、安装、卸载的功能,使用以下命令安装 paho-mqtt。
导入Paho-mqtt
连接方式
设置MQTT 连接地址、端口、主题、客户端ID
设置MQTTS 连接地址、端口、主题、客户端ID
通过复制CA证书到本地在代码中加载证书
设置MQTTS 连接地址、端口、主题、客户端ID
通过复制CA证书到本地在代码中加载证书
编写回调函数on_connect ,当进行MQTT连接之后会被直接调用,在函数中可以依据rc 来判断客户端连接是否成功,当rc为0时连接成功,此时调用paho.mqtt.client.subscribe来订阅消息
订阅和发布
订阅主题已在上一点说明中实现
取消订阅
通过以下代码取消订阅,此时应指定取消订阅的主题
发布主题
使用while循环发布消息体message的内容
接收消息
通过以下代码指定客户端对消息事件进行监听,并在收到消息后执行回调函数,将接收到的消息打印到控制台