炎炎夏日教你利用小米智能家居配件+樹莓派4接入Apple HomeKit

語言: CN / TW / HK

我正在參加「創意開發 投稿大賽」詳情請看:掘金創意開發大賽來了!

前言

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

```

末尾

本篇文章就到此為止,如果你有什麼想法,歡迎留言評論哈,感謝大家耐心看完,我正在參加「創意開發 投稿大賽」詳情請看:掘金創意開發大賽來了!,也還請各位走過路過的來個一鍵三連,感謝🙏~