米家app发展的很快,短短几年,已经日趋完善,得益于其高性价比,用户也越来越多,反观HomeKit在国内的表现,也仅仅是同“电视.app“一样,躺在每个ios用户的手机里。后来,在GitHub上开源了一个HomeBridge项目,通过树莓派做桥接,实现Siri控制米家智能设备。
##一、需要准备的东西
支持 iOS10 的苹果设备( iPhone 5 以上、 iPad mini 2 以上、 iPod 第六代以上)
小米多功能网关二代( 注意:一定要二代!)
任意一个或多个支持 HomeKit 的设备:小米智能插座 ZigBee 版、小米人体传感器、小米门窗传感器、小米温湿度传感器、Yeelight智能灯泡、 Aqara墙壁开关等
- 树莓派 Raspberry Pi 3B+ (包含读卡器 & 8 Gb 以上 TF 内存卡一张)
- Mac Book一台(当然,win也可以)
树莓派3B+
##二、GitHub项目地址
##三、开始吧
- 关于树莓派的安装和打开ssh可以先移步系统烧录和打开ssh;
- 跟新gcc(可以使用pi用户也可以使用root用户,使用pi用户涉及权限问题请加sudo)
sudo apt-get install gcc
- 接下来依次安装,如果你发现速度很慢,你可能需要更改中国软件源,参考文章:Raspbian 中国软件源,阿里云各个地方速度都不错。
a. 安装nodejs:sudo apt-get update
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
b. 安装avahi:sudo apt-get install libavahi-compat-libdnssd-dev
c. 安装HomeBridge:sudo npm install -g --unsafe-perm homebridge
d. 安装homebridge-aqara:sudo npm install -g homebridge-aqara
安装部分完成! 新建和配置config.json文件
返回主目录→创建” .homebridge “文件夹→进入” config.json “文件)1
2
3cd ~
mkdir .homebridge
vim .homebridge/config.json
复制以下代码稍作修改:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"platforms": [{
"platform": "AqaraPlatform",
"sid": ["【(密码A)网关MAC地址,去掉冒号,全部小写】"],
"password": ["【(密码B)网关局域网密码】"]
}]
}
其中 name 是你在 iOS 家庭 App 上可以看到的桥接器的名字,建议就叫 Homebridge,username 需要是类似 MAC 的格式,是可以随意填写,只要符合格式,建议不需要更改了。port 随意,确保不要被占用。pin 随意,为密码,需要是 8 位数字,格式为 xxx-xx-xxx,比如 123-45-678。下面的 platform 也是无所谓修改不修改,关键是sid和password,这就需要在手机上操作了。
在手机上打开米家 App,点击你的网关,右上角三个 ···,并狂按底部空白区域,直到出现局域网通信协议和网管信息为止。
点击局域网通信协议,打开,并刷新一个密码,改为全部小写,(安卓手机刷出来是小写),记录这段文字(密码 A )。
点击网关信息,找到 mac: 后的文字,如本截图中的 28:6C:07:85:B3:0E,去掉 : 并全部改为小写,也记录这段文字(密码 B ),如本截图中的文字处理后的结果就是 f0b429cc6168。
第一个密码 A 就是你的 sid,第二个密码 B 就是 password。如果你有多个网关用逗号链接,比如 cb30a01c1bcc4b3c, dc41b12d2cdd5c4d, password 同理。在刚刚树莓派编辑的 config.json 输入上面获得的密码,保存退出。(vim的使用自行Google)
- 运行homebridge
直接在命令行输入homebridge
就能运行;有时出现错误会自动关闭,错误原因有很多,一般就是端口占用,或者mac地址和密码填写错误,仔细检查,如果不行的话,清除缓存,删除连接信息重新运行homebridge:
操作方法
a. 结束HomeBridge进程,如下:pkill -9 homebridge
b. 进入config.json所在的文件夹,例如:cd /root/.homebridge
c. 删除文件夹下persist文件夹,例如:rm -rf persist
d. 重启Homebridge进程,例如:homebridge
掏出iPhone,打开家庭app,点击添加配件,扫描二维码或者手动输入你设置的八位密码就可以配对成功,操作完成。 - 最后的最后,你会发现,HomeBridge 停止运行了。我们不可能在电脑上挂着终端使树莓派一直运行这个服务,因此还有最后一步,把 HomeBridge 服务加入到树莓派的系统服务里。事实上, 树莓派文档 Scheduling tasks with Cron 给出的方法是最简单并且方便以后配置别的程序。
先安装 cronsudo apt-get install gnome-schedule
然后配置 cron.crontab -e
在最下方添加@reboot homebridge &
即可完成开机启动 homebridge 的配置。
现在,你可以重启一下树莓派,运行ps -ef | grep homebridge
看看 HomeBridge 服务是否正常运行.
最后来感叹一下apple的生态系统,当我成功配置后,我能够在iPhone、ipad、mac、甚至是Apple Watch上控制小米家居,实在激动。
注意:树莓派必须通过网线连接,不能通过Wi-Fi连接!
参考:
树莓派进阶(一):借助树莓派与 HomeBridge,从米家到 HomeKit
从米家到 HomeKit,你只需要一个树莓派
HomeBridge教程