最近看到有国内的技术牛人在用一些开源产品,他在自己的家里搭建智能家居环境,并且实现了最简单的语音控制开关灯、调节灯光的场景。根据文章里的描述,可以实现非常丰富的场景。
举个例子,如果某一天起床,有一个智能灯光会提醒你今天PM2.5的值略高,今天出门需要带一个口罩。也许大家会觉得这个场景很简单,因为我自己查下墨迹天气不就可以了么?但是这个场景最重要的一点是,它和第三方(天气的提供商)产生了关系,而不只是我和家居两者之间的主被动的关系。
我认为的组成智能家居的几个元素:智能家居单品、智能控制平台(也称为智能家居网关)、控制客户端(手机端、声控)、智能家居云端,并且可以根据不同的需求,产生不同的场景。
智能家居单品
这个不用多说,有的是在出厂的时候自带了控制模块,比如支持wifi,并且厂家提供了App去控制这些单品,比如说小米智能家居,他们的所有产品都可以通过小米的App做集中控制。而有的是需要外带控制模块的,比如说你要控制窗帘,控制窗户,都需要外加装一个电机,为了去控制这些家居,还需要通过集控器去对这些控制模块发送指令,指令当然很简单了,就是开和关两种指令了,当然我认为应该也有支持wifi的控制模块。
智能控制平台
也就是我们的网关,他是我们智能家居的核心,对单品进行控制,并且场景的设置也是在这个网关里面做。有开源的平台,叫HomeAssistant,源代码全部开放,理论上支持接入所有的带wifi的模块,但是应该需要厂家提供出接口,并且能够在HomeAssistant社区中找到对应单品的插件。还有一些是厂商自己做的网关,他们支持485总线,也可以支持红外、蓝牙、zigbee,当然理论上也支持wifi。
控制客户端
客户端可以是App、微信、浏览器、声控,只要能够解析我们的指令,并且对智能家居单品发送控制指令就行。之前也讲过,只是用手机端控制,往往还不能算智能,往高里走还需要支持声控。我之前体验过大华等厂家的手机端,个人感觉做得都很粗糙。苹果的Homekit和Siri,还有Amazon的Echo等等,都是体验很棒的客户端。我认为客户端能做出来并不难,难的是体验要好,使用起来方便,不能老是会有崩溃的情况。
智能家居云端
有了以上几个,我们可以在家庭中搭建起来一套智能家居环境,如果我们需要完成对智能家居的远程控制,那么有两种方法:
1、将智能家居网关暴露到公网上,这种方案在现在的网络环境中需要经过特殊的配置才行;
2、通过智能家居云端,对智能家居网关进行远程控制,这个时候,智能家居网关反向连接到智能家居云端,两者建立一个长连接,实时接受用户的指令。如何保证长连接,或者是否一定要长连接,就是另外一个话题了,这里不展开讨论。
智能家居云端在后期肯定是非常重要的,但是在前期我个人认为只要能做到有丰富的场景、可以声音控制家居、良好的使用体验就足够了。
智能家居云端的开发工作肯定是非常繁重的,要花的人力物力精力都非常多。