当前位置: CNMO论坛 > AI家俱乐部 > 帖子正文

[AI攻略] 借助树莓派与 HomeBridge ,将 YeeLight 彩光灯接入 Apple HomeKit | Matrix 精选

2020-03-25 18:19 266 评论(0)

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

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

WechatIMG9.jpeg

前期探索

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

后来根据客服人员的建议,我选择了用树莓派的方法。网上的相关资料显示,利用 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 updatesudo 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-armv6lsudo 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-gypcd /usr/local/lib/node_modules/homebridge/sudo npm install --unsafe-perm bignumcd /usr/local/lib/node_modules/hap-nodejs/node_modules/mdnssudo 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 账户,首先在终端输入:

sudo passwd root

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

sudo passwd --unlock root

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

sudo nano /etc/ssh/sshd_config

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

GitHub 提供了三种让树莓派启动后自动运行 HomeBridge 服务的方法,我选择的是 init.d 的方式。打开 这个网页 ,将文件下载到本地,然后将 template 重命名为 homebridge(或者任何你想要的名字) ,放到树莓派目录 /etc/init.d 下。注意这里一定要用 root 账户,否则会提示没有权限。由于我不会代码及编程,我用的是 WinSCP 登录 root 账户,熟悉代码的小伙伴可以用代码操作。

然后右键用 Text Editor 打开它,把开头的字符按照以下内容修改:

#!/bin/sh### BEGIN INIT INFO# Provides: homebridge# Required-Start:    $network $remote_fs $syslog# Required-Stop:     $remote_fs $syslog# Default-Start:     2 3 4 5# Default-Stop:      0 1 6# Short-Description: Start daemon at boot time# Description:       Enable service provided by daemon.### END INIT INFOdir="/home/pi"cmd="DEBUG=* /usr/local/bin/homebridge"user="pi"

完成后保存,然后回到终端,依次输入以下代码:

sudo chmod 755 /etc/init.d/homebridgesudo update-rc.d homebridge defaults

现在,你可以在终端输入 HomeBridge ,等待服务运行之后关掉终端,看是否可以继续使用家庭 App 开关灯泡;或者重启一下树莓派,看看 HomeBridge 服务是否正常运行。

如果以上均成功运行,那么恭喜你,一切都大功告成。

WechatIMG10.jpeg

不吐不快,我来说两句... 登录 | 注册

发布
暂时没有回复

您需要注册登录后,才能回帖哦! 登录 | 注册