231 字
1 分钟
Python连接MQTT服务器
Getting Started
Python 连接 MQTT 需要先安装 MQTT 客户端库,paho-mqtt 在这里是一个不错的选择。
安装 paho-mqtt
pip install paho-mqtt连接 MQTT 服务器
import paho.mqtt.client as mqttimport time
# MQTT服务器配置broker = "test.mosquitto.org" # 公共测试服务器port = 1883topic = "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_connectclient.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/