炎炎夏日教你利用小米智能家居配件+樹莓派4接入Apple HomeKit
我正在參加「創意開發 投稿大賽」詳情請看:掘金創意開發大賽來了!
前言
Apple HomeKit智能家居方案,是蘋果2016年在WWDC大會上提出來的,至今已經6個年頭。在國內一直是不温不火的狀態,除了有小米智能家居的米家方案等一大堆國內廠商跟進外,蘋果特有的“貴”也是其阻礙因素之一,一個智能插座或者空調伴侶動輒幾百塊的價格嚇退了不少果粉(包括我)。另外小米的智能家居也是支持HomeKit(需要單獨購買HomeKit的網關),以下則是如何不購買額外HomeKit網關前提下,利用樹莓派實現Apple HomeKit智能家居方案。
接入過程
一、使用ssh登錄樹莓派,並配置相應軟件包
接入Apple HomeKit 我們需要在樹莓派使用npm包管理,如果沒有安裝npm請自行Goole解決,一般樹莓派是使用apt-get安裝,如果不行只能通過下載官網包安裝。
然後通過npm安裝,homebridge,以及homebridge-mi-acpartner(一個homebridge支持小米配件的插件)
```
sudo npm install -g -unsafe-perm homebridge
sudo npm install -g homebridge-mi-acpartner
```
然後輸入homebridge回車,如果控制枱出現一個二維碼則為安裝成功。
```
homebridge
```
二、獲取小米(綠米)空調伴侶token
此處獲取方式網上五花八門,如通過舊版米家一頓亂點(估計幾年前的安卓包,能否使用位置)等等。這裏推薦一個靠譜的方案,通過miio 插件。
//這裏是使用自己的macbook獲取,而非樹莓派,window機器一樣可行。
首先安裝miio
```
npm install miio
```
之後將小米空調伴侶長按重置,它會出現不帶密碼的wifi,通過macbook連接該wifi.然後輸入以下命令
```
miio discover
```
接下來就是見證奇蹟的時刻,空調伴侶的token已經被發現了。
接下來就是按照小米官方的教程,連入自家Wifi,以及配置好智能空調遙控。基本上打開米家,點擊添加就OK了。
此時再執行一次
```
miio discover
```
記錄下空調伴侶的路由Wifi地址,一會需要用。
三、配置Homebridge的config.json文件
Homebridge的運行實際上是依賴config.json文件的配置來運行,結合homebridge-mi-acpartner插件上的參數,我們寫入下面的配置。
```
cd .homebridge
//新建文件
touch config.json
//編輯文件,我這裏使用nano, 看個人愛好
sudo nano config.json
```
寫入如下配置
```
{
"platforms": [
{
"platform": "XiaoMiAcPartner",
"devices": {
"上面保存的米家空調伴侶的路由ip地址": "上面獲取到的token"
},
"accessories": [
{
"name": "learnir_switch",
"type": "learnIR"
},
{
"name": "AC Partner",
"type": "climate"
},
{
"name": "ir_switch",
"type": "switch",
"data":{
"on": "FE00000000000000000000000006003222580031003C00AC01C2037A1388430201010101010101010202020202020202020101010101010100020202020202020201010101010101010202020202020583",
"off": "FE00000000000000000000000006003222580034003E00AB01C0037A1388430201000000010000000202020202020202020001000001000001020202020202020201010001000001010202020202020578"
}
}
]
}
]
}
```
重新啟動homebridge
```
homebridge
```
通過iPhone家庭App掃描接入homeBridge,此時一頓確認後,家庭App就會出現三個開關了,分別是空調、風扇(已改名,對應的是上面的ir_switch),下面會繼續講解它是怎麼來的(紅外碼的獲取)。learnir_switch(紅卡學習開關),用於獲取紅外設備的紅外碼。
四、配置自定義紅外碼
此處家裏剛好有颱風扇是有遙控的,我以此為例,聊聊如何複製風扇的紅外碼。上面的learnir_switch 開關配置後,通過家庭app打開learn開關,此時樹莓派控制枱會提示你可以開始記錄了,這時你一分鐘所有紅外設備的紅外碼都會被捕捉並打印,如下,我們捕捉後填入on,off欄,此時一個自定義紅外開關就完成了。
五、給你的HomeKit配置遠程啟動
上面的操作都處理完之後,你的HomeKit其實只能在家裏本地網絡使用才有效(手機和樹莓派連接同一個路由器),如果你想要在回家的路上就遠程打開空調預熱,那你想要給HomeKit提供一個家庭中樞。簡單點來説就是💰💰💰你需要有一個iPad或者Home Pod常駐家裏,連接wifi,和iphone以及macbook等使用同一個Apple 帳號,並打開家庭中樞功能。我剛好有台iPad Pro在家,如下即可,那你就能享受回家前就提前打開空調的待遇啦。
六、樹莓派啟動進程保護
最後,也就是如何讓homebridge常駐線程了,正常情況下如果你關閉了ssh,homebrige自然也給你close掉。我們如何實現退出樹莓派,進程還在呢?那就要進程保護了,進程保護有很多種方案,這裏我用一種最簡單的。
安裝screen
```
sudo apt install screen
```
在scrren中啟動homebidge,然後直接關閉樹莓派即可,具體screen的用法,請自行google.
```
//啟動一個名字叫homekit的 screen
screen -S homekit
//此時會新建了一個新的窗口,然後啟動homebridge
homebridge
```
末尾
本篇文章就到此為止,如果你有什麼想法,歡迎留言評論哈,感謝大家耐心看完,我正在參加「創意開發 投稿大賽」詳情請看:掘金創意開發大賽來了!,也還請各位走過路過的來個一鍵三連,感謝🙏~
- 緊急需求‼️實現iOS啟動圖動態置灰
- iOS原生混編Flutter路由指南及解決Flutter首頁閃白屏問題
- 炎炎夏日教你利用小米智能家居配件 樹莓派4接入Apple HomeKit
- 可能是全網第一個適配iOS靈動島的Toast庫-JFPopup
- 關於iOS的presentingViewController&presentedViewController你真的懂了麼
- 支持SwiftUI!Swift版圖片&視頻瀏覽器-JFHeroBrowser上線啦
- 2022騰訊Mars Xlog日誌系統集成指南-iOS篇
- 聊聊iOS實現漸變色文本以及可能你不知道的細節
- DragAndDropKit-iOS15下一行代碼集成跨應用間拖拽傳遞數據
- 一個優雅的Swift彈窗組件-JFPopup
- 擼一個Flutter Apple Id 登錄插件