云原生消息引擎MQTT版与火山引擎的多个云产品组合,可以支持大规模的MQTT连接。MQTT的企业级产品中涉及 云产品控制台、EMQx Dashboard、MQTT认证、鉴权、接入 等多个概念。本文组合多个文档,为首次使用 MQTT 的客户快速构建第一个MQTT连接。
Paho 提供了一系列库,允许开发者使用 MQTT 协议进行消息通信。对于 Python SDK,可以使用 pip 安装 paho-mqtt,通过它来连接 MQTT 服务器、发布消息和订阅主题。
pip install paho-mqtt
import paho.mqtt.client as mqtt # 当客户端连接到服务器时调用此回调函数 def on_connect(client, userdata, flags, rc): print("连接结果码:", rc) # 当收到消息时调用此回调函数 def on_message(client, userdata, msg): print("收到消息,主题:", msg.topic, "内容:", msg.payload.decode()) # 创建一个 MQTT 客户端实例 client = mqtt.Client() # 绑定回调函数 client.on_connect = on_connect client.on_message = on_message # 连接到指定的 MQTT 服务器,不使用 SSL,不需要用户名密码 # 修改 emqx broker 位置,将控制台的公网接入点地址复制到 broker_address broker_address = "mqtt-xxxxxxxxxx.mqtt.volces.com" broker_port = 1883 client.connect(broker_address, broker_port, keepalive=60) # 开始网络循环,等待并处理 MQTT 消息 client.loop_forever()
import paho.mqtt.client as mqtt # 连接成功回调函数 def on_connect(client, userdata, flags, rc): print("连接返回码:", rc) # 消息接收回调函数 def on_message(client, userdata, msg): print("主题:", msg.topic) print("消息:", msg.payload.decode()) # 创建 MQTT 客户端实例 client = mqtt.Client() # 设置用户名和密码 client.username_pw_set("user", "123456") # 绑定回调函数 client.on_connect = on_connect client.on_message = on_message # 连接到 MQTT 服务器(不使用 SSL) client.connect("mqtt-0040ogedpfhc.mqtt.volces.com", 1883, 60) # 开启网络循环,保持连接 client.loop_forever()
MQTTX 是由 EMQ 开发的一款开源跨平台 MQTT 5.0 桌面客户端,它兼容 macOS,Linux 以及 Windows 系统。用户界面采用聊天式设计,使得操作逻辑更加简明直观。它支持用户快速创建和保存多个 MQTT 连接,便于测试 MQTT 连接,以及消息的订阅和发布。参考 https://mqttx.app/zh/docs/downloading-and-installation 安装 MQTTx 客户端。