这两天迷上了开源的智能家居平台HomeAssistant家庭助理,然后开始做起了测试。
做这个测试主要目的是希望把智能家居体验起来,体验下HomeAssistant的功能,为后面设计开发产品做一些准备。
测试准备:树莓派,SD卡(放置在树莓派中,用于安装HomeAssistant的操作系统Hassbian),5V 2A的电源充电器,yeelight灯泡。成本一共加起来500块钱。
下面简单总结下测试步骤和可能遇到的问题,并且如何去解决的。
1、安装Hassbian
下载Hassbian的镜像文件,然后通过软件安装到SD卡中,将SD卡插入到树莓派中,并且插入网线以及接通电源,Hassbian即可运行。
用Hassbian可以简化我们的安装过程,里面已经集成了Homeassistant。如果从头开始安装Homeassistant也是可以的,但是比较麻烦。毕竟这次测试的目的是为了体验智能家居,所以就不花精力重新安装了。
说个以前的傻事,以前做Network Engineer的时候,为了使用网络监控软件,很傻地把Cacti重新安装了一遍,装了半天 ==!
2、配置无线模式
运行起来后,家里的路由器会为树莓派分配一个IP地址。第一次登陆的时候一定需要用网线,然后ssh登陆进去,使用iwlist命令scan之后,配置wifi信息。然后就可以抛开网线的束缚。
3、调试服务
然后我们用netstat去看运行的端口,会发现有一个8123端口,这个就说明homeassistant运行起来了。直接用浏览器可以打开homeassistant的控制台。如果用systemctl status home-assistant.service,可以看到是service是active的状态。
但是我在做这一步的时候也遇到一个问题,我安装了最新的Hassbian,服务一直起不来,在/home/homeassistant/这个目录里面一直找不到隐藏的文件夹.homeassistant,在github和homeassistant的论坛上我查了很多资料都无法解决。后来索性重新安装了一个版本,今年3月22号发布的,立马解决了这个问题。不知道我的这个是个例,还是其他人也遇到了。
4、配置yeelight
然后我去配置yeelight,在homeassistant的config文件里面添加yeelight的配置,重启服务。这样在homeassistant的主页面就能看到配置的yeelight,但是发现是unavailable的状态。
查了下log日志和论坛,发现要把Yeelight设置成开发者模式。但是现在最新的ios的yeelight App无法把设置,又重新找了很多论坛,发现只能用android的app才能设置。
这也是我比较担心的一点,特别怕厂商将接口关闭,封闭发展自己的生态。
这样我们就可以在主页面上控制yeelight了。做到这里就非常兴奋,意味着yeelight可以作为家庭智能家居的一个成员了,那么我把很多单品再加进来,场景就很丰富了。后面我会购买BroadLink,再进行一些测试。
5、加入HomeKit
最后,我需要把yeelight接入到HomeKit中,用Siri可以语音控制。
这边有个过程,先要安装Homebridge,再安装Homebridge-homeassistant,然后启动homebridge。
因为Homebridge是中枢控制设备,他是可以独立的,但是需要控制HomeAssistant接管的单品,所以把homebridge和homeassistant集成起来。
然后开始安装。安装也有步骤,很多软件都缺失,要一步一步来。先用Apt-get安装npm,然后用npm安装homebridge和homebridge-homeassistant。但是安装过程homebridge的中遇到nodejs的一些问题,并且还需要node大于一定的版本,就又去找怎么安装好版本的node。这个过程花了好长时间,因为我对这个nodejs等只是一知半解的原因,好在有很多官方资料可以找到,就都解决了。
接着再配置homebridge下面的config文件,把homeassistant的一些信息配置进去,包括无线网卡的mac地址,homebridge作为服务运行的端口等等。
这些都有详细的步骤,但是都要一个一个找到并且把这些步骤串起来。
6、额外配置
另外就是要把homebridge运行在后端,用systemctl就可以。这个我还没测试,每次我一把terminal断了,homebridge也断了,等我从重庆成都回来再好好做下。
还有如果一个wifi环境下的两个手机同时想用一个HomeKit控制yeelight,只要做一次share就行了,绑定的是icloud账号。
最后最后附上的一些图。一直觉得虽然用siri去控制灯泡也挺傻的,好像不太实用,但是毕竟往前卖了一步,也是体验了一把,而且也意味着只要家电厂商开放wifi接口,homebridge也添加了plugin,那么就能实现各种场景的语音控制。
昨天晚上还测了,如果和Siri说“把客厅灯调成蓝色”,也能识别。