由于有位樓主跟我說(shuō)引用了他的文章疗垛,我這里說(shuō)明下症汹,引用的文章會(huì)很多,碰到的問(wèn)題也多贷腕,文末有各路大神的文章背镇,需要的自己去看咬展。我的目標(biāo):用Ipad中的HomeKit智能家居!用Siri來(lái)控制你的家用電器瞒斩,最近蘋果的智能家居平臺(tái)比較火熱挚赊,什么值得買平臺(tái)以及少數(shù)派報(bào)告都有比較多的文章介紹。目前自己手上的硬件有Ipad济瓢,樹莓派2B,nodemcu(esp8266),DTH11 溫濕度傳感器等等妹卿。剛好Home Assistant是一個(gè)運(yùn)行在Python 3的開源家庭自動(dòng)化平臺(tái)旺矾。它可以追蹤、控制你家里的所有設(shè)備夺克,并且能實(shí)現(xiàn)自動(dòng)化控制箕宙。先用圖描述下幾者關(guān)系,方便理清思路铺纽。
下面說(shuō)下具體的安裝實(shí)現(xiàn)過(guò)程柬帕,安裝過(guò)程中的軟件我會(huì)上傳到百度云分享給大家。
1:格式化TF卡
2:刻錄hassbian鏡像狡门,使用的是etcher刻錄軟件
查看U盤陷寝,發(fā)現(xiàn)容量只有40M了,不用擔(dān)心其馏,只是啟動(dòng)文件凤跑。
3:上電運(yùn)行
將燒寫好的TF卡插到樹莓派上,插上網(wǎng)線叛复,上電啟動(dòng)仔引。
上電完成之后,提示用戶名登錄褐奥,用戶名:pi ? ? ?密碼:raspberry
4:查看hassbian是否安裝成功
打開谷歌瀏覽器(切記一定用谷歌瀏覽器咖耘,360瀏覽器是打不開的),瀏覽器輸入:192.168.1.121( 樹莓派的IP):8123
出現(xiàn)這個(gè)界面撬码,說(shuō)明hassbian已經(jīng)安裝成功儿倒,并且服務(wù)已經(jīng)自動(dòng)啟動(dòng)。
5:替換安裝更新源
更換一下源:sudo nano /etc/apt/sources.list在第一行首添加”#“號(hào)耍群,再在最上方添加如下代碼(如果不安裝KODI义桂,最后一行(第三個(gè)安裝源)可忽略):
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
deb http://pipplware.pplware.pt/pipplware/dists/jessie/main/binary /
然后按ctrl+x,y,回車
在第一行前面加#號(hào),然后復(fù)制下面兩行到末尾蹈垢,ctrl + x 保存然后 y 確認(rèn)退出慷吊。
6:更新軟件包
sudo apt-get update:這一步是更新你的源列表,由于我們第五步曹抬,更新過(guò)安裝源溉瓶,所以這步必須執(zhí)行。
sudo apt-get upgrade:此命令將本地已安裝的軟件與剛下載的軟件列表里對(duì)應(yīng)軟件進(jìn)行對(duì)比,如果你對(duì)新版本軟件的需求不是那么迫切堰酿,可以不執(zhí)行疾宏,當(dāng)然如果發(fā)現(xiàn)已安裝的軟件版本太低,就會(huì)提示你更新触创,y 確認(rèn)安裝坎藐。這個(gè)過(guò)程需要時(shí)間按比較久,我花了15分鐘左右哼绑。
sudo apt-get clean:徹底卸載安裝包岩馍。
7:安裝圖形界面
圖形界面,方便新手操作抖韩,我這里就給你具體鏈接地址
Raspberry Pi 樹莓派 Zero W 安裝Homeassistant-Homebridge教程及避坑指南
由于每個(gè)人的樹莓派硬件版本可能存在區(qū)別蛀恩,可以參照安裝方式,但是不能全部復(fù)制茂浮,不然是無(wú)法安裝成功
HomeAssistant双谆,大家切記切記。
8:安裝Samba和MQTT
Hassbian內(nèi)置了一個(gè)快速安裝Homeassistant需要的一些軟件的工具包叫hassbian-config席揽,通過(guò)這個(gè)工具可以快速安裝MQTT顽馋、Samba等軟件,幫助我們快速實(shí)現(xiàn)Homeassistant的強(qiáng)大功能幌羞,安裝MQTT和Samba只需要簡(jiǎn)單的兩個(gè)命令趣避。
hassbian-config show? #查看支持快速安裝的軟件
sudo hassbian-config install samba??#快速安裝samba
看到右下角的的地址沒有,\\192.168.1.121\homeassistant
左邊是樹莓派的目錄新翎,右邊是windows下的目錄程帕,已經(jīng)同步完畢。
sudo hassbian-config install mosquitto:安裝MQTT服務(wù)地啰,進(jìn)行物聯(lián)網(wǎng)設(shè)備接入愁拭。安裝過(guò)程中提示輸入mqtt的帳號(hào)和密碼。
安裝MQTT的方式還可以這樣:
9:安裝libavahi-compat-libdnssd-dev軟件包(完整版Raspbian此時(shí)可能提示因依賴關(guān)系而出錯(cuò))
sudo apt-get -y install libavahi-compat-libdnssd-dev
10:確認(rèn)系統(tǒng)硬件版本
安裝node.js之前最重要的一步亏吝,由于各個(gè)版本的樹莓派硬件不同岭埠,樹莓派zero,樹莓派1蔚鸥,樹莓派2/2B惜论,樹莓派3/3B。
如果沒確認(rèn)清楚止喷,就會(huì)導(dǎo)致node.js出錯(cuò)概疆。
下面我說(shuō)下幾種硬件的安裝方式:
(1)樹莓派zero是arm6l平臺(tái)臀突,具體的安裝方式如下圖所示。
(2)樹莓派2也是arm6l平臺(tái)谴忧,具體實(shí)現(xiàn)方式更上面一樣
(3)那樹莓派2B是不是跟樹莓派2嫉柴,樹莓派zero一樣,也是arm6l平臺(tái)呢,答案是不是的。
查看樹莓派的硬件平臺(tái)咳胃,使用命令 ? uname -a
(4)樹莓派3和樹莓派3B由于手上沒有硬件,這里說(shuō)不再說(shuō)明旷太。
11:安裝node.js
安裝node.js的具體方式如下:
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
本來(lái)安裝node.js需要這兩個(gè)命令就行展懈,但是網(wǎng)上有人說(shuō)小米網(wǎng)關(guān)不支持setup_4x,所以我放棄了這兩條命令供璧。
正確的參考命令如下:
build-essential的作用說(shuō)明下
如果安裝不成功的話标沪,請(qǐng)參照下面的文章。
查看node.js是否安裝成功,使用命令 node -v
12:安裝Homebridge嗜傅,這個(gè)安裝arm7l平臺(tái)的,其他平臺(tái)是其他安裝方式檩赢。
armv7:
sudo npm install -g --unsafe-perm homebridge hap-nodejs node-gyp
cd /usr/lib/node_modules/homebridge/
cd /usr/lib/node_modules/hap-nodejs/node_modules/mdns
armv6的安裝方式:
HB 提供一行安裝指令:sudo npm install -g --unsafe-perm homebridge
也有人說(shuō)采用這條命令:sudo npm install -g --unsafe-perm homebridge hap-nodejs node-gyp
至于node-gpy的作用吕嘀,可以百度下查看問(wèn)題。上面兩種方式都可以安裝贞瞒。
如果出現(xiàn)安裝不成功的話偶房,使用如下命令。
安裝完成后军浆,建議大家直接輸入homebridge運(yùn)行一次 HB棕洋,以生成示例配置文件,然后 Ctrl + C 退出乒融。
使用命令 sudo nano /home/pi/.homebridge/config.json
重新啟動(dòng)homebridge,能運(yùn)行說(shuō)明配置文件正確赞季,不能運(yùn)行說(shuō)明配置文件錯(cuò)誤
解決方式:使用命令# ? sudo ?npm install homebridge
如果碰到 the ?requested accessory 'http' was not registered by any plugin
就使用命令#? sudo? npm install homebridge-http
安裝完畢之后在用homebridge命令愧捕,看是否正常啟動(dòng)。
接著申钩,安裝 Homeassistant-homebridge 插件次绘,實(shí)現(xiàn)平臺(tái)聯(lián)動(dòng):
sudo?npm?install?-g?homebridge-homeassistant
日后插件更新,請(qǐng)使用下列命令:
sudo?npm?upgrade?-g?homebridge-homeassistant
如果是小米的網(wǎng)關(guān)撒遣,還需要安裝相應(yīng)的協(xié)議邮偎。
13:讓homebridge開機(jī)自動(dòng)啟動(dòng)
方式一:比較麻煩的配置,可以參考一下配置說(shuō)明义黎。不過(guò)我估計(jì)很多人都可能看不懂是啥原理禾进。
https://bbs.hassbian.com/forum.php?mod=viewthread&tid=1074&highlight=hass
#將homebridge設(shè)置成隨系統(tǒng)啟動(dòng)
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-R0777/var/homebridge
cd/etc/default
sudo nano homebridge
#將下面的內(nèi)容復(fù)制粘貼進(jìn)去,然后Ctrl+X廉涕,然后Y命迈,回車贩绕,保存退出
HOMEBRIDGE_OPTS=-U/var/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)
# If you uncomment the following line, homebridge will log more
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*
#分界線
cd/etc/systemd/system
sudo nano homebridge.service
#將下面的內(nèi)容復(fù)制粘貼進(jìn)去,然后Ctrl+X壶愤,然后Y淑倾,回車,保存退出
[Unit]
Description=Node.js HomeKit Server
After=syslog.targetnetwork-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
#分界線
cd/
sudo systemctl daemon-reload
sudo systemctl enable homebridge
sudo systemctl start homebridge
sudo systemctl status homebridge
方式二:采用init.d的方法
把 HomeBridge 服務(wù)加入到樹莓派的系統(tǒng)服務(wù)里征椒。
首先我們要開啟 root 賬戶娇哆,首先在終端輸入:
sudopasswd?root
然后會(huì)提示你設(shè)置 root 賬戶密碼,第一次輸入之后還要確認(rèn)一次勃救,一樣兩次輸入不會(huì)有任何字符顯示碍讨。輸入完畢之后,啟用 root 賬戶蒙秒,輸入以下命令:
sudopasswd?--unlock?root
然后會(huì)提示報(bào)錯(cuò):passwd:?password?expiry?information?changed.勃黍,原因是新版的系統(tǒng)默認(rèn)禁止 ssh 登錄 root 賬戶,我們需要修改一下配置文件晕讲。在終端輸入以下命令:
sudonano?/etc/ssh/sshd_config
用 Ctrl + W 搜索「 PermitRootLogin 」覆获,找到之后將PermitRootLogin without-password改成PermitRootLogin yes,然后按 Ctrl + O 保存瓢省,回車之后退出編輯器弄息。
此時(shí)你會(huì)發(fā)現(xiàn)root登錄還是提示密碼錯(cuò)誤,但是我自己用su - root 又可以切換到root用戶下勤婚,說(shuō)明我的密碼沒問(wèn)題摹量。后來(lái)百度一下,發(fā)現(xiàn)是服務(wù)沒重啟馒胆。重啟服務(wù)就好缨称,解決辦法如下圖。
配置到這里祝迂,只要在終端輸入homebridge就可以運(yùn)行了具钥。但是關(guān)閉終端后就會(huì)關(guān)閉,而且萬(wàn)一出現(xiàn)斷電重啟的情況液兽,服務(wù)就會(huì)關(guān)閉骂删。因此我們要配置一個(gè)開機(jī)啟動(dòng)homekit的配置。homebrige的github頁(yè)面上推薦了三種方式四啰,我采用里面最方便的方式init.d的方法宁玫。
首先從這里下載一個(gè)配置文件,并復(fù)制所有內(nèi)容柑晒。
下載地址:raw.githubusercontent.com/fhd/init-script-template/master/template
然后使用如下命令在init.d目錄下創(chuàng)建一個(gè)homebridge啟動(dòng)的文件:
sudonano /etc/init.d/homebridge[進(jìn)入后粘貼上下載的配置文件的內(nèi)容]
修改文件內(nèi)容如下匙赞,不要忘記provide也要寫:
我發(fā)現(xiàn)網(wǎng)上很多人都設(shè)置之后妖碉,發(fā)現(xiàn)開機(jī)還是不能自啟。
需要注意的是:
(1)用戶名用pi登錄的話芥被,user就是pi
(2)cmd 命令失效,網(wǎng)上很多人都是用 cmd="DEBUG=* /usr/local/bin/homebridge"冗茸,
而我用的是cmd="DEBUG=* /usr/bin/homebridge"。
修改文件的權(quán)限:
sudochmod755/etc/init.d/homebridge
sudoupdate-rc.d homebridgedefaults
啟動(dòng):
sudo/etc/init.d/homebridge start
之后在關(guān)機(jī)重啟匹中,homebridge就會(huì)自動(dòng)啟動(dòng)了夏漱。
開機(jī)以后查看日志文件
如果發(fā)現(xiàn)無(wú)法開機(jī)自動(dòng)啟動(dòng)顶捷,查看log日志就可以發(fā)現(xiàn)錯(cuò)誤問(wèn)題服赎。
方式三:目前還沒看到,知道的朋友跟我簡(jiǎn)信說(shuō)下。
14:相關(guān)鏈接及參考(再次感謝諸大神)
【再更新】小米網(wǎng)關(guān)接入Homekit完整教程堪侯,聲控家中設(shè)備!
Home Assistant + 樹莓派:強(qiáng)大的智能家居系統(tǒng) · 安裝篇
首發(fā)威鋒伍宦!我們一起來(lái)玩HomeKit智能家居!用Siri來(lái)控制你的家用電器关贵!
linux(ubuntu)下安裝nodejs并配置環(huán)境卖毁,(樹莓派2代ARM6處理器)
Raspberry Pi 樹莓派 Zero W 安裝Homeassistant-Homebridge教程及避坑指南
homebridge自啟動(dòng)出現(xiàn)問(wèn)題
借助樹莓派與 HomeBridge 奴拦,將 YeeLight 彩光燈接入 Apple HomeKit | Matrix 精選