借助树莓派与 HomeBridge ,将 YeeLight 彩光灯接入 Apple Home_掘图志

返回首页
当前位置: 主页 > 路由器设置 >

借助树莓派与 HomeBridge ,将 YeeLight 彩光灯接入 Apple Home

时间:2017-01-14 10:43点击:

自从上回决定在宿舍智能化上瞎折腾点什么东西之后,首先就注意到了自己的这个台灯。每次需要点开特定的 App 进行开关,而且在断网之后就无法使用,最致命的一点是官方 App 的 Widget 经常挂掉,导致了体验的割裂和不适。偶然在 YeeLight 的论坛里看见了这款灯泡接入 Apple HomeKit 的方法,便决定抱着试一试的折腾心理玩一把。

写这篇教程的目的,算是一个抛砖引玉。这也许是中文网站上最简单的倒腾 HomeKit 的教程,只需要准备好相应的硬件,跟着步骤一步一步走,大约半个小时就能完成。当然,折腾所在的目的是为了那种成功之后的喜悦感,市面上有很多产品也许会比这一套系统便宜,但是这样就再也享受不到 Do It Yourself 的乐趣了。

准备好了吗?那我们就开始吧。

WechatIMG9.jpeg

前期探索

首先我想把 HomeBridge 安装在我的路由器上。因为 OpenWRT 也是 Linux 的一个嵌入式发行版,我想是没问题的。在网上扒了扒相关资料,发现确实是有人成功过,但是就着步骤做的时候,发现有一个插件总是装不上去。后来去论坛问了问官方的人员,才发现是因为自己的路由器是小米路由器 mini,ROM 空间不足无法安装,遂只能放弃路由器的方法。

后来根据客服人员的建议,我选择了用树莓派的方法。网上的相关资料显示,http 192.168.1.1 登陆,利用 HomeBridge 这一款插件,可以接入很多原本不支持 Apple HomeKit 的硬件设备。

所需要准备的硬件

以下是楼主折腾的时候所用的硬件,可以根据个人需要自行更改。

树莓派 3 代 B 型及相关最小系统(包含 Micor SD 卡、电源等)

MacBook Pro 电脑( Windows PC、Ubuntu、Linux 均可)

YeeLight 智能灯泡

网线一根

当然,如果你有一个足够 ROM 空间的路由器,你可以选择把 HomeBridge 安装在路由器上,具体的教程可以拉到本页最底部,点击相应链接。

折腾过程

以下教程基于楼主运行 macOS Sierra 的 MacBook Pro 和 Raspbian Jessie 的树莓派。

安装系统及登录树莓派

拿到树莓派之后,接上电源和网线,将写好系统的 Micro SD卡插入树莓派,给树莓派安装系统。我选择的是官方网站提供的 Raspbian Jessie,因为其他系统可能需要安装其他额外的插件。具体的安装教程可以参考网络,楼主的方法是在 Win32 Disk Imager 将下载的 Raspbian 系统镜像直接写进 SD 卡,甚至连格式化都不需要,一键无痛。写完之后插入树莓派,接上电源即可以开机。

在开始安装相关插件之前,因为某些不(G)明(F)的(W)网络的原因,会导致树莓派下载速度会非常的慢。后来在派友的建议下,开启 SS 并选择美国服务器和全局代理即可。所以建议大家在折腾的时候也修改成相关配置。

安装完成之后,用网线连接好树莓派和路由器,打开电脑的终端,用 ssh 登录树莓派。

ssh pi@raspberrypi.local

或者

ssh pi@X.X.X.X

其中 X.X.X.X 为树莓派的 IP 地址,可以在路由器的运行网页查看到。之后终端会要求输入密码,输入 raspberry 回车即可。输入密码的途中终端不会显示任何字符,只需要正常输入即可。

更新树莓派软件源

登录树莓派之后,先升级软件源,在终端下输入以下代码,等待一段时间即可。

sudo apt-get update sudo apt-get upgrade 打开 Yeelight 的极客模式

趁着更新软件源的空挡,我们在 App Store 下载官方的 Yeelight 应用,先连接上灯泡,然后点右上角的三根横杠,在下方打开极客模式。

安装 Node.js

回到终端,我们继续来安装 Node.js 。从版本 4.0.0 开始,Node.js 默认支持基于 ARM 的平台,我们只需要输入相关代码即可。

依次在终端输入以下命令:

wget https://nodejs.org/dist/v4.3.2/node-v4.3.2-linux-armv6l.tar.gz tar -xvf node-v4.3.2-linux-armv6l.tar.gz cd node-v4.3.2-linux-armv6l sudo cp -R * /usr/local/

完成之后,输入node -v检查一下是否安装完成,如果显示v4.3.2,则表示 Node.js 安装成功。

安装 Avahi 和相关依赖软件包

在终端输入以下命令即可:

sudo apt-get install libavahi-compat-libdnssd-dev 安装 HomeBridge 和相关依赖软件包

依次在终端输入以下命令:

sudo npm install -g --unsafe-perm homebridge hap-nodejs node-gyp cd /usr/local/lib/node_modules/homebridge/ sudo npm install --unsafe-perm bignum cd /usr/local/lib/node_modules/hap-nodejs/node_modules/mdns sudo node-gyp BUILDTYPE=Release rebuild 添加 Yeelight 配置文件

输入以下命令:

sudo npm install -g homebridge-yeelight

等待命令运行结束后,输入

cd /home/pi/.homebridge/ vi config.json

点击键盘的 i 键,终端左下角出现 -- INSERT -- ,如下图所示。

WechatIMG2.jpeg

将以下代码复制到终端:

{ "bridge": { "name": "YeeBridge", "username": "18:00:27:40:BC:1B", "port": 51825, "pin": "031-45-154" }, "platforms": [ { "platform" : "yeelight", "name" : "yeelight" } ] }

粘贴完成后,按Esc键,输入 :wq(冒号不能少,并且是英文字符)然后回车。

WechatIMG8.jpeg

之后,便可以运行 HomeBridge :

homebridge

这一步完成之后,HomeBridge 就安装完毕并且开始运行, YeeLight 彩光灯也成功接入 Apple HomeKit ,打开 iOS 10 自带的家庭 App, 点击添加配件即可。会有两个配件,第一个是 YeeBridge ,这是一个桥接器;还有一个才是我们要控制的灯泡。

现在,你就可以享受「嘿 Siri ,帮我开个灯」了。

在树莓派启动后自动运行 HomeBridge 服务

然而我们的折腾完了吗?没有,远远没完。如果现在你关掉终端,你会发现,HomeBridge 停止运行了。我们不可能在电脑上挂着终端使树莓派一直运行这个服务,因此还有最后一步,把 HomeBridge 服务加入到树莓派的系统服务里。

首先我们要开启 root 账户,首先在终端输入:

sudopasswdroot

然后会提示你设置 root 账户密码,第一次输入之后还要确认一次,一样两次输入不会有任何字符显示。输入完毕之后,启用 root 账户,输入以下命令:

sudopasswd--unlockroot

然后会提示报错:passwd:passwordexpiryinformationchanged.,原因是新版的系统默认禁止 ssh 登录 root 账户,我们需要修改一下配置文件。在终端输入以下命令:

sudonano/etc/ssh/sshd_config

用 Ctrl + W 搜索「 PermitRootLogin 」,找到之后将PermitRootLogin without-password改成PermitRootLogin yes,然后按 Ctrl + O 保存,回车之后退出编辑器。

------分隔线----------------------------
推荐内容