智能家居的“断网瘫痪”究竟是怎么回事?本文将深入剖析米家APP两次崩溃事件背后的技术原因,带你了解本地控制与云端依赖的真相。
事件背景:米家APP连续两次崩溃
最近,米家APP连续崩溃了两次。一次在4月30日,一次是6月16日。两次网络事故均导致米家APP无法正常使用,且语音控制失灵。在很大程度上,事故中小米智能家居基本上处于“瘫痪”状态。
很多网友表示,智能家居失灵,就像停电一样“令人难受”。这样的表述,既有欢喜又有忧愁。一方面,可以看出部分用户已经形成了对智能家居的依赖;另一方面,我们也看到一旦出现网络故障,智能家居可能会形同虚设。
相对来说,因平台方网络故障引起的全面失灵是极小概率的事件。即便是小米也无法做到100%的维护。但是因为米家用户体量巨大,因此小概率的故障也会引起较大面积的投诉。
2021年的小米财报显示,米家APP的月活用户达6390万。而如果米家APP的服务器崩溃,这意味它可能已经影响了数以千万计的用户的居家生活。
核心问题:为何米家APP崩溃后,智能家居会失灵?
本文不想夸大该事件的问题,更不想过度解读,引申到整个智能家居的可靠性上来。就事论事:为何米家APP崩溃后,用户的智能家居会失灵呢?智能家居不是可以本地化运行吗?
小米智能家居的四种通讯协议
目前,米家生态链支持四种主流的通讯协议:WiFi、蓝牙、蓝牙Mesh和ZigBee,其中WiFi和蓝牙产品居多。理论上来说,这四种协议均可以实现局域网络,即完全的本地化控制。但问题是,目前的智能家居系统,基本上都需要与公网或者说远程服务器沟通。其自动化的能力,很大程度上要依靠互联网的连接。
各协议的实际控制路径
- WiFi方案:用户通过米家APP发出指令,数据会先上传到服务器再下发至本地设备。自动化逻辑的生成是在云端完成计算,而不是本地。本地的APP只是一个操作界面。
- 蓝牙方案:设备通过蓝牙网关向服务器上报状态,用户可以在米家APP端实现查看和控制。依然需要公网介入。当然,有一部分蓝牙设备是可以甚至必须要跟手机蓝牙直连才能使用的。在蓝牙方案中,是可以用手机实现脱网控制的。
- 蓝牙Mesh方案:指令也是直接先上报服务器,再下发至本地设备。所以即便蓝牙和蓝牙Mesh本身是可以本地化控制的,但小米并未在系统中做这样的无缝衔接。蓝牙设备大多是通过蓝牙网关来转发指令。而只有一部分设备是可以蓝牙直连。
- ZigBee方案:设备先上传报文,网关判断能否本地处理,可以处理的本地处理完毕下发设备,不能本地的需要上传服务器。服务器处理完数据再把指令发回给设备。
手动操作 vs 自动触发
在小米的智能家居中,根据官方解释,凡是手动操作的均为云端执行;而自动触发的场景可以实现本地化运行。而一旦发生网络故障,云端执行类的场景将无法执行。这就是为什么米家APP在宕机后,用户无法使用的原因。
