趁着过年把智能家居研究了一下,在群晖nas的docker里面安装了一套home assistant智能家居系统。这个系统是比较出名的开源系统,可以接入很多智能设备,市面上常见的智能设备几乎都可以接入,比如小米全家桶、涂鸦智能等,甚至连我的无线路由器、打印机都可以接入进去,非常强大!
使用方法:
智能家居主要强调智能化,可以自动感知周围环境然后做出反应,减轻人的工作。如果只是把实体按键变为虚拟按键,意义其实也不大。我这边会遵循一些方法:
1、能自动感知的,尽量不动嘴。即能通过传感器感应的,就尽量不语音控制。
2、能动嘴的尽量不动手。即能通过语音控制的,就尽量不动手。
3、模块尽量离线可用,就是说即使没有连internet,也可以做到自动化控制.
4、所有代码逻辑集中到hass系统一个地方。米家平台也有自动化,但是功能比较弱。
系统搭建
目前home assistant(以下简称hass)系统是安装到docker里面的,还安装了一些扩展镜像,比如node-red、mqtt等
硬件接入:
小米全家桶:
通过安装xiaomi_gateway3插件,把小米的全家桶接入了进来,包括常用的小爱音箱、净水器、指纹锁、门窗传感器、人体传感器、小米电视、智能插座、空调等。
小米的设备目前用到的分了2种类型,一类是蓝牙协议、一类是wifi协议,zigbee的暂时没有用到。蓝牙协议设备需要破解的小米多模网关接入hass,可以做到断网可用。wifi协议的,比如小米智能插座、净水器、空调伴侣、小爱音箱等,可以通过一些单独的插件接入。
ESPHome
ESPHome是一套专门为hass系统打造的开源硬件平台,主要使用市面上常见的ESP8266/ESP32 wifi模块,可以很简单的进行扩展。模块也非常便宜,淘宝有很多卖的,而且esp模块用途非常广,市面上的wifi智能插座等,基本上都是用的esp模块,所以也可以买现成的产品,然后进行DIY改造。
我这边是在淘宝买的电路板,电路板是新的,不过上面缺少电子零件,需要自己补一下,然后刷机后接入hass,模块非常好用,而且不需要联网,直接wifi接入hass,可以完全做到离线可用。
这些模块非常便宜,4.5元一个,我买了差不多30个,留着以后备用。电路板包含了完整的电路单元,包括220v转5V供电,esp8266模块、继电器。所以直接刷入固件就可以使用了。还可以使用esp8266的io口接入扩展模块,比如人体感应模块、温湿度模块、雨滴传感器等等。
把模块接入到普通的电器,摇身一变就成了远程控制的。我把家里的灯、风扇、排气扇等都接入了这个模块,直接通过hass进行控制。
其他接入
hass还支持很多其他设备接入,比如群晖NAS、路由器、打印机、ps4等等。目前我的2台群晖NAS就接入进去了,可以实时监控cpu、硬盘、温度等等很多状态,甚至把SurveillanceStation中的摄像头也可以接入进来。总之,hass功能非常强大
语音控制
家里有2个音箱,一个是小米的,一个是天猫精灵的,目前都接入到hass。天猫精灵主要用来语音控制设备,小爱同学主要用开关电视和tts。小米和天猫精灵原理机制不一样,所以两者还不能相互替代。
天猫精灵是通过公网域名搭建了一套oauth2.0网关,把hass上的多个设备注册到天猫精灵智能平台,所以可以直接控制设备,比如:天猫精灵,打开灯!下面图片就是自己注册的一些硬件设备。
小爱同学因为需要加一个角色,例如:小爱同学,让XXX打开灯!因为多了一个xxx,控制不方便,所以小爱同学目前只用来tts语音播报。
自动化
hass系统的自动化还是非常强大的,可以写一些很复杂的场景,目前基本能满足我的需求。米家平台也有自动化,但是很不灵活,无法满足需求,所以目前自动化程序都写在了hass上面。