作为智能硬件领域的一名产品经理+工程师,智能家居的折腾从未停止,本人也在从事智能硬件这块的产品设计工作,疫情期间决定对过往的一些知识做一个系统性的梳理,因此写了这篇文章,从一个产品经理的角度,介绍下我在智能家居的一些实践和看法,本文作为这个系列的第一篇,从照明的角度,看看智能家居。

怎样让灯变智能

这块其实可选的非常多,根据前装、后装也有区分,在介绍对应的方案之前先说下真正的智能灯应该有的几点原则:

  1. 支持通过APP/音箱/遥控器等控制、当然,这是目前所谓智能家居产品的普遍现状,所谓智能就是APP控制;

  2. 兼容原有的控制方式,如墙上的面板开关控制;

  3. 有比较好的异常处理机制,比如跳闸、停电之后恢复的时候不能全是亮或者全是灭的状态。

智能灯具

很多人习惯性选择智能灯具,例如Yeelight的一些智能吸顶灯、智能灯泡灯,这类灯具是在灯体中加入Wi-Fi、蓝牙等联网模块,实现智能控制。我书房的台灯不是智能的,用的就是飞利浦智睿灯泡来实现联动控制。对照上面三点,就会发现以下问题:

  1. 原有方式兼容问题:绝大多数装修墙上针对灯装的还是传统的86开关面板,如果通过开关面板把灯关了,则灯具整体断电,本身处于断网状态,就没办法通过APP再开灯,为了保持可以随时通过APP开关灯,墙上的开关必须保持常开状态;

  2. 异常处理问题:在通过APP关灯之后,为了使通过墙上面板也能开灯,很多联网控制模块会加入类似逻辑,上电之后自动恢复开启状态,这样如果通过APP把灯关了,想通过墙上的开关开灯时,只需要先把墙上的开关先关一下再打开即可,但是这就带来了一个问题,如果是停电之后来电、或者遇到跳闸这类场景,灯都会被打开。

针对这类问题,其实也有一些解决方案,但是还不算很彻底,比如小米发布的墙壁开关,支持双模式,所谓的回弹模式,是指按开关的时候只是断下电,松手后就会回弹回去,恢复供电状态。灯具的Wi-Fi或者蓝牙模组设定为通电一次开启、再通电一次关闭,这样就能够在保证联网模块常供电的同时通过面板实现开关,也不影响通过APP控制,解决了上面的第一个问题,但是第二个问题无法解决,不过第二种毕竟少数,因此这种搭配方式整体体验还算可以。

另外就是配合特定的遥控面板,比如Yeelight的部分灯具,可以搭配通过蓝牙或者Zigbee的墙贴或者手持遥控器,来替代墙壁上的原有面板,这种方式是不存在以上问题的,只是因为通讯模块需要的更多,往往也更贵。

智能开关

智能开关是一个前后装都适合,相对简单的方法,如果是在装修之前,一定记得在86盒里留零线,当然类似我这种买房没有重新装修的,就不得不考虑单火线的智能开关,这也是我目前用的最多的方式。除了台灯之外的所有开关面板都换成了绿米的单火面板。

这里先说下单火,正常情况下,零火两根线,为了节省走线成本,往往只有火线走到开关处,开关通过控制火线的开合来控制灯具,而智能开关因为需要联网,所以必须要保持供电,在只有火线的情况下,就没办法保持完全断开,需要通过微弱的电流来采样取电,如果电流过大,就会造成灯具闪烁,而电流太小,就得保证智能开关的工作功率要比较低。因此单火线的智能开关都必须得是超低功耗的通讯协议,如Zigbee、433等,最常见的Wi-Fi没办法做单火,而且灯具的功率不能太小,一般要在5W以上,这也是为了防止闪烁,当然也可以在灯具段并联一个电容来解决这个问题。

另外就是单火也会增加额外的成本,绿米的单火版本就要比零火版本贵50块,其他的还有欧瑞博基于zigbee的单火开关,lifesmart基于433的单火开关,总的来说一个开关接近200块的价格还是比较贵的,我换下来都觉得肉疼。

其他方式

其他的比如有些灯具支持红外或者433遥控器遥控,就可以用红外万能遥控或者射频万能遥控来遥控控制,这些在体验上都不是很好,而且智能灯具存在的问题这里也存在,可以适当体验。

另外,目前也有一些改装模块,如支持串联到灯具里/86盒里的都有,例如下图这种Wi-Fi改装模块,二十块的成本,改装起来性价比很高,特别是对于普通吸顶灯来说改装很方便,但是问题和智能灯具是一致的。

什么是真正的智能照明

真正的智能就是去开关化

前两年无论什么产品加个Wi-Fi或者蓝牙支持通过手机APP控制了,现在支持音箱控制了,就认为是智能了,更过分的是有些产品甚至把传统的交互方式去掉了只保留APP交互,比如之前某款体重秤,去掉了显示屏,只能去手机上看结果,比如之前小米的一款带有小爱同学的智能马桶盖,这都些都是对智能最大的误解。

实际上回看智能硬件过去几年的发展,这个行业兴起的一个标志性事件就是谷歌在2014年32美金收购Nest,而Nest的代表产品Nest恒温器可不仅仅是一个长得漂亮、交互新颖支持APP控制的温控器,能够通过内置的传感器,可以监测室内的温度、湿度、光线以及恒温器周围的环境变化,判断房间中是否有人,记录用户的温度调节习惯,并以此决定是否开启温度调节设备,简单来说做的就是去开关化,不是让你通过它可以用不同的方式调节温度,而是让你压根想不起来调节温度,因为温度它自动帮你调整好了,你都意识不到需要调节什么,这才是智能控制的核心。

智能照明就是人在灯亮,人走灯灭

如果单看这个标题可能很多人会觉得,这很简单啊,的确,记得小时候声控或者人体感应灯就已经很普及了,但是放到家庭场景,目前这个问题解决了么?抱歉,没有!

我的需求很简单:除卧室外,人在灯亮、人走灯灭;

解决方案:小米人体感应+上面的智能开关;

我购买了小米生态链绿米的人体感应,米家的版本便宜些,没有支架,绿米Aqara的贵一些,带支架、带亮度检测。

通过设置有人开灯的联动场景实现人来灯亮,注意,这里说的是“人来”灯亮,不是人在,那么问题在哪里?就在“人在”的检测上。

比如我的场景,设置卫生间有人移动开灯、三分钟之后关灯,逻辑上如果持续检测到人移动,这个3分钟就会不断被推迟,人出来后,最多过三分钟那个灯也就关了。

但是用过小米智能家居套装的人都应该有体会到,实际不是想象的那样美好,我经常在蹲马桶的时候沉思一会儿,灯关了,在书房发呆一会儿,灯关了,在沙发上躺着看电视,灯关了。所以这种组合智能做到人来灯亮,做不到人在灯亮。

问题在哪里?

  1. 传感器本身限制:红外热释传感器通过检测人体(热源)的红外信号来检测是否有人,优势是检测灵敏,功耗极低,缺点是容易有误报(在家居场景还好),对静止物体不敏感(这是核心问题),这也就导致有时候人稍微静止一会儿,红外检测不出来;

  2. 低功耗处理:整个绿米那一套基于Zigbee的智能家居套装低功耗确实做得很好,纽扣电池我两年多没换目前都还在正常使用,对于开关按钮、门磁,本身有状态变化时发射一次数据还好,毕竟不会持续按开关或者开关门,但是人体感应如果一触发就同步数据就会非常频繁,如下图我书房的人体感应触发记录,因此绿米做了一个低功耗处理,一分钟内不重复触发,这就导致一分钟内的人体移动无法感知上报,而且有时候灯关了,在一分钟内你是无法触发让灯重新点亮的。

当然,除了上面的“人在”的问题,其他未解决的痛点问题还有很多,比如:我想实现晚上回家开门后自动打开客厅灯,如果是基于门窗磁来实现,门磁打开,晚上时间段开灯,逻辑上没问题,但是偶尔会遇到晚上出门的场景,这时候单凭门窗磁是无法判断你是进门还是出门,最后我是使用智能门锁,通过指纹开锁联动开灯才可以比较好的解决。

我的智能照明改造

首先是小米的联动设置太简单,判断条件太少,而且没办法设置复杂逻辑,因此针对照明场景第一步做的是把家中所有设备接入Homeassistant,通过Nodered做规则处理。

举个例子,比如我购买了带亮度检测的人体感应,设置有人移动且亮度暗就开灯,但是多少亮度算是暗,这里是没办法设置的,这就导致完善在我餐厅灯开着的情况下,虽然书房很暗,但是是无法自动开灯的。

而通过Nodered,规则设置就灵活的多。可以单独通过接口读取传感器亮度,设置合理的值。比如我书房没有安装空调,但是有风扇,就可以通过读取房间温度在有人的时候自动开启风扇。

另外,类似人体感应传感器其实报上来的数据比较多,Nodered中可以通过读取一些特定的字段获得更多的信息,比如,米家人体感应传感器上报数据中有这样一个字段:msg.data.attributes["No motion since"],表示的是从上一次开始没有人移动的时间,逻辑上比到了一定时间点判断有没有人更精确(可能刚好判断那个点人是静止状态),这样也有助于提升精度。

当然,以上措施只是缓解,仍然不能彻底解决问题,针对卫生间,因为我用的是智能马桶,虽然马桶带有压力检测,但是因为是松下的,本身并没有联网,所以我通过一个带功率检测的插座来检测马桶上是否有人(马桶上有人时会持续加热+空气净化,功率会高于没有人的时候),在关灯之前通过马桶功率做二次判断。

针对书房,自己DIY了一个微波+DHT11传感器的检测设备,装在了前几年一个众筹的智能硬件iKair的壳子里,接入了Homeassistant和Node-Red,通过微波来判断是否有人。

当然,微波也有微波的问题,核心问题是检测太灵敏而且能穿墙,可以看看下放的检测历史,我自己测试隔两堵墙都没问题,所以在判断时间上,对微波的数据稍微严格一点就可以。其他的我还试过在客厅场景使用摄像机、定期拍照,通过图像识别判断画面中有没有人,这类操作这里就不在列举,后续针对智能监控可以单独写一篇。

最终基于Nodered的关灯逻辑如下,整体还是比较复杂的。

一些思考和总结

细节!细节!

米家生态的多数产品体验在同类竞品中都还是不错的,但是即使是一个简单的人体感应,在低功耗的处理上,亮度的判断上都还不完美,而且这两年基本也没有功能更新和改进。智能家居场景的容忍度比较低,一次差的体验就容易让人抓狂。

针对米家的几个产品,其实有几个可以通过软件优化的点:

  1. 低功耗处理可以一分钟内不发送网络消息,但是MCU需要把中间红外热释的触发记录下来,等到发送消息时把状态补上;

  2. 可以根据时间段和状态优化功耗处理方式,比如晚上的特定时间段,比如设置了多长时间没人移动就关灯,如果灯是开启状态则这段时间内传感器可以适当放宽限制;

  3. 亮度判断可以细化几个等级,可以单独判断。

智能家居不是APP控制,也不是音箱控制,是去开关化

丈母娘过来的时候,我担心她不习惯,特地用iPad做了一个高保真的控制界面,比如下图,这是和我家户型意义对应,而且状态对应的一个控制界面,想开哪个灯,直接点对应的房间就可以,但是实际上压根想不起来去用,我丈母娘很快习惯这种自动化控制,想不起来去开灯,即使偶尔需要操作也是“小爱同学”吼一嗓子的事情。

附上2015年年初给老板写的一份报告中用的一张图,去开关化需要统一的云平台、统一的物模型、云端做场景细分和数据挖掘,回头看这块小米、阿里、京东都做的不错,也有类似涂鸦、机智云这类创业公司加入,设备上云远程控制已经非常成熟,但是像我所说的去开关化做的好的场景又有哪些呢?

智能家居需要云边协同,需要一个智能家庭的控制中心

14年的时候,业界还在争论智能家居的控制入口或者控制中心,当时很多人寄予厚望的是智能路由器,传统的前装智能家居方案中往往都存在一个智能网关或者智能主机,但是在C端的场景中不太现实,小米的网关更多是一个协议转换设备,目前充当蓝牙网关的智能音箱,在网关层面也仅仅是协议转换。针对智能家庭的控制中心这两年讨论的反而比较少了,所有设备上云后云端可以通过直连或者云云对接的方式进行云端的场景联动,这种实现方式对于用户来说成本更低,但是这种方式的问题也比较明显:

  1. 响应速度的问题:控制命令需要上云,然后云端在通过长连服务推送控制对应的被控设备,这就导致响应速度比较慢,小米的设备中,如果是Zigbee的传感器联动控制Zigbee的开关插座可以在网关内完成,一旦跨设备了,响应速度就要慢一些,有时候进屋拿个东西都出来了,灯才亮。

  2. 异常处理问题:家里网络的稳定性问题,上云之后对网络延迟、网络连通性有要求,一旦网络不稳,直接影响功能实现。

我是在家里通过一个运行armbian Linux系统的斐讯N1盒子,作为家庭的控制中心,运行Homeassistant和Node-Red,小米、博联这些设备都支持局域网协议,和N1的通信都是局域网通信,在联动控制的速度上提升比较明显,对于普通用户来说,也需要类似的一个设备,设备走云端和局域网的双协议,家庭联动场景局域网内就可以完成。当然,Homeassistant和Node-Red还是偏极客,但是还是可以做一定的封装,让交互更简单,对于普通用户来说可能用简单的智能场景配置就可以,针对一些前装的用户,可以使用类似Node-Red的平台,让专业的安装调试人员做更专业的配置。对于这个设备本身,可以是和路由器、和NAS或者和带屏音箱的一些结合。

互联互通是目前国内智能家居普及的最大障碍

国内几个巨头都希望打造自己的一个生态链,加上行业缺乏统一的标准,导致目前的产品体验都是割裂的,之前即使是大的家电巨头,如海尔、美的,多数用户也不可能从洗衣机到冰箱到电视都是一家的,虽然他们都有一整套的智能家居方案,去年AWE更是直接一家包了一整个展馆。虽然展示出来很美好,但是这种全套的用户并不会太多,更多的还是组合来用。智能音箱虽然推动了不同厂商之间的云云对接,但是仍然是单向控制,何况还有小米这样对接的第三方只允许音箱语音控制,不允许做设备联动的。

去年年底,谷歌、亚马逊、苹果三巨头,牵头成立了一个联盟“Project Connected Home over IP”,旨在将智能家居控制打通,今年预计会有一些大动作。之前也有其他的OCF联盟之类的,推广的都不是很理想。年初工信部的领导留意到了这个事情,召集主要厂商负责人开会讨论了这个事情,我也参加了这个会,希望国内厂商能有所突破,对整个行业都是好事。