前言
Apple HomeKit智能家居方案,是苹果2016年在WWDC大会上提出来的,至今已经6个年头。在国内一直是不温不火的状态,除了有小米智能家居的米家方案等一大堆国内厂商跟进外,苹果特有的“贵”也是其阻碍因素之一,一个智能插座或者空调伴侣动辄几百块的价格吓退了不少果粉(包括我)。另外小米的智能家居也是支持HomeKit(需要单独购买HomeKit的网关),以下则是如何不购买额外HomeKit网关前提下,利用树莓派实现Apple HomeKit智能家居方案。
接入过程
一、使用ssh登录树莓派,并配置相应软件包
接入Apple HomeKit 我们需要在树莓派使用npm包管理,如果没有安装npm请自行Goole解决,一般树莓派是使用apt-get安装,如果不行只能通过下载官网包安装。
然后通过npm安装,homebridge,以及homebridge-mi-acpartner(一个homebridge支持小米配件的插件)
sudo npm install -g -unsafe-perm homebridgesudo npm install -g homebridge-mi-acpartner
然后输入homebridge回车,如果控制台出现一个二维码则为安装成功。
homebridge
二、获取小米(绿米)空调伴侣token
此处获取方式网上五花八门,如通过旧版米家一顿乱点(估计几年前的安卓包,能否使用位置)等等。这里推荐一个靠谱的方案,通过miio 插件。
//这里是使用自己的macbook获取,而非树莓派,window机器一样可行。
首先安装miio
npm install miio
之后将小米空调伴侣长按重置,它会出现不带密码的wifi,通过macbook连接该wifi.然后输入以下命令
miio discover
接下来就是见证奇迹的时刻,空调伴侣的token已经被发现了。
接下来就是按照小米官方的教程,连入自家Wifi,以及配置好智能空调遥控。基本上打开米家,点击添加就OK了。
此时再执行一次
miio discover
记录下空调伴侣的路由Wifi地址,一会需要用。
三、配置Homebridge的config.json文件
Homebridge的运行实际上是依赖config.json文件的配置来运行,结合homebridge-mi-acpartner插件上的参数,我们写入下面的配置。
cd .homebridge//新建文件
touch config.json//编辑文件,我这里使用nano, 看个人爱好
sudo nano config.json
写入如下配置
{"platforms": [{"platform": "XiaoMiAcPartner","devices": {"上面保存的米家空调伴侣的路由ip地址": "上面获取到的token"},"accessories": [{"name": "learnir_switch","type": "learnIR"},{"name": "AC Partner","type": "climate"},{"name": "ir_switch","type": "switch","data":{"on": "FE00000000000000000000000006003222580031003C00AC01C2037A1388430201010101010101010202020202020202020101010101010100020202020202020201010101010101010202020202020583","off": "FE00000000000000000000000006003222580034003E00AB01C0037A1388430201000000010000000202020202020202020001000001000001020202020202020201010001000001010202020202020578"}}]}]
}
重新启动homebridge
homebridge
通过iPhone家庭App扫描接入homeBridge,此时一顿确认后,家庭App就会出现三个开关了,分别是空调、风扇(已改名,对应的是上面的ir_switch),下面会继续讲解它是怎么来的(红外码的获取)。learnir_switch(红卡学习开关),用于获取红外设备的红外码。
四、配置自定义红外码
此处家里刚好有台风扇是有遥控的,我以此为例,聊聊如何复制风扇的红外码。上面的learnir_switch 开关配置后,通过家庭app打开learn开关,此时树莓派控制台会提示你可以开始记录了,这时你一分钟所有红外设备的红外码都会被捕捉并打印,如下,我们捕捉后填入on,off栏,此时一个自定义红外开关就完成了。
五、给你的HomeKit配置远程启动
上面的操作都处理完之后,你的HomeKit其实只能在家里本地网络使用才有效(手机和树莓派连接同一个路由器),如果你想要在回家的路上就远程打开空调预热,那你想要给HomeKit提供一个家庭中枢。简单点来说就是💰💰💰你需要有一个iPad或者Home Pod常驻家里,连接wifi,和iphone以及macbook等使用同一个Apple 帐号,并打开家庭中枢功能。我刚好有台iPad Pro在家,如下即可,那你就能享受回家前就提前打开空调的待遇啦。
六、树莓派启动进程保护
最后,也就是如何让homebridge常驻线程了,正常情况下如果你关闭了ssh,homebrige自然也给你close掉。我们如何实现退出树莓派,进程还在呢?那就要进程保护了,进程保护有很多种方案,这里我用一种最简单的。
安装screen
sudo apt install screen
在scrren中启动homebidge,然后直接关闭树莓派即可,具体screen的用法,请自行google.
//启动一个名字叫homekit的 screen
screen -S homekit//此时会新建了一个新的窗口,然后启动homebridge
homebridge
末尾
本篇文章就到此为止,如果你有什么想法,欢迎留言评论哈,感谢大家耐心看完,也还请各位走过路过的来个一键三连,感谢🙏~