NetAssist 中文文档 下载 App

MQTT 客户端模式连接 Broker 订阅与发布

什么是 MQTT 模式

MQTT 是物联网领域最常用的轻量级消息传输协议,基于发布/订阅模型。V5.0.10 起,NetAssist 内置了 MQTT Client 模式,可以直接连接 EMQX、Mosquitto、阿里云 IoT、AWS IoT Core 等各类 Broker,进行设备联调。

基本配置步骤

  1. 协议类型选择 MQTT Client。
  2. 填写 Broker 的服务器地址(IP 或域名)和端口。常见端口:1883(TCP)、8883(TLS)。
  3. 填写 ClientID——每个客户端必须有唯一的 ID。如果留空,NetAssist 会自动生成一个随机 ID。
  4. (可选)填写用户名和密码——如果 Broker 开启了认证。
  5. 点击左侧 连接 按钮。

连接成功后,就可以订阅主题和发布消息了。

订阅与发布

订阅主题:

在订阅主题栏输入想要订阅的主题名(支持 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 设备的双通道通信问题特别方便。