MQTT 调试 · 使用说明
一个给你私有调试空间的在线 MQTT 工具。注册一个「工作区」,你和你的设备、队友就能在这个隔离的空间里收发消息、联调——别的工作区看不到你,你也碰不到别人。
三步上手
- 连接:给调试空间起个工作区名 + 密码,点「连接」。首次自动创建,以后用同样的名字密码登录。
- 订阅 / 发布:在「订阅」填主题盯消息;在「发布」发消息。右侧「实时日志」带时间戳显示所有收发(RECV 收 / SEND 发 / SYS 系统 / ERR 错误)。
- 接入你自己的客户端:把设备 / MQTTX / 代码用同一个工作区账号连进来,就能一边发一边在网页看。
提示:连接成功 ≠ 看到消息。MQTT 连上只是接通了线,你得先「订阅」某个主题,才会收到它的消息。
把你的设备 / 客户端接进来
都用同一个工作区账号(用户名 = 工作区名,密码 = 你设的密码),主题都在 <工作区>/ 下。
① 软件 / 网页 / MQTTX —— WebSocket
| 协议 | ws(备案上 HTTPS 后是 wss) |
|---|---|
| 地址 | ws://120.79.19.193/ws |
| 端口 | 80 |
| 用户名 / 密码 | 你的工作区名 / 密码 |
MQTTX:新建连接 → Protocol 选 ws,Host 120.79.19.193,Port 80,Path /ws,填用户名密码即可。
② 硬件设备 —— 原生 TCP(端口 1884)
ESP32 / Arduino(PubSubClient):把 WS / PW 换成你的工作区名和密码。
WiFiClient net;
PubSubClient mqtt(net);
const char* WS = "myteam"; // 你的工作区名
const char* PW = "your-password"; // 你的密码
mqtt.setServer("120.79.19.193", 1884);
mqtt.connect("my-device-01", WS, PW); // 账号认证
mqtt.subscribe("myteam/cmd"); // 收指令
mqtt.publish("myteam/status", "online");// 发状态Python(paho-mqtt):
import paho.mqtt.client as mqtt
c = mqtt.Client()
c.username_pw_set("myteam", "your-password")
c.connect("120.79.19.193", 1884)
c.subscribe("myteam/cmd")
c.publish("myteam/status", "online")
c.loop_forever()原生 TCP(1884)适合走 TCP 的硬件设备;网页 / 浏览器 / 想免端口的客户端走 WebSocket(80)。两者同一个工作区即可联调:设备发 → 网页实时看;网页发 → 设备收。
QoS 与 retain 是什么
QoS(服务质量)是消息的送达保证级别:
- 0 最多一次:发出去就不管,可能丢。最快,调试默认用这个。
- 1 至少一次:保证送到,但可能重复。
- 2 恰好一次:不丢不重,最慢、开销最大。
retain(保留消息):发布时勾上「保留」,broker 会把这条消息存在该主题上;之后才订阅的客户端,一连上就立刻收到这条「最后状态」(比如设备的最新在线状态)。不勾的话,消息只发给当下正在订阅的人。
工作区与隔离(放心用)
- 你的工作区是私有的:只能在
<工作区>/里收发,超出范围会被拒。 - 同一个工作区账号 = 一个团队:成员互相可见、可协作。
- 不同工作区互相隔离:看不到、也发不进对方的空间。
- 密码就是钥匙——别把工作区名 + 密码发给不相干的人。
- 本工具只在你的浏览器记住工作区名,不保存密码,所以换设备或重开后需要重新输入密码。
🔒 建议用 https 打开本站:连接与注册会自动走 wss:// 加密。若以 http 打开则为明文链路(用户名 / 密码明文传输),请勿使用与其它账号相同的密码。
常见问题
- 连上了但看不到任何消息?
- MQTT 连接本身不显示东西,要先「订阅」对应主题才会收到。试试订阅
你的工作区/#(#是通配,收这底下所有)。 - 设备连不上 1884?
- 确认用了工作区账号(不是匿名);主题在
你的工作区/下;网络能到120.79.19.193:1884。 - 提示「工作区名已被占用」?
- 换一个名字;如果本来就是你的,用正确密码直接登录即可。
- 消息会被别人看到吗?
- 只有用你工作区名 + 密码的人能看到。所以密码别乱发。
- 网页 https 打不开明文 broker?
- 浏览器规定 https 页面只能连
wss://。要测明文公共 broker,用http打开本工具。