第一步 安装nodejs
1、 卸载旧版 nodejs 和 npm:
sudo apt-get remove nodejs npm && apt autoremove
2、 查看树莓派内核版本:
[email protected]:~# uname -a
Linux raspberrypi 4.14.17+ #1090 Mon Feb 5 20:37:11 GMT 2018 armv6l GNU/Linux
3、 下载最新版的 armv6l 对应的 nodejs:
wget http://nodejs.org/dist/latest-v9.x/node-v9.5.0-linux-armv6l.tar.gz
tar -xvzf node-v9.5.0-linux-armv6l.tar.gz
cd node-v9.5.0-linux-armv6l/bin
./node -v
4 配置nodejs(方法1 )
cd ~/
mv node-v9.5.0-linux-armv6l /usr/local/node
echo PATH=$PATH:/usr/local/node/bin >> ~/.bashrc
source ~/.bashrc
方法二(参考 https://post.smzdm.com/p/594564/)
树莓派 Zero W 为armv6l平台(以往树莓派的安装攻略到此全部出错,原因在此)
wget http://nodejs.org/dist/latest/node-v8.4.0-linux-armv6l.tar.gz //下载node
sudo tar -xzf node-v8.4.0-linux-armv6l.tar.gz //解压node
sudo mv node-v8.4.0-linux-armv6l nodejs //改名为nodejs
sudo rm node-v8.4.0-linux-armv6l.tar.gz //删除安装包
cd nodejs
sudo cp -R * /usr/local/
(sudo ln -s nodejs/bin/node /usr/bin/node和sudo ln -s nodejs/bin/npm /usr/bin/npm为建立快捷方式,然而这种在/usr/local/node/bin添加到环境变量的方法虽然可以看到node的版本和npm的版本,但涉及权限问题,会导致后续安装失败,故弃用)
4、 开机自动运行 source ~/.bashrc:
实际使用过程中发现,一旦重启树莓派,node 和 npm 无法正常使用。这说明树莓派开机时 source ~./bashrc 没有运行。
打开(如果没有的话先创建)文件 nano ~/.bash_profile,
加入一行 source ~/.bashrc 就可以了。
第二步 安装homebridge(参考 https://blog.csdn.net/t794045950/article/details/81363031)
Homebridge 的 Github :https://github.com/nfarina/homebridge ,里面讲了如何安装 Homebridge ,不过不是很详细,我在安装的时候碰到不少问题,所以多写一写详细过程。
sudo npm install -g --unsafe-perm homebridge
启动homebridge:
homebridge
Homebridge 的配置文件为 ~/.homebridge/config.json,~ 为用户目录。如果是默认 pi 用户,那么目录为 /home/pi ,如果是 root 用户,那么目录为 /root 。此处建议在 root 下创建这个文件夹,方便后面设置开机启动。
那么我就按照 root 用户的方法继续:
此时在 root 用户下创建配置文件,并用 Vim 编辑器编辑:
cd ~
mkdir .homebridge
vim config.json
编辑config.json
{
"bridge":{
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"description": "This is my homebridge",
}
接入Yeelight 灯(参考 https://sspai.com/post/36617)
输入以下命令:
sudo npm install -g homebridge-yeelight
编辑config.json,添加yeeligth
{
"bridge":{
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"description": "This is my homebridge",
"platforms": [
{
"platform" : "yeelight",
"name" : "yeelight"
}
]
}
设置开机启动
Homebridge 在运行之后不能关闭 SSH 窗口,不然就会自动关闭。那么为了让 Homebridge 在开机的时候自动启动并且后台运行,需要为它设置开机启动。为了方便查看 Homebridge 的运行状态,我想让 Homebridge 的输出内容写入日志文件,在我需要的时候可以打开查看状态。那么我这里用 nohup 命令,让 Homebridge 后台运行并写入日志:
sudo nohup homebridge > /var/log/homebridge.log 2>&1 &
设置开机启动有多种方式,可以自行谷歌或百度。在这里我选择修改 /etc/rc.local 文件:
sudo vim /etc/rc.local
在 exit 0 前添加一行代码:
sudo nohup homebridge > /var/log/homebridge.log 2>&1 &
这样就可以让 Homebridge 开机启动,并且自动将输出内容写入日志文件,便于日后维护。
/srv/homeassistant/bin/python3 /srv/homeassistant/bin/hass