0%

小米智能采坑笔记

打造懒人之家……

为什么入坑小米智能?

一是因为一直关注的主播当年出了一套堪比小米样板房的全屋智能凡尔赛装修,二是因为小米的产品是真的便宜……

说实话时隔一年半重温这个视频,依然觉得桀哥的装修风格,论点论面都非常前卫。

IoT常用通讯协议(WIFI、蓝牙mesh、ZigBee)

首先需要明确的是,IoT(物联网)组网最需要考虑的是这几方面的因素:功耗稳定性效率。其中稳定性和功耗是重中之重,完全是网络可用和不可用的区分,而效率则主要体现在时延上,是用户体验的保障。

传统的网络结构(比如总线型、星型拓扑)一般都是以中央节点作为核心,其他节点全部连接至中央节点或者总线上。这种中心化的网络结构对于传输可靠性较高的网络系统有着较大的优势,而且也提供了较高的维护效率(某个设备失效查设备,全部设备失效查总线)。然而遗憾的是,IOT往往不具备很高的传输可靠性,一旦某一设备与中心节点断联就会立即出现掉线的情况。

为了保证IOT组网的稳定性,无疑可以考虑采用网状拓扑结构(全连接),这样即使某条连接线路出现断联,也可以通过洪泛法绕道将数据包传送到对应设备手中,然而这样做的代价是每一次点对点通信都几乎会广播整个网络。考虑到组网设备中可能出现使用干电池甚至纽扣电池的设备,网状拓扑结构势必会严重提升这些设备的功耗,降低设备续航。

最近几年,一种并不新鲜但由于技术限制一直未被重视的Mesh网络拓扑结构就重新走上了舞台。作为星型拓扑网络和网状拓扑网络的中间体,Mesh网络无疑是更加适合IOT组网的一种形式。所谓Mesh网络,其实就是网络中所有的节点都互相连接,并且每一个节点至少连接其他两个节点,所有的节点之间形成一个整体的网络。

在有线时代,将任意一台设备和其他两台设备连接是非常困难的,而高传输可靠性的网线又使得这样一种连接变得没有必要。而今随着无线网路的普及,Mesh网络特别是无线Mesh网络终于有了自己的立足之地,只能设备常用的蓝牙Mesh和ZigBee协议就是Mesh网络的应用案例。当然,非常常见的WIFI扩展(即若干个无线路由器覆盖全屋信号实现无缝切换)也使用的是Mesh协议。

另一方面,为了尽可能提升低功耗设备的电池续航,现代的无线Mesh网络往往还对组网设备进行分级:只使用常连接电源的设备进行洪泛法通讯,并提供了对低功耗设备的主动唤醒支持。有了这些功能,部分低功耗设备甚至可以在一天中的绝大部分时间中保持休眠,而只在被唤醒或主动传输数据包时工作。

最后,如果在无线局域网中添加若干个可以连接WIFI协议的设备,则可以通过协议转换使整个设备接入互联网,做到远程数据交互的功能(例如人在地铁里把家中空调打开,或家中有人按门铃远程语音通话等);也可以在其中加入语音指令处理模块,对网络功能进一步拓展。

入坑了哪些装备?

由于穷,加上家人不太喜欢捣鼓,所以没怎么整全屋智能,只买/换了很小一部分产品,勉强组成了一套生态:音响Pro、床头灯、窗帘机、Yeelight吸顶灯、Yeelight显示器挂灯、智能门铃、优点智能门锁、智能开关、Yeelight凌动开关、智能墙壁插座、网关。后续可能会加一些氛围灯和小的软装产品(基本都是IoT边缘设备),比如垃圾桶什么的。

  • 小爱音响Pro:说实话音质一般,算法上似乎对华语流行有神秘优化,重金属拉胯。支持QQ音乐但居然需要单独开账号去搞会员。说实话不太用来外放,主要用于语音控制并为房间提供中控网关(集WIFI、蓝牙Mesh和ZigBee为一体)。有模拟红外遥控器的功能可以和语音控制联动。
  • 米家床头灯2:外观简洁,触摸式控制,169的价格属实性价比之王。色温亮度无极调控,支持RGB全色控制,也支持流光、智能夜灯等功能。
  • 米家智能窗帘:遥控器控制开合,也可以手拉(稍微动手给点力它就会主动开合),联网后花式就多了。晚上睡觉早上起床完全不用去拉窗帘懒人必备。只支持直导轨,对屋顶和原有导轨有一定要求,购买前务必问清楚不然就等着改造或退货吧。上门免费安装,加长导轨要加一百块钱。
  • Yeelight吸顶灯:主灯支持色温亮度无极调控,氛围灯(对着天花板打的)支持RGB全色控制,说实话氛围灯用处不大。智能灯务必不要接智能墙壁开关。
  • Yeelight屏幕挂灯pro:主灯支持色温亮度无极调控,氛围灯支持RGB全色控制,送一个无线旋钮开关(用电池)。pro当时买的时候花了700,多个流光效果和入网功能。所谓减少显示器反光的功能实际体验一般,主要是省了桌面空间,且主灯的照明的范围和亮度也更适合书桌使用。个人感觉如果没有入网需求的话还是300的非pro版本性价比高一些。
  • 小米智能门铃2:门铃+摄像头,支持云存储3天的视频数据。有夜视功能,门外场景出现变化时主动唤醒录制保障了电池寿命(使用八节电池可用一年?)。联网后可以实现远程通话功能。送一个屋内门铃,屋外的门铃只是响给客人听的,而屋内的门铃可以安装在联网的任何地方。好像也可以和小爱同学联动,还没研究。
  • 优点智能门锁:指纹开门+钥匙开门+密码开门。居然没有NFC功能,不过反正可以当做不要钱送的。来源详见《记一次成功的购物app爬虫》。
  • 米家智能开关:用于控制传统灯具,目前只有单开和双开的版本。联网后可以通过各类手段独立控制各开关的供电状态,安装需要请专门的电工师傅,务必不要用于多控开关。
  • Yeelight凌动开关:用于智能灯的凌动开关,关闭开关不会断电导致智能灯断连。
  • 智能墙壁插座:联网后可控制插座供电,借此控制小件非智能电子产品。有电费统计功能。
  • 小米智能多模网关:网关专业版(ZigBee、蓝牙、蓝牙Mesh协议),提升Mesh组网范围和连接质量,需要挑一个角落插电源长连。之前怕Mesh组网信号不好买的,后来发现音响pro的范围够了暂时就没用到这个网关。

二次开发

小米生态在其“米家”APP中面向非专业用户集成了大多数常用的二次开发傻瓜模块(取名叫“场景”),颇有现在流行的幼儿编程感觉。简单的联动功能基本都实现了,就是想深度定制一些功能(比如来个邮件自动亮灯啥的)肯定是不支持的。

小米IOT开发者平台可以查看小米生态的开发文档和SDK,遗憾的是这一部分暂未向个人开发者开放。

反观阿里那边的AliGenie生态已经完全向个人开发者开放,天猫精灵yyds!

不过说实话暂时也没时间搞这些玩意儿……IOT在未来绝对更有市场,等待生态进一步完善吧。

几个坑

  • 务必入坑同一个生态:不然就等着爆炸吧。
  • 智能灯无需智能开关/插座控制:智能开关/插座只是传统开关+联网控制而已。因此关闭智能开关依然会使灯具完全断电,这会导致智能吸顶灯/智能灯具断联而无法使用打开开关以外的任何方法打开。事实上,智能灯具的供电最好是常供电源的,吸顶灯应该不需要接入任何开关。如果实在有实体开关的癖好,可以去买凌动开关(一种关闭不会断电,而是发送特定电流信号通知灯具关闭的非智能开关),或者去买无线开关(使用纽扣电池走Mesh协议的假开关)贴墙上。
  • 智能墙壁插座不支持多控控制:回忆初中物理对多控开关原理的理解,就可以理解智能插座并不支持多控控制(当然实际上也不需要多控控制)。不然就等着$2^n$ 枚举开灯的方式吧。

参考与拓展阅读