如何方便地將米家設(shè)備接入home kit?在這篇文章中,我看到了你對(duì)HomeKit的熱情。很多小伙伴在文章中主要介紹了不同的方向,但在實(shí)際操作過程中,他們想要更加明確的“說明書”。
想來上一次寫接入 HomeKit 的文章已經(jīng)是 2016 年,正好就趁著這個(gè)機(jī)會(huì)來更新一下。這篇文章將從零開始,向你介紹如何通過在樹莓派安裝 HomeBridge,將幾個(gè)典型的米家設(shè)備接入到 HomeKit 中。準(zhǔn)備好了嗎?那我們?cè)挷徽f,直接開始吧。
你需要準(zhǔn)備的東西
在開始之前,我們首先得購買對(duì)應(yīng)的硬件設(shè)備。在這個(gè)方案中,你需要準(zhǔn)備的有這些東西:
- 一臺(tái)電腦(此處以 Mac 為例子)
- 一個(gè)樹莓派(建議 3B+ 及以上)
- 一張 16GB 以上的 TF 卡和讀卡器(用來給樹莓派裝系統(tǒng))
- 一根 MicroUSB 線(給樹莓派連接電源,如果是樹莓派 4,則需要準(zhǔn)備一根 USB-C 線)
- 一個(gè)安卓模擬器
- 有了這些硬件設(shè)備之后,我們就可以開始在電腦上進(jìn)行操作了
當(dāng)然了,這里只是以我的環(huán)境作為例子,如果你想在其他平臺(tái)上安裝 HomeBridge 肯定也是沒問題的,官方也給出了對(duì)應(yīng)的安裝指南。只不過考慮到要保持接入家居的實(shí)時(shí)可用性,就需要一臺(tái)常開的設(shè)備來運(yùn)行 HomeBridge,所以樹莓派無論是在功耗還是性價(jià)比上,都是再合適不過的選擇。
macOS 和 Linux 的小伙伴可以用系統(tǒng)自帶的終端進(jìn)行操作,而 Windows 的小朋友們可以選擇剛推出不久的 Windows Terminal。
給樹莓派安裝系統(tǒng)
首先自然是給樹莓派安裝 Raspbian 系統(tǒng)。打開 這個(gè)網(wǎng)站,并選擇「Raspbian Buster with desktop」進(jìn)行下載。
至于為什么選擇它的原因,主要有兩點(diǎn):一是「Raspbian Buster with desktop and recommended software」解壓之后的系統(tǒng)鏡像比較大,會(huì)占用更多空間,而它所推薦的軟件都是我們不需要的;二是我并不確定 lite 版的系統(tǒng)是否缺失一些必要的支持,因此最保險(xiǎn)的還是選擇「Raspbian Buster with desktop」版本的系統(tǒng)。
下載好 zip 文件之后解壓,可以獲得一個(gè) img 格式的鏡像文件。這時(shí)候?qū)⑽覀兊?TF 卡連接到電腦上,打開 balenaetcher 這款軟件,選擇剛剛解壓好的 Raspbian 系統(tǒng),將它刷進(jìn) TF 卡中。
大約十分鐘之后,你就擁有了一張能夠讓樹莓派啟動(dòng)的「系統(tǒng)盤」了。不過這時(shí)候先不要著急著給樹莓派開機(jī),因?yàn)槲覀冞€需要做一些設(shè)置,好讓電腦能夠直接無線遠(yuǎn)程連接到樹莓派,省去插拔 HDMI 和鍵鼠的麻煩。
將 TF 卡重新連接到電腦,可以看到一個(gè)名為 boot 的磁盤。接著,我們打開終端,依次輸入下面的代碼:
cd?/Volumes/boot touch?ssh touch?w sudo nano?w
輸入完之后,會(huì)提示你需要密碼。這里輸入你電腦的登陸密碼即可。需要提醒的是,輸入密碼的過程中終端不會(huì)顯示任何內(nèi)容,輸入完回車就行了。完成之后,你會(huì)在終端進(jìn)入到一個(gè)文本編輯器中。在編輯器內(nèi)復(fù)制以下內(nèi)容,并將對(duì)應(yīng) Wi-Fi 的 SSID 和密碼改成你家的。
country=CN ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="你家Wi-Fi的名稱" psk="你家Wi-Fi的密碼" key_mgmt=WPA-PSK priority=1 }
需要提醒的是,如果你家的 ssid 是隱藏的,那么就需要在 priority=1 的后面加入一條 scan_ssid=1 的參數(shù)。
就像上面這樣
設(shè)置完成后,按下 ?control+X,然后輸入 y 并按下回車鍵進(jìn)行保存,就可以將 TF 卡插入樹莓派,連接電源開機(jī)啟動(dòng)了?;氐?Mac 上,我們繼續(xù)用終端進(jìn)行操作。
安裝 HomeBridge
要正式開始安裝 HomeBridge 了。跟著下面的步驟一步一步來,你也可以在一杯咖啡的時(shí)間里,將 HomeBridge 輕松地安裝在樹莓派上。
不過在此之前,你需要到路由器后臺(tái),找到樹莓派的局域網(wǎng) IP 地址。接著在終端內(nèi)輸入
ssh?pi@樹莓派的IP地址
隨后,電腦可能會(huì)向你問一個(gè)問題,不用管它問什么,直接輸入 yes,然后輸入連接樹莓派的 ssh 默認(rèn)密碼:raspberry。
再次需要提醒的是,輸入密碼的過程中終端不會(huì)顯示任何內(nèi)容,輸入完回車就行了。如果出現(xiàn)了下面的界面,說明連接就成功建立了。
第二步,是對(duì)樹莓派內(nèi)置軟件源進(jìn)行更換。由于眾所周知的原因,Raspbian 在更新軟件包時(shí)可能會(huì)遇到速度緩慢甚至是無法更新的問題,因此我們將國外的軟件源更換為國內(nèi)的清華鏡像源,加快連接速度。替換軟件源的很簡(jiǎn)單,按照下面的操作步驟執(zhí)行即可。
sudo?nano?/etc/a
將原有的內(nèi)容刪除,或是加 # 進(jìn)行注釋,并替換為下面的內(nèi)容:
deb??buster?main?non-free?contrib deb-src??buster?main?non-free?contrib
完成后,按下 ?control+X,然后輸入 y 回車進(jìn)行保存。接著,繼續(xù)修改 /etc/a.d/raspi.list 文件,輸入:
sudo?nano?/etc/a.d/raspi.list
將里面內(nèi)容用下面的內(nèi)容取代,然后同樣用上面的方法進(jìn)行保存:
deb??buster?main?ui
完成后,先進(jìn)行一遍軟件源更新。在終端中依次輸入以下代碼:
sudo?apt-get?update sudo?apt-get?upgrade
中途會(huì)詢問你,是否進(jìn)行更新,輸入 y 之后回車即可。好了,等待十分鐘左右,你就可以將樹莓派里的軟件包都更新到最新的版本了。
現(xiàn)在,我們可以正式開始安裝 HomeBridge,話不多說,直接依次在終端中執(zhí)行下面的代碼:
curl -sL | sudo bash -sudo apt-get install -y nodejs gcc g++ make pythonnode -vsudo npm i -g npmsudo npm install -g --unsafe-perm homebridge homebridge-config-ui-xsudo hb-service install --user homebridge
需要注意,第二步和第五步由于需要從國外的服務(wù)器下載對(duì)應(yīng)的軟件包,因此建議大家配置一下網(wǎng)絡(luò)環(huán)境,不然可能會(huì)十分慢。其次,第三步中,node -v 的含義是為了查看安裝的 node 版本。如果輸入之后得到類似 v12.X.X 的結(jié)果,那就說明 node 安裝成功,可以進(jìn)行下一步。
跑完所有代碼之后,HomeBridge 便已經(jīng)成功部署在了樹莓派上,接下來我們就可以安裝對(duì)應(yīng)的插件,將米家設(shè)備接入到 HomeKit 中。
安裝插件,編寫 con
得益于安裝了 homebridge-config-ui-x 這一款插件,現(xiàn)在你可以打開一個(gè)瀏覽器,輸入上面返回的任意一個(gè) IP 地址,進(jìn)入 HomeBridge 后臺(tái)管理界面(默認(rèn)的賬戶密碼都是 admin)。
進(jìn)入到這里之后,我們就可以在插件頁面搜索對(duì)應(yīng)的米家插件進(jìn)行安裝。這里我推薦來自「deserteagle」(GitHub 用戶名為銀行碼 YinHangCode)的米家插件,不僅種類較多,而且基本上都能長(zhǎng)期穩(wěn)定工作。這里我們以米家空氣凈化器和米家空調(diào)伴侶作為例子,演示如何將它們接入 HomeKit 中。
首先,在插件頁面用關(guān)鍵詞搜索到對(duì)應(yīng)的插件,點(diǎn)擊安裝。兩款插件安裝完成后,來到配置頁面,開始編寫 con。
說到編寫 con 這個(gè)文件,就到了新手最頭疼的地方。但其實(shí)不用害怕,都是四級(jí)水平不到的英語,理解起來并不困難。但請(qǐng)一定一定要認(rèn)真閱讀一遍作者的 Readme 和 config 例子,不然你必然會(huì)出現(xiàn)錯(cuò)誤。
這里我貼出我的一部分 con,對(duì)里面的內(nèi)容進(jìn)行細(xì)致的講解。不過需要注意的是,json 格式的文件并不支持注釋,如果需要使用這份 con 文件,除了需要將對(duì)應(yīng)內(nèi)容更改為你的設(shè)備之外,還需要?jiǎng)h除掉 # 和后面的中文注釋。
另外還需要提醒大家的是,json 文件的 {}、[]、, 等符號(hào)一定不能弄錯(cuò),否則一定會(huì)報(bào)錯(cuò)。如果是運(yùn)行時(shí)提示 config 文件出現(xiàn)錯(cuò)誤,首先檢查自己是不是哪里打多了一個(gè) ,,或者是哪里遺漏了一個(gè)括號(hào),再檢查語法是否正確。
{????"bridge":?{?#homebridge基礎(chǔ)設(shè)置,大部分都不需要修改????????"name":?"HomeBridge",????????"username":?"00:00:00:00:00:02",????????"port":?58888,????????"pin":?"199-71-226"?#你在家庭應(yīng)用進(jìn)行配對(duì)時(shí)的配對(duì)碼,支持自定義????},????"platforms":?[????????{????????????"platform":?"MiAirPurifierPlatform",?#插件平臺(tái)名稱,固定不可更改????????????"deviceCfgs":?[????????????????{????????????????????"type":?"MiAirPurifier2S",?#型號(hào)名稱,固定不可更改????????????????????"ip":?"192.168.1.195",?#空氣凈化器的IP地址????????????????????"token":?"b5d7120997c45761f3adac05887c5fc2",?#空氣凈化器的token????????????????????"airPurifierDisable":?false,?#是否在家庭應(yīng)用中不顯示空氣凈化器????????????????????"airPurifierName":?"空氣凈化器",?#在家庭應(yīng)用中顯示的名稱????????????????????"silentModeSwitchDisable":?false,?#是否在家庭應(yīng)用中不顯示空凈睡眠模式開關(guān)????????????????????"silentModeSwitchName":?"空凈睡眠模式",?#在家庭應(yīng)用中顯示的名稱????????????????????"temperatureDisable":?false,?#是否在家庭應(yīng)用中不顯示空凈檢測(cè)的環(huán)境溫度????????????????????"temperatureName":?"溫度",?#在家庭應(yīng)用中顯示的名稱????????????????????"humidityDisable":?false,?#是否在家庭應(yīng)用中不顯示空凈檢測(cè)的環(huán)境濕度????????????????????"humidityName":?"濕度",?#在家庭應(yīng)用中顯示的名稱????????????????????"buzzerSwitchDisable":?true,?#是否在家庭應(yīng)用中不顯示空凈的靜音開關(guān)????????????????????"buzzerSwitchName":?"MiAirPurifier2S?Buzzer?Switch",?#在家庭應(yīng)用中顯示的名稱????????????????????"ledBulbDisable":?true,?#是否在家庭應(yīng)用中不顯示空凈的屏幕顯示開關(guān)????????????????????"ledBulbName":?"空氣凈化器顯示屏",?#在家庭應(yīng)用中顯示的名稱????????????????????"airQualityDisable":?false,?#是否在家庭應(yīng)用中不顯示空凈檢測(cè)的空氣質(zhì)量????????????????????"airQualityName":?"空氣質(zhì)量"?#在家庭應(yīng)用中顯示的名稱????????????????}????????????]????????},{????????????"name":?"Config",?#這部分不需要修改,是homebridge?UI插件自動(dòng)生成的????????????"port":?8581,????????????"auth":?"form",????????????"theme":?"pink",????????????"tempUnits":?"c",????????????"platform":?"config"????????}????],????"accessories":?[?#是使用「platform」還是「accessories」,需要根據(jù)插件的說明進(jìn)行選擇????????{????????????"accessory":?"MiHeaterCooler",?#插件名稱,固定不可更改????????????"name":?"空調(diào)",?#在家庭應(yīng)用中顯示的名稱????????????"address":?"192.168.1.146",?#空調(diào)伴侶的IP地址????????????"token":?"5ff11db226e994e41a4b7653cd713c6f",?#空調(diào)伴侶的token????????????"ratedPower":?735?#空調(diào)的額定功率,非必須參數(shù)????????}????]}
其中,獲得 token 的操作相對(duì)麻煩一些,但卻又是米家設(shè)備接入 HomeKit 必不可少的一項(xiàng)參數(shù)。那么,要如何獲取對(duì)應(yīng)設(shè)備的 token?如果你不了解,可以跟著下面的步驟操作:
- 第一步,我們打開準(zhǔn)備好的安卓虛擬機(jī),安裝一個(gè)舊版的米家 app(必須要舊版,建議找 2017 年左右的版本);
- 第二步,打開米家 App,登陸你的賬號(hào),檢查你需要接入的設(shè)備是否顯示在 App 中,然后簡(jiǎn)單進(jìn)行操作,確定設(shè)備能夠響應(yīng);
- 第三步,安裝 RE 瀏覽器,進(jìn)入到 /data/data 目錄下,找到 miio2.db 文件,并將它復(fù)制到電腦上;
- 第四步,打開 這個(gè)網(wǎng)站,將 miio2.db 文件上傳,然后點(diǎn)擊 submit,就可以獲取到所有設(shè)備的 token 了。建議將這份表格保存好,以備后期萬一出現(xiàn) bug 時(shí)進(jìn)行修復(fù)。
至此,將米家設(shè)備接入 HomeKit 的所有操作完成。你終于可以拿起 iPhone,將設(shè)備加入到家庭應(yīng)用中,享受 Siri、快捷指令和家庭自動(dòng)化帶來的便利體驗(yàn)了。
總結(jié)
文章的篇幅看起來有一些長(zhǎng),但實(shí)際上莫過于就是三大步:「裝系統(tǒng) - 裝 HomeBridge - 裝插件并適配」,熟練之后,你可以輕松在半小時(shí)不到的時(shí)間里接入數(shù)個(gè)米家設(shè)備。
但落實(shí)到每一步來說,都需要你的細(xì)心和耐心,如果中途出錯(cuò),不要急于放棄,好好閱讀返回的報(bào)錯(cuò)內(nèi)容,并學(xué)會(huì)用 Google、百度搜索一下,或者是再仔細(xì)閱讀插件開發(fā)者所寫的 Readme 文件,看看問題是出在了哪里,對(duì)癥下藥進(jìn)行解決。
當(dāng)然,如果實(shí)在是有一些你無法找到的 con 錯(cuò)誤,私信我,帶上你的 config 文件和報(bào)錯(cuò)內(nèi)容,我也很樂意提供幫助。
也是不禁回想起過去,為了折騰一個(gè) YeeLight 彩光燈,而耗費(fèi)的一天時(shí)間。雖說現(xiàn)在 HomeBridge 已經(jīng)默默為我服務(wù)多年,但當(dāng)年成功點(diǎn)亮燈泡那一刻的喜悅,至今都記憶猶新。
1.《米家app怎么下載不了東西怎么辦?終于找到答案了米家設(shè)備也能喊 Siri 控制,手把手教你把米家設(shè)備接入 Homekit》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請(qǐng)聯(lián)系頁腳下方聯(lián)系方式。
2.《米家app怎么下載不了東西怎么辦?終于找到答案了米家設(shè)備也能喊 Siri 控制,手把手教你把米家設(shè)備接入 Homekit》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來源地址,http://f99ss.com/gl/3154855.html