MQTT 是一种消息传递方式
在 MQTT 中,设备或服务向某个主题发布消息,订阅者收到消息后进行处理。它适合把传感器数据和不同软件组件连接起来;中间的 Broker 负责消息分发,而不是直接代替设备控制逻辑。
主题命名要有规律
例如 home/livingroom/temperature 表示客厅温度,home/hall/light/state 表示灯的状态。命令与状态最好使用不同主题,避免收到状态后再次发送同样的控制命令形成循环。
home/livingroom/temperature -> 24.5
home/hall/light/state -> on
home/hall/light/set -> off
保留消息与在线状态
保留消息可以让新订阅者立即获得最近一次值,但它不适合所有类型的命令。对于设备是否在线,可以结合遗嘱消息和周期状态更新;还需要考虑网络中断后旧状态的有效期。
权限不能忽略
即使 Broker 只在家中运行,也应该配置账号和访问控制,避免任何设备都能发布控制所有房间的指令。必要时为不同设备设置单独凭据,并做好配置备份。
先观察,再自动化
使用订阅工具确认消息格式、频率与变化规律,然后再接入自动化规则。消息系统的可观察性越好,后续定位偶发问题就越容易。
以上内容用于经验交流。实际操作前,请核对设备型号、软件版本与官方说明,并备份重要配置。