MQTT 客户端模式连接 Broker 订阅与发布
什么是 MQTT 模式
MQTT 是物联网领域最常用的轻量级消息传输协议,基于发布/订阅模型。V5.0.10 起,NetAssist 内置了 MQTT Client 模式,可以直接连接 EMQX、Mosquitto、阿里云 IoT、AWS IoT Core 等各类 Broker,进行设备联调。
基本配置步骤
- 协议类型选择 MQTT Client。
- 填写 Broker 的服务器地址(IP 或域名)和端口。常见端口:1883(TCP)、8883(TLS)。
- 填写 ClientID——每个客户端必须有唯一的 ID。如果留空,NetAssist 会自动生成一个随机 ID。
- (可选)填写用户名和密码——如果 Broker 开启了认证。
- 点击左侧 连接 按钮。
连接成功后,就可以订阅主题和发布消息了。
订阅与发布
订阅主题:
在订阅主题栏输入想要订阅的主题名(支持 MQTT 通配符 + 和 #),点击订阅。当该主题下有消息发布时,NetAssist 会自动接收并显示在接收区。
发布消息:
在发布主题栏输入目标主题,在发送区输入消息内容,点击发送。消息会被推送给所有订阅了该主题的客户端。
典型 Broker 连接示例
EMQX(本地或自建)
服务器 127.0.0.1,端口 1883,用户名密码按需填写。
阿里云物联网平台
服务器格式为 <ProductKey>.iot-as-mqtt.<region>.aliyuncs.com,端口 1883,ClientID、用户名、密码需要按阿里云规则计算生成。
Mosquitto(Docker 快速起一个)
docker run -it -p 1883:1883 eclipse-mosquitto
然后 NetAssist 连接 127.0.0.1:1883 即可。
断开重连
V5.15 修复了 MQTT 协议超时断开不重连的问题。现在网络恢复后会自动重新连接 Broker,保证 IoT 联调的连续性。
保留消息小提示
有用户反馈:发布保留消息(Retained Message)后想清除时,发送空内容会提示"内容不能为空"。这是当前版本的已知限制——清除保留消息的标准做法就是发布一条 payload 为空的消息。官方表示下个版本会完善这个功能。
与 MQTT 工具对比
相比专门的 MQTT 客户端工具(如 MQTTX),NetAssist 的优势在于它把 MQTT 和 TCP/UDP 调试放在了同一个界面里——你可以在同一个窗口里同时观察 MQTT Broker 的消息流和 TCP 服务端的数据交互,对排查 IoT 设备的双通道通信问题特别方便。