MQTT 课堂看板

实时在线状态与消息
未连接
0在线
0离线
0消息
0条/秒
账号密码在服务器 /root/mqtt_accounts.txt。看板用班级账号登录,只能看到本班的消息。

在线设备

0 台
未连接。连上后,设备状态会自动出现在这里。
状态靠遗嘱消息实现:设备上电时广播 online,同时预约「我断线就替我发 offline」。 所以掉电、断网、按复位键,这里都会立刻变灰。点卡片可选中它,下方直接发命令。

消息流

看板是怎么知道谁掉线的?

MQTT 有个机制叫遗嘱消息(Last Will and Testament)。设备连接时顺带登记一条遗嘱: 内容是 offline,主题是自己的状态主题。此后服务器盯着这条连接, 一旦发现它异常断开(掉电、走出 WiFi 范围、死机),就代替设备把遗嘱发出去。

所以看板能在设备"来不及告别"的情况下,依然准确标记它离线。 课堂上让学生直接拔掉掌控板的 USB 线,卡片会在 1 秒内变灰 —— 比讲 QoS 数字直观得多。