常识来了
白蓝主题五 · 清爽阅读
首页  > 家庭生活

家里的智能设备怎么突然“失联”了?可能是因为它

前两天老张家的智能灯泡突然不听手机指挥了,半夜起床还得摸黑开灯。他以为是Wi-Fi问题,重启路由器也没用。后来发现,原来是新买的智能插座和旧灯泡用的MQTT协议版本对不上,俩设备“语言不通”,活像鸡同鸭讲。

啥是MQTT协议?

MQTT是一种轻量级的通信协议,很多智能家居设备都靠它传递指令。比如你用手机App关空调,其实就是手机通过MQTT告诉空调“该睡了”。听起来挺高级,但就像不同年代的人说话带不同口音,设备之间的协议版本或配置稍有偏差,就可能沟通失败。

一次真实的兼容性翻车现场

老张家的灯泡用的是Mosquitto作为MQTT Broker(可以理解为“传话员”),默认开启匿名登录。新买的插座却要求必须带用户名密码连接,结果连不上Broker,自然没法转发指令。灯泡等不到消息,干脆“罢工”。

解决办法其实不难:登录路由器后台,给MQTT服务加上用户认证,并在插座设置里填上对应账号。可问题在于,说明书根本没提这茬,老张折腾了一晚上才从论坛找到答案。

自己也能做的简单验证方法

如果你也遇到类似情况,可以用手机装个MQTT客户端App(比如MQTT Dash),手动发条消息试试。比如想测试灯泡是否在线,可以发送一个JSON格式的指令:

{"cmd":"light","status":"on","device":"livingroom_bulb"}

如果灯亮了,说明通信链路本身没问题,可能是App或自动化规则出错;如果不亮,就得查Broker设置、网络权限或者设备固件是否支持当前协议版本。

买设备时多看一眼,省得回家闹心

现在不少厂商为了省成本,用的都是开源MQTT组件,但更新不及时,版本老旧。比如有些设备只支持MQTT 3.1.1,而新的已经用上5.0版本,特性对不上,功能就残缺。下次买之前,不妨在商品页翻翻技术参数,或者问问客服:“支持标准MQTT协议吗?要不要额外配证书?”

智能家居图的是方便,别让协议这种看不见的东西坏了心情。小问题背后,往往是设备之间没说通的“悄悄话”。