树莓派进阶(一):借助树莓派与 HomeBridge,从米家到 HomeKit
HomeKit 相信各位都非常熟悉了,得益于它原生自带,在 iOS 上可以说是十分优秀的。无论是你可以告诉 Siri 我回家了,早上好等这样的文字激活你设置好的场景,还是可以直接从控制中心看到和控制你所有支持的设备,比起其他第三方智能家居 App 使用体验都更佳。

米家则是小米很早就推出的智能家庭系统,其最大的特点是便宜和基础。它的很多设备说实话,可以做到绝大多数目前支持 HomeKit 的设备正在卖,并高价卖的功能。如 D-link 推出的 180 度家庭摄像机,售价 1600 多。除了可以直接看完 180 度,无需旋转机器,还可以设置网格内点特别关注功能以外,其他对比小米,或者国内很多品牌真的没有什么特点可言,因此米家也成为了用户进入智能家庭领域的入门首选。

小米曾经自己推出米家 - HomeKit 的工具,只可惜限定了小米路由器硬盘版,且十分不稳定。而小米自己的米家 App 不仅无法快速控制(部分设备支持)且 App 内有商城广告等信息,界面冗杂。因此是时候我们动起手来将它手动桥街到 HomeKit 了,这里使用的是小米公司的合作企业绿米开放的 API。

工作原理:

所需要准备的硬件
-
支持 iOS10 的苹果设备( iPhone 5 以上、 iPad mini 2 以上、 iPod 第六代以上)
-
小米多功能网关二代( 注意:一定要二代!)
-
任意一个或多个支持 HomeKit 的设备:小米智能插座 ZigBee 版、小米人体传感器、小米门窗传感器、小米温湿度传感器、Yeelight智能灯泡、 Aqara 墙壁开关
-
Raspberry Pi 3B (树莓派 3 代 B 型)
Raspberry Pi 3B
-
读卡器 & 8 Gb 以上 TF 内存卡一张
实现小米智能家居接入 HomeKit
在开始之前,你一定要能够用 SSH 登陆上你的树莓派。
写入 HomeBridge
Tips:
- 树莓派输入命令后,无论是报错或任何情况导致无法运行,都一定会回到
「 pi@raspberry:~ $ 」
。载入和安装镜像都需要时间,长短由网速和镜像源决定,少则五分钟,多则半小时以上。所以,不见到「 pi@raspberry:~ $ 」
就说明:还在运行!不要随便关掉,否则浪费很多时间! - 复制代码的时候,不要图方便一下子复制几行,行不通的, OK ?
基本而言,只要按照以下步骤,一步一步复制粘贴到终端里并执行,就能顺利运行。
Start
Step1 切换镜像源
*默认源是外网资源,给 iPhone 越狱过的人就会知道,网速再快也还是会很慢,所以把源切换到阿里云的国内源。(如果不需要的话可以直接跳过这一步)
sudo nano /etc/apt/sources.list
↓
deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib
Step2 安装 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
Step3 安装 avahi
sudo apt-get install libavahi-compat-libdnssd-dev
Step4 安装 homebridge
sudo npm install -g --unsafe-perm homebridge
Step5 安装 homebridge-aqara
sudo npm install -g homebridge-aqara
(如果有 Yeelight ,则再加一行命令: sudo npm install -g homebridge-yeelight
)
Step6 创建 config.json (根据顺序分别是:
返回主目录→创建" .homebridge "文件夹→进入" config.json "文件)
cd ~
↓
mkdir .homebridge
↓
nano .homebridge/config.json
Step7 配置 config.json
将下面的代码复制或者输入到 config.json 文件中
{
"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,点击你的网关,右上角三个 ···,并狂按底部空白区域,直到出现局域网通信协议和网管信息为止。

点击局域网通信协议,打开,并刷新一个密码,改为全部小写,如本截图中的文字处理后的结果就是 1f3c023242254901,记录这段文字(密码 A )。

点击网关信息,找到 mac: 后的文字,如本截图中的 28:6C:07:85:B3:0E,去掉 : 并全部改为小写,也记录这段文字(密码 B ),如本截图中的文字处理后的结果就是 f0b429cc6168。

第一个密码 A 就是你的 sid,第二个密码 B 就是 password。如果你有多个网关用逗号链接,比如 cb30a01c1bcc4b3c, dc41b12d2cdd5c4d, ed52c23e3dee6d5e,password 同理。在刚刚树莓派编辑的 config.json 输入上面获得的密码,并按 Ctrl+O 保存,再按 Ctrl+x 退出。

Step9 运行 homebridge
cd
↓
homebridge
至此, Homebridge 就运行成功了!

运行状态如上图,出现红字就是出毛病了,绝大多数情况是Step 8出错了,输入
nano .homebridge/config.json
仔细检查「网关 mac 」和「局域网协议密码(重点留意)」,直到成功后会跳出小方框,其实就是刚才配置 config.json 里面的 pin ,不管怎么样,将这个记录为【密码 C 】(不要关闭终端窗口)。
Step10 iPhone操作
打开「 家庭 」应用,点击「加入配件」就会自动检测到「 Homebridge 」了,点开它会要求输入密码,就是刚才获取的【密码 C 】。成功连接之后,支持 HomeKit 的设备就会自动连接到界面上
如果你有 Yeelight 设备,那么首先要先下载官方的「 Yeelight 」手机客户端,在每台设备的设置中打开「极客模式」。

接下来你就可以手动设置你的设备,更改名字,位置和类型,下面的包含在个人收藏可以让你在控制中心快速访问这些配件。

在树莓派启动后自动运行 HomeBridge 服务
然而我们的折腾完了吗?没有,远远没完。如果现在你关掉终端,你会发现,HomeBridge 停止运行了。我们不可能在电脑上挂着终端使树莓派一直运行这个服务,因此还有最后一步,把 HomeBridge 服务加入到树莓派的系统服务里。
事实上, 树莓派文档 Scheduling tasks with Cron 给出的方法是最简单并且方便以后配置别的程序。
-
先安装 cron
sudo apt-get install gnome-schedule
-
然后配置 cron.
crontab -e
在最下方添加 @reboot homebridge &
即可完成开机启动 homebridge 的配置。
现在,你可以重启一下树莓派,看看 HomeBridge 服务是否正常运行。
如果以上均成功运行,那么恭喜你,一切都大功告成。
感谢:
普通家具变智能 用Siri声控家里电器
从米家到 HomeKit,你只需要一个树莓派
智能宿舍搭建 1 | 借助树莓派与 HomeBridge ,将 YeeLight 彩光灯接入 Apple HomeKit
用树莓派实现 HomeKit 控制台灯
Running HomeBridge on a Raspberry Pi
网友评论