Siri 帮我开灯
文章目录
苹果自从发布了 HomeKit,可以方便的把家里的智能设备连接在一起,结合 Siri 可以说说话就让家里的设备运转起来。但是只有苹果认证的设备才能用,没有认证的还是没有办法使用的。好在有nfarina逆向了苹果的协议,做出了homebridge才使得众多智能设备接入 HomeKit 成为现实。
材料准备
- 树莓派(我手上的是树莓派 3B)
- Yeelight 灯一个(我用的是 Yeelight 台灯)
- iPhone 或者 iPad 一个,要求 iOS10 以上(这里我使用 iPad)
Yeelight 设置局域网控制(极客模式)
先说一下 Yeelight 的极客模式,这里极客模式和局域网控制是一个东西,我刚买的时候还是极客模式,几个月之后极客模式变成了局域网控制。我特地去问了客服,这两个是一个东西,客服截图上显示的还是极客模式,而我这里显示的却是局域网控制。如果你手上也是显示的是局域网控制,不要奇怪,当成一样的就好了,不影响使用。
我们先从灯的设置开始。先用手机下载一个 Yeelight 的 APP(应用商店里搜一下就有了),输入账号密码登录。登录之后需点击右上角的加号添加一台设备,选择你手上所使用的设备,我这里是台灯。下图是添加好的样子,添加过程中需要输入 WiFi 密码。
连接好之后,点击刚刚添加的台灯,进入控制页,选择右下角的三角形。
在弹出的页面中选择局域网控制(极客模式)
把局域网控制的开关给打开
Yeelight 台灯的设置就这些,没有了。
树莓派的配置
这里默认已经在树莓派上装好了系统,并且接上电源,连接了网络并且要和 Yeelight 灯在同一个局域网。没有的话参考树莓派入门。不用树莓派用其它的也是可以的,需要根据自己的系统进行相应的调整。
安装 Node.js
首先打开终端,通过 ssh
连接上树莓派,我们的操作都是在命令行下进行。Windows 可以使用 Xshell、PuTTY 等工具。
|
|
接下来安装 Node.js
|
|
为 npm(node 的包管理工具,安装好 Node.js 就有) 配置淘宝源,在终端中输入 vi .npmrc
按下 i
后输入下面内容
|
|
输好后按下 ESC(一般在 F1 旁边)
,输入 :
,接着按下 wq
回车。
不做这一步也是可以的,但是国内速度可能会稍慢。
安装 homebridge
装好了 Node.js 就可以安装 homebridge,homebridge 是一个把设备接入 HomeKit 的工具(类似桥梁的作用),没有它就不能使用没有经过苹果认证的设备。
|
|
安装 Yeelight 插件
装好了 homebridge 还需要装上插件才能使用对应的智能设备,这里我使用的 Yeelight 台灯,所以还要安装 homebridge-yeelight 这个插件。
|
|
插件配置
插件装好了之后,我们需要配置一下让 homebridge 识别我们。
|
|
打开文件之后按下 i
键,复制下面的内容到里面。
|
|
写好之后按下 ESC
,输入 :
后再输入 wq
回车,该操作会保存文件并退出 vi
回到终端。解释一下上面 bridge 中的配置
- name 一个名称,在家庭 APP 上添加配件时显示,可以随意填写
- username 一个唯一标识符,类似 MAC 地址,可以随意填写,格式不能变
- port homebridge 的端口号,可以任意,但是需要没有被系统占用的
- pin 密码,验证的时候用,可以任意,但是必须是 8 位数字,格式如上
- platforms 里的东西是插件里规定的,就这么写吧,不用改。
启动 homebridge
在终端中输入下面命令,启动 homebridge
|
|
会看到一个二维码和我们刚刚配置的 pin(图中红色方框中的),二维码暂时用不到,pin 会在接下来用到。到这里树莓派上的操作都完成了。
接入 HomeKit
打开 iPad,进入家庭 APP,选择添加配件。
在弹出的窗口中扫描终端显示的 pin(就是刚刚运行 homebridge 的地方),这一步通常是不能正确识别的,别担心后面可以手动输入。
来到这里估计估计你已经没有识别出 pin,没关系,我们手动输入 pin。
输入正确的 pin 后,可以看到 Homebridge 显示在 iPad 上了,点击 Homebridge 添加。这里的 Homebridge 就是我们在配置文件里设置的 bridge.name
。
点击后会提示未认证配件,选择仍然添加。不添加怎么玩?
接下来的是一些设置,我们默认不动,选择下一步。
可以看到 Yeelight 灯出现了。在下图红框框中,我把名字改为台灯,这样方便 Siri 识别。改好之后点击右上角完成。
回到家庭 APP 主页,台灯已经显示出来。到这里已经已经成功的把 Yeelight 台灯接入 HomeKit。
开机自启动
照着上面的配置好了,也能够使用了。但是每次使用都要我手动运行 homebridge
太麻烦了,有没有开机自启动?有,接下来就来配置开机自启动。
先验证一下 homebridge
的路径
|
|
如果输出不是 /usr/bin/homebridge
,那么你需要把下面拷贝第 13 行的 cmd="DEBUG=* /usr/bin/homebridge"
改为 cmd ="DEBUG=* 刚刚输出的东西"
。
制作启动脚本
|
|
按下键盘上 i
,把下面的内容拷贝进去
|
|
按下 ESC
,输入 :
后按下 wq
回车保存并退出编辑。
设置权限
保存之后我们还要给执行的文件权限,不然开机之后还是没法自动启动的。
|
|
重启之后 homebridge 就会自己运行。