231 字
1 分钟
Python连接MQTT服务器
2025-11-14
2025-12-20

Getting Started#

Python 连接 MQTT 需要先安装 MQTT 客户端库,paho-mqtt 在这里是一个不错的选择。

安装 paho-mqtt#

Terminal window
pip install paho-mqtt

连接 MQTT 服务器#

import paho.mqtt.client as mqtt
import time
# MQTT服务器配置
broker = "test.mosquitto.org" # 公共测试服务器
port = 1883
topic = "test/topic/cloudsir"
# 连接回调
def on_connect(client, userdata, flags, reason_code, properties):
print("连接结果: " + str(reason_code))
client.subscribe(topic)
client.publish(topic, "Hello MQTT", qos=1, retain=False)
# 接收到消息的回调
def on_message(client, userdata, msg):
print(f"收到消息: {msg.topic} -> {msg.payload.decode()}")
# 创建客户端实例
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id="test-client")
# 设置账户名和密码
# client.username_pw_set("your_username", "your_password")
# 绑定回调函数
client.on_connect = on_connect
client.on_message = on_message
# 连接
client.connect(broker, port, keepalive=60)
# 启动后台消息循环线程
client.loop_start()
# 50s后关闭连接
time.sleep(60)
client.loop_stop()
client.disconnect()

连接 wss#

paho-mqtt 默认创建的 MQTT 连接的是基于 TCP 的,如果要连接 ws 或者 wss,需要在创建客户端时指定 transport 参数为 websockets .

client = mqtt_client.Client(mqtt.CallbackAPIVersion.VERSION2,
client_id= clientId,
transport="websockets") # 指定连接协议
Python连接MQTT服务器
https://cloudsir.top/posts/python-paho-mqtt/
作者
CloudSir
发布于
2025-11-14
许可协议
CC BY-NC-SA 4.0