树莓派智能家居系统搭建教程

之前,在其他平台上我分享了如何运用树莓派,结合Home Assistant、Homebridge、Kodi搭建Home Centre的教程,获得了不错的反响,陆陆续续也指导了不少网友成功搭建自己的智能家庭系统。最近配合魔镜项目,我摒弃了Kodi,使用纯净树莓派官方系统Rapbian with Pixel重走了一遍流程。考虑到官方系统的支持度以及适配性,我决定结合之前的文章还有指导网友的经验,重新整合之前的教程。 **本篇文章参考的代码和内容有:威锋网*hhalibo*的[教程](http://bbs.feng.com/forum.php?mod=viewthread&tid=10857822),什么值得买[Yang_John](http://zhiyou.smzdm.com/member/1714098271/)的[分享](http://post.smzdm.com/p/530330/),少数派网站Junyi Lou的[教程](https://sspai.com/post/38358),Homebridge[Github](https://github.com/nfarina/homebridge)源码,Home Assistant[Github](https://github.com/home-assistant/home-assistant)源码,感谢以上提及作者的分享。** 这套智能家居系统的核心为 Home-assistant(下称“HASS”)。Home-assistant是一个成熟完整的基于Python的智能家居系统,能实现全系统支持的智能家居设备控制,并且支持大量的智能家居设备,功能十分强大。 Home-assistant主页在此:[https://home-assistant.io/](https://home-assistant.io/) **0. 配置背景** 我的设备:树莓派3B,华硕AC66U-B1路由器(外接硬盘),宽带50M,一台显示器,小米网关2,小米温湿度传感器 你需要的环境:一个树莓派(版本可和我不一致,但是步骤和代码有可能不同,自行甄别),一个路由器,一条网线,一些智能家居设备,对树莓派有初级认识,一些智能家居设备。 下面开始正式教程,注意所提供的代码,**每复制粘贴一行就回车运行一次,**不要一次性粘贴多行回车: **1. 安装Raspbian with Pixel系统** **Raspbian with Pixel **是树莓派官方图形化操作系统,安装方法和其他系统并无不同,格卡,刷入系统镜像即可,这里我就不再赘述了。 官方镜像文件地址:[https://downloads.raspberrypi.org/raspbian_latest](https://downloads.raspberrypi.org/raspbian_latest) 要注意的是,Hassbian初次启动时需要联网进行原始设置,由于无法在初次启动前设置无线网络,因此务必将树莓派与电脑或者路由器有线连接起来,以保证树莓派在有网环境下顺利设置。 官方教程告知初次启动需要等待5分钟左右,基于国内的网络环境,我这里测试多次,都需要等待**近10分钟**方可,所以大家不要焦躁,可以看部番剧或者往下研究一下此篇文章以便接下来顺利进展。 大约等待10分钟后,在浏览器输入:http://树莓派的ip地址:8123 查找树莓派IP地址可以直接前往路由器界面,另外注意**冒号为英文字符,请勿输入中文冒号**。如果出现类似下图,则表示初始安装完成;如若没有出现界面,或者无法连接,有很大可能是尚未安装完毕,不要着急再等等。 ![](http://upload-images.jianshu.io/upload_images/1633217-3585a3a59b53074f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 如果你使用的是安卓移动终端,或者没有使用苹果系统控制智能设备的需求,到这里,基本就完成了你需要的设置。 **2. 初始设置树莓派** 首先使用任何方法连接到树莓派(有显示器接键盘,SSH等),先把树莓派设置成我们独一无二的宝贝,输入raspi-config进入设置。(更详细教程欢迎参考[梓姵君](https://sspai.com/user/714086)的[文章](https://sspai.com/post/38542)) 首先调整地区设置,把时区、语言都设置成天朝,键盘的话依自己的选择。这里注意,第一次先把US UTF-8设置成默认语言,要不然重启后会有小方块,想要中文显示的话,重启后再设置一次即可。 如果你想要启动媒体功能,还需要将调整GPU-memory调整到160MB以上; 如果是Hassbian系统的话,SSH功能默认是打开的,其他系统请在设置中打开。 接下来,设置树莓派的WIFI功能,树莓派3自带WIFI模块,输入: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf 在尾部添加 network={ ssid="你的wifi名字" psk="wifi密码" } 而后ctrl+x,y,回车(请记住这个操作,未来会频繁用到) 现在我们的树莓派就可以脱离网线自如操作了。输入:sudo reboot重启后,自行选择方法连接至树莓派(SSH,电脑直连,接显示器键盘操作) 人在天朝的小伙伴,最好更换一下源:sudo nano /etc/apt/sources.list在第一行首添加”#“号,再在最上方添加如下代码(如果不安装KODI,最后一行可忽略): 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 然后按ctrl+x,y,回车 一切大功告成。 **3. 安装Home-assistant** 初始设置完毕后,我们使用 All-in-one 一行指令安装Home Assistant。需要注意此方法**只适用于树莓派3:** 'curl -O https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh && sudo chown pi:pi hass_rpi_installer.sh && bash hass_rpi_installer.sh' 如果你是使用此方法安装HAAS的话,未来更新固件代码如下: sudo su -s /bin/bash homeassistant sudo su -s /bin/bash homeassistant pip3 install --upgrade homeassistant exit 方法二:手动安装 $ sudo apt-get install python3 python3-venv python3-pip $ sudo useradd -rm homeassistant $ cd /srv $ sudo mkdir homeassistant $ sudo chown homeassistant:homeassistant homeassistant $ sudo su -s /bin/bash homeassistant $ cd /srv/homeassistant $ python3 -m venv . $ source bin/activate (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant (homeassistant) $ hass 再次声明,我在安装Raspbian with Pixel系统下,屡次安装失败,我也是没脾气了。实在是不想一句句命令行看下去来排错。估计的原因有:1. 由于某WALL的原因,一些依赖包可能被墙,导致无法顺利下载安装;2. 但是我在路由器部署全局科学上网前提下,依旧报错,可能是由于系统本身的原因;3. 可能是阿里云镜像源原因,但是我在使用原始源安装还是不行。 **3.1 安装附加功能** **3.1.1 安装SMB(必须)** sudo ./hassbian-scripts/install_samba.sh sudo smbpasswd -a pi sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.original sudo nano /etc/samba/smb.conf [global] netbios name = raspberrypi server string = The Pi File Center workgroup = WORKGROUP hosts allow = remote announce = remote browse sync =[HOME ASSISTANT] path = /home/homeassistant/.homeassistant comment = No comment browsable = yes read only = no valid users = writable = yes guest ok = yes public = yes create mask = 0777 directory mask = 0777 force user = root force create mode = 0777 force directory mode = 0777 hosts allow = ctrl+x,y,回车 再输入sudo systemctl restart home-assistant@homeassistant.service **3.1.2 安装MQTT** sudo ./hassbian-scripts/install_mosquitto.sh sudo systemctl start mosquitto **4. 安装Homebridge插件** Homebridge是一款插件以在苹果终端外接入Apple Homekit,从而实现Siri和苹果原生“家庭”app控制原本不被苹果认证支持的智能家庭设备。Homebridgede的安装,**Junyi Lou**的文章介绍的比我详尽,大家可以参考。我的方法是基于非Raspbian系统,所以开头会多几行代码装一些依赖包。另外Homebridge也提供一行安装指令:sudo npm install -g --unsafe-perm homebridge但是我这里无法安装成功,遂采用下面手动方法,大家各取所需。 完成上一步系统安装和初步设置后,我们连接到树莓派,输入: sudo apt-get install git make sudo apt-get install g++ curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash - sudo apt-get install -y nodejs sudo apt-get install libavahi-compat-libdnssd-dev 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 进行到这里,Homebridge就已经安装完成了,设置问题我们稍后再说。 **5. 智能控制中心配置** 登陆树莓派(之后开头默认此状态,不再重复)输入以下代码:sudo npm install -g homebridge-homeassistant而后输入: cd /home/pi/.homebridge sudo nano config.json 在文件中新增 { "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30(树莓派MAC地址)", "port": 51826, "pin": "123-45-678(自行设定)" }, "platforms": [ { "platform": "HomeAssistant", "name": "HomeAssistant", "host": "http://树莓派地址:8123", "password": "raspberry", "supported_types": ["fan", "binary_sensor", "sensor", "garage_door", "input_boolean", "light", "lock", "media_player", "rollershutter", "scene", "switch"] } ] } ctrl+x,y,回车。我们就完成了Homebridge的设置。 接下来是hass的设置:使用smb服务连接树莓派,macOS在Finder中点击工具栏的前往-连接服务器-输入smb://树莓派地址,用户名为pi,密码就是你之前设定的smb的密码。出现Home assistant共享文件夹,创建custom_components文件夹,到[https://github.com/lazcad/homeassistant](https://github.com/lazcad/homeassistant)下载文件,将文件夹内文件复制进新建的文件夹,退回到上层文件夹,打开configuration.yaml,随便找个地方,添加小米网关 xiaomi: gateways: - sid: mac地址 - key: 通讯密码(小米网关的地址和密码可从米家app上获得,修改后保存。) 现在我们已经完成了HASS的所有设置了。 **6. 安装KODI媒体中心** 回到树莓派,输入下面的代码,第一步是为了取得这个源地址的认证。Raspbian源默认的Kodi版本是15,然而最新版本已经到了17,目前只有该源支持安装最新版的Kodi,这也是为什么在前面的步骤要添加源的原因: wget -O - http://pipplware.pplware.pt/pipplware/key.asc | sudo apt-key add - sudo apt-get install kodi sudo addgroup --system input sudo nano /etc/udev/rules.d/99-input.rules 复制粘贴 SUBSYSTEM==input, GROUP=input, MODE=0660 KERNEL==tty[0-9]*, GROUP=tty, MODE=0660 ctrl+x,y,回车输入: sudo nano /etc/udev/rules.d/10-permissions.rules复制粘贴 #input KERNEL=="mouse|mice|event", MODE="0660", GROUP="input" KERNEL=="ts[0-9]|uinput", MODE="0660", GROUP="input" KERNEL==js[0-9], MODE=0660, GROUP=input#tty KERNEL==tty[0-9]*, MODE=0666 #vchiq SUBSYSTEM==vchiq, GROUP=video, MODE=0660 ctrl+x,y,回车,输入: sudo usermod -a -G audio pi sudo usermod -a -G video pi sudo usermod -a -G input pi sudo usermod -a -G dialout pi sudo usermod -a -G plugdev pi sudo usermod -a -G tty pi 至此,最新版本17.1的KODI也已经安装完成了,大家可以输入Kodi进入进行更详细的设置。 **7. 添加自动开机任务** 忙活了那么久,即将大功告成了。最后临门一脚,我们把HAAS、homebridge、KODI添加至树莓派开机任务中,这样每次启动就会自动开启上述2个功能,并且跳转到KODI界面。 cd / sudo useradd --system homebridge sudo mkdir /var/homebridge sudo cp ~/.homebridge/config.json /var/homebridge/ sudo cp -r ~/.homebridge/persist /var/homebridge sudo chmod -R 0777 /var/homebridge cd /etc/default sudo nano homebridge复制粘贴 # Defaults / Configuration options for homebridge # The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others) HOMEBRIDGE_OPTS=-U /var/homebridge # If you uncomment the following line, homebridge will log more # You can display this via systemd's journalctl: journalctl -f -u homebridge # DEBUG=* ctrl+x,y,回车 cd /etc/systemd/system sudo nano homebridge.service 复制粘贴 [Unit] Description=Node.js HomeKit Server After=syslog.target network-online.target [Service] Type=simple User=homebridge EnvironmentFile=/etc/default/homebridge ExecStart=/usr/lib/node_modules/homebridge/bin/homebridge $HOMEBRIDGE_OPTS Restart=on-failure RestartSec=10 KillMode=process [Install] WantedBy=multi-user.target ctrl+x,y,回车 cd / sudo systemctl daemon-reload sudo systemctl enable homebridge sudo systemctl start homebridge sudo systemctl status homebridge sudo wget -O /etc/init.d/kodi https://gist.githubusercontent.com/shyamjos/60ea61fd8932fd5c868c80543b34f033/raw;sudo chmod +x /etc/init.d/kodi sudo systemctl enable kodi sudo systemctl enable mosquitto 最后重启:sudo reboot OK,重启过后,稍作等待,一个完美的家庭枢纽就这样诞生啦! **8. 最终设置** 打开iOS设备的“家庭”app,点击右上角添加,不出意外的话,Homebridge就会被自动搜索到了,照流程一路下一步,所有连接到树莓派的智能设备都会自动添加。全部完成后,我们先调戏一下Siri: ![](http://upload-images.jianshu.io/upload_images/1633217-652e478d6ea6fe76.PNG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 请输入图片标题 由于苹果的安全要求,除非你拥有Apple TV第四代,否则不支持局域网外的Homekit控制,这是这个系统目前最大的遗憾。 Kodi的设置我就不赘述了,主要流程就是:设置中文(可选)-添加资源库-添加中文插件库-刮削器刮削内容-强迫症整理文件,我最终的显示效果如下: ![](http://upload-images.jianshu.io/upload_images/1633217-d3788130f2d94dc6.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) **后续:日常维护** 既然是系统就免不了升级,以下为HAAS日常维护命令: $ sudo apt-get update $ sudo systemctl stop home-assistant@homeassistant.service $ sudo su -s /bin/bash homeassistant $ source /srv/homeassistant/bin/activate $ pip3 install --upgrade homeassistant $ exit $ sudo systemctl start home-assistant@homeassistant.service之前,在其他平台上我分享了如何运用树莓派,结合Home Assistant、Homebridge、Kodi搭建Home Centre的教程,获得了不错的反响,陆陆续续也指导了不少网友成功搭建自己的智能家庭系统。最近配合魔镜项目,我摒弃了Kodi,使用纯净树莓派官方系统Rapbian with Pixel重走了一遍流程。考虑到官方系统的支持度以及适配性,我决定结合之前的文章还有指导网友的经验,重新整合之前的教程。

本篇文章参考的代码和内容有:威锋网hhalibo教程,什么值得买Yang_John分享,少数派网站Junyi Lou的教程,HomebridgeGithub源码,Home AssistantGithub源码,感谢以上提及作者的分享。

这套智能家居系统的核心为 Home-assistant(下称“HASS”)。Home-assistant是一个成熟完整的基于Python的智能家居系统,能实现全系统支持的智能家居设备控制,并且支持大量的智能家居设备,功能十分强大。

Home-assistant主页在此:https://home-assistant.io/

0. 配置背景

我的设备:树莓派3B,华硕AC66U-B1路由器(外接硬盘),宽带50M,一台显示器,小米网关2,小米温湿度传感器

你需要的环境:一个树莓派(版本可和我不一致,但是步骤和代码有可能不同,自行甄别),一个路由器,一条网线,一些智能家居设备,对树莓派有初级认识,一些智能家居设备。

下面开始正式教程,注意所提供的代码,每复制粘贴一行就回车运行一次,不要一次性粘贴多行回车:

1. 安装Raspbian with Pixel系统

Raspbian with Pixel 是树莓派官方图形化操作系统,安装方法和其他系统并无不同,格卡,刷入系统镜像即可,这里我就不再赘述了。

官方镜像文件地址:https://downloads.raspberrypi.org/raspbian_latest

要注意的是,Hassbian初次启动时需要联网进行原始设置,由于无法在初次启动前设置无线网络,因此务必将树莓派与电脑或者路由器有线连接起来,以保证树莓派在有网环境下顺利设置。

官方教程告知初次启动需要等待5分钟左右,基于国内的网络环境,我这里测试多次,都需要等待近10分钟方可,所以大家不要焦躁,可以看部番剧或者往下研究一下此篇文章以便接下来顺利进展。

大约等待10分钟后,在浏览器输入:http://树莓派的ip地址:8123 查找树莓派IP地址可以直接前往路由器界面,另外注意冒号为英文字符,请勿输入中文冒号。如果出现类似下图,则表示初始安装完成;如若没有出现界面,或者无法连接,有很大可能是尚未安装完毕,不要着急再等等。


如果你使用的是安卓移动终端,或者没有使用苹果系统控制智能设备的需求,到这里,基本就完成了你需要的设置。

2. 初始设置树莓派

首先使用任何方法连接到树莓派(有显示器接键盘,SSH等),先把树莓派设置成我们独一无二的宝贝,输入raspi-config进入设置。(更详细教程欢迎参考梓姵君文章

首先调整地区设置,把时区、语言都设置成天朝,键盘的话依自己的选择。这里注意,第一次先把US UTF-8设置成默认语言,要不然重启后会有小方块,想要中文显示的话,重启后再设置一次即可。

如果你想要启动媒体功能,还需要将调整GPU-memory调整到160MB以上;

如果是Hassbian系统的话,SSH功能默认是打开的,其他系统请在设置中打开。

接下来,设置树莓派的WIFI功能,树莓派3自带WIFI模块,输入:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

在尾部添加

network={ ssid="你的wifi名字" psk="wifi密码" }

而后ctrl+x,y,回车(请记住这个操作,未来会频繁用到)

现在我们的树莓派就可以脱离网线自如操作了。输入:sudo reboot重启后,自行选择方法连接至树莓派(SSH,电脑直连,接显示器键盘操作)

人在天朝的小伙伴,最好更换一下源:sudo nano /etc/apt/sources.list在第一行首添加”#“号,再在最上方添加如下代码(如果不安装KODI,最后一行可忽略):

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

然后按ctrl+x,y,回车

一切大功告成。

3. 安装Home-assistant

初始设置完毕后,我们使用 All-in-one 一行指令安装Home Assistant。需要注意此方法只适用于树莓派3:

'curl -O https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh && sudo chown pi:pi hass_rpi_installer.sh && bash hass_rpi_installer.sh'

如果你是使用此方法安装HAAS的话,未来更新固件代码如下:

sudo su -s /bin/bash homeassistant

sudo su -s /bin/bash homeassistant

pip3 install --upgrade homeassistant

exit

方法二:手动安装

$ sudo apt-get install python3 python3-venv python3-pip

$ sudo useradd -rm homeassistant

$ cd /srv

$ sudo mkdir homeassistant

$ sudo chown homeassistant:homeassistant homeassistant

$ sudo su -s /bin/bash homeassistant

$ cd /srv/homeassistant

$ python3 -m venv .

$ source bin/activate

(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant

(homeassistant) $ hass

再次声明,我在安装Raspbian with Pixel系统下,屡次安装失败,我也是没脾气了。实在是不想一句句命令行看下去来排错。估计的原因有:1. 由于某WALL的原因,一些依赖包可能被墙,导致无法顺利下载安装;2. 但是我在路由器部署全局科学上网前提下,依旧报错,可能是由于系统本身的原因;3. 可能是阿里云镜像源原因,但是我在使用原始源安装还是不行。

3.1 安装附加功能

3.1.1 安装SMB(必须)

sudo ./hassbian-scripts/install_samba.sh

sudo smbpasswd -a pi

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.original

sudo nano /etc/samba/smb.conf

[global]

netbios name = raspberrypi

server string = The Pi File Center

workgroup = WORKGROUP

hosts allow =

remote announce =

remote browse sync =[HOME ASSISTANT]

path = /home/homeassistant/.homeassistant

comment = No comment

browsable = yes

read only = no

valid users =

writable = yes

guest ok = yes

public = yes

create mask = 0777

directory mask = 0777

force user = root

force create mode = 0777

force directory mode = 0777

hosts allow =

ctrl+x,y,回车

再输入sudo systemctl restart home-assistant@homeassistant.service

3.1.2 安装MQTT

sudo ./hassbian-scripts/install_mosquitto.sh

sudo systemctl start mosquitto

4. 安装Homebridge插件

Homebridge是一款插件以在苹果终端外接入Apple Homekit,从而实现Siri和苹果原生“家庭”app控制原本不被苹果认证支持的智能家庭设备。Homebridgede的安装,Junyi Lou的文章介绍的比我详尽,大家可以参考。我的方法是基于非Raspbian系统,所以开头会多几行代码装一些依赖包。另外Homebridge也提供一行安装指令:sudo npm install -g --unsafe-perm homebridge但是我这里无法安装成功,遂采用下面手动方法,大家各取所需。

完成上一步系统安装和初步设置后,我们连接到树莓派,输入:

sudo apt-get install git make

sudo apt-get install g++

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -

sudo apt-get install -y nodejs

sudo apt-get install libavahi-compat-libdnssd-dev

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

进行到这里,Homebridge就已经安装完成了,设置问题我们稍后再说。

5. 智能控制中心配置

登陆树莓派(之后开头默认此状态,不再重复)输入以下代码:sudo npm install -g homebridge-homeassistant而后输入:

cd /home/pi/.homebridge

sudo nano config.json

在文件中新增

{

"bridge": {

"name": "Homebridge",

"username": "CC:22:3D:E3:CE:30(树莓派MAC地址)",

"port": 51826,

"pin": "123-45-678(自行设定)"

},

"platforms": [

{

"platform": "HomeAssistant",

"name": "HomeAssistant",

"host": "http://树莓派地址:8123",

"password": "raspberry",

"supported_types": ["fan", "binary_sensor", "sensor", "garage_door", "input_boolean", "light", "lock", "media_player", "rollershutter", "scene", "switch"]

}

]

}

ctrl+x,y,回车。我们就完成了Homebridge的设置。

接下来是hass的设置:使用smb服务连接树莓派,macOS在Finder中点击工具栏的前往-连接服务器-输入smb://树莓派地址,用户名为pi,密码就是你之前设定的smb的密码。出现Home assistant共享文件夹,创建custom_components文件夹,到https://github.com/lazcad/homeassistant下载文件,将文件夹内文件复制进新建的文件夹,退回到上层文件夹,打开configuration.yaml,随便找个地方,添加小米网关

xiaomi:

gateways:

- sid: mac地址

- key: 通讯密码(小米网关的地址和密码可从米家app上获得,修改后保存。)

现在我们已经完成了HASS的所有设置了。

6. 安装KODI媒体中心

回到树莓派,输入下面的代码,第一步是为了取得这个源地址的认证。Raspbian源默认的Kodi版本是15,然而最新版本已经到了17,目前只有该源支持安装最新版的Kodi,这也是为什么在前面的步骤要添加源的原因:

wget -O - http://pipplware.pplware.pt/pipplware/key.asc | sudo apt-key add -

sudo apt-get install kodi

sudo addgroup --system input

sudo nano /etc/udev/rules.d/99-input.rules

复制粘贴

SUBSYSTEM==input, GROUP=input, MODE=0660

KERNEL==tty[0-9]*, GROUP=tty, MODE=0660

ctrl+x,y,回车输入:

sudo nano /etc/udev/rules.d/10-permissions.rules复制粘贴

#input

KERNEL=="mouse|mice|event", MODE="0660", GROUP="input"

KERNEL=="ts[0-9]|uinput", MODE="0660", GROUP="input"

KERNEL==js[0-9], MODE=0660, GROUP=input#tty

KERNEL==tty[0-9]*, MODE=0666

#vchiq

SUBSYSTEM==vchiq, GROUP=video, MODE=0660

ctrl+x,y,回车,输入:

sudo usermod -a -G audio pi

sudo usermod -a -G video pi

sudo usermod -a -G input pi

sudo usermod -a -G dialout pi

sudo usermod -a -G plugdev pi

sudo usermod -a -G tty pi

至此,最新版本17.1的KODI也已经安装完成了,大家可以输入Kodi进入进行更详细的设置。

7. 添加自动开机任务

忙活了那么久,即将大功告成了。最后临门一脚,我们把HAAS、homebridge、KODI添加至树莓派开机任务中,这样每次启动就会自动开启上述2个功能,并且跳转到KODI界面。

cd /

sudo useradd --system homebridge

sudo mkdir /var/homebridge

sudo cp ~/.homebridge/config.json /var/homebridge/

sudo cp -r ~/.homebridge/persist /var/homebridge

sudo chmod -R 0777 /var/homebridge

cd /etc/default

sudo nano homebridge复制粘贴

# Defaults / Configuration options for homebridge

# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)

HOMEBRIDGE_OPTS=-U /var/homebridge

# If you uncomment the following line, homebridge will log more

# You can display this via systemd's journalctl: journalctl -f -u homebridge

# DEBUG=*

ctrl+x,y,回车

cd /etc/systemd/system

sudo nano homebridge.service

复制粘贴

[Unit]

Description=Node.js HomeKit Server

After=syslog.target network-online.target

[Service]

Type=simple

User=homebridge

EnvironmentFile=/etc/default/homebridge

ExecStart=/usr/lib/node_modules/homebridge/bin/homebridge $HOMEBRIDGE_OPTS

Restart=on-failure

RestartSec=10

KillMode=process

[Install]

WantedBy=multi-user.target

ctrl+x,y,回车

cd /

sudo systemctl daemon-reload

sudo systemctl enable homebridge

sudo systemctl start homebridge

sudo systemctl status homebridge

sudo wget -O /etc/init.d/kodi https://gist.githubusercontent.com/shyamjos/60ea61fd8932fd5c868c80543b34f033/raw;sudo chmod +x /etc/init.d/kodi

sudo systemctl enable kodi

sudo systemctl enable mosquitto

最后重启:sudo reboot

OK,重启过后,稍作等待,一个完美的家庭枢纽就这样诞生啦!

8. 最终设置

打开iOS设备的“家庭”app,点击右上角添加,不出意外的话,Homebridge就会被自动搜索到了,照流程一路下一步,所有连接到树莓派的智能设备都会自动添加。全部完成后,我们先调戏一下Siri:


请输入图片标题

由于苹果的安全要求,除非你拥有Apple TV第四代,否则不支持局域网外的Homekit控制,这是这个系统目前最大的遗憾。

Kodi的设置我就不赘述了,主要流程就是:设置中文(可选)-添加资源库-添加中文插件库-刮削器刮削内容-强迫症整理文件,我最终的显示效果如下:


后续:日常维护

既然是系统就免不了升级,以下为HAAS日常维护命令:

$ sudo apt-get update

$ sudo systemctl stop home-assistant@homeassistant.service

$ sudo su -s /bin/bash homeassistant

$ source /srv/homeassistant/bin/activate

$ pip3 install --upgrade homeassistant

$ exit

$ sudo systemctl start home-assistant@homeassistant.service

推荐阅读更多精彩内容