智能家居与物联网入门:设备一多主题就乱?先给MQTT消息设计一张清楚的地图
[!NOTE]
MQTT不强制你如何命名主题,这份自由也容易让项目出现temp、temperature、room1data等互不一致的路径。本文从家庭、区域、设备与消息类型四个层次设计主题,区分遥测、状态、命令和回执,并用Python验证主题格式与订阅范围。你会理解通配符只属于订阅过滤器,为什么房间名称不宜成为设备永久身份,以及主题规划如何直接影响权限边界和后续维护。
学习位置:第三阶段「网络与消息可靠传输」· 第025课。
上一课配置受限Broker;本课整理消息地址;下一课处理重复投递与业务幂等。
一、问题背景与技术选型
主题名是接口的一部分
一个设备搬到另一个房间,不应该让历史数据和所有自动化都失去引用。
可以把稳定设备ID保留在主题中,把房间作为可更新元数据。
本课路径里保留lab作为实验命名空间,不把它当作设备不可变物理位置。
设备的真实安装区域以后交给平台管理。
| 命名方法 | 示例 | 优点 | 代价 |
|---|---|---|---|
| 单层随意命名 | temp1 | 起步快 | 易冲突 |