智能家居 EP1:架設 Home Assistant
先說說我的智能家居終極目標吧
把家中的設備們變聰明是為了什麼?我的幾個願景是:
- 全部的設備要能集中管理,最好是能集成到 Apple Home 裡面
- 以前買的米家設備一個都不能浪費
- 每晚的睡覺環境自動保持適合睡眠的良好溫濕度,並且沒有光害
- 每天早上窗簾自動拉上,讓陽光輕柔地喚醒我
- 住在較為潮濕的一樓的我,再也不想讓家具跟衣服發霉了
- 身為數據控的我,想能掌握各個空間、電器的用電狀況
那我們 Let’s Go 吧。
方案選擇:Home Assistant
喜歡自己折騰研究,且不希望家中生態系被某個廠牌綁架,那現下最務實的方案就是 Home Assistant 了(下稱 HA)。
HA 的社群相對完整,各路大神出了很多配套的第三方神器支援辦法,讓許多不同廠家、分崩離析的設備們可以集中在一處管理,甚至導入到 Apple Home 之中。
而且兄弟們,開源就是香啊。如果家中有閒置的電腦,智能家居中樞可以無痛給他組起來,豈不美哉。
挖出你塵封的舊電腦
我們這系列操作只要你有 X86-64 架構的電腦,基本上都可以照著搞。所以如果有閒置 PC 或筆電,只要硬體性能比樹莓派 3B 更好,那大致上就沒問題了。
下圖由左至右分別是樹莓派 4、惠普 T520 Flexable、Acer Switch 10 的 CPU,其中後兩者是我手上有的設備。可以看出來,每顆都弱得可以(?)。而我選用了 T520 來跑這次的智能家居,實測可行,大家不要怕。
安裝方式:HA OS
HA 官方提供多種架設方式,但其中最推薦的是 HA OS。
那你問,能不能開一個虛擬機出來跑 HA OS 呢?
確實可以,官方其實也有提供這個做法。好處是,你的主力機不管是 Linux、MacOS、Windows 都可以開來跑。但壞處很明顯——你就不能關機了。主力機如果是筆電也不能帶出門,畢竟人家現在兼職當家居伺服器。
那能不能用剛剛提到的閒置機,底層裝 Linux,另外開虛擬機跑 HA OS?
如果你的設備夠好的話沒問題,但經我實測在惠普 T520 Flexable、Acer Switch 10 身上的經驗是,很容易掛掉,連安裝過程都要兩三次才會成功。否則我本來也想說剩餘的算力可以騰出來幹別的活,但可惜不夠用咯。
那我們就開始安裝吧!這部分在官方那邊有提供教程,路線是這個:
我們這邊一起來順一下安裝的邏輯。
HA OS 安裝流程
- 伺服器進 BIOS,調整開機順序給 USB,準備好灌 Ubuntu 進去。沒錯,我們要先灌 Ubuntu 進去。
- 為了灌 Ubuntu,我們要製作好開機隨身碟,這部分請關鍵字「Ubuntu 開機隨身碟」。我遇到的問題是,Ubuntu 很多載點都有夠慢,這裡提供一個日本的鏡像給各位。
- 使用開機隨身碟來開伺服器,讓他跑 Ubuntu 的引導程序,一路把 Ubuntu 裝好。但重點是,遇到問你要「Try Ubuntu」或是「Install Ubuntu」的問題時,我們選擇「Try」的那個!很重要,否則 Ubuntu 就會直接被裝到伺服器身上,等等就無法用 HA OS 取代掉。
- 接著在 Ubuntu 內訪問這個載點,把 HA OS 的 img 檔案下載下來。
- 接著用 Ubuntu 內建的應用程式「Disk」,將伺服器的主要儲存空間「Restore Disk Image」成剛剛下載的 img 檔案。
- 這裡你可能會報「Busy」相關的錯誤。兩個可能,要嘛你剛剛沒選到「Try」;要嘛跟我一樣不知道發生什麼事,但反正我是把儲存空間格式化掉(反正等等都會變成 HA OS),就可以順利繼續了。
- 關掉 Ubuntu。
- 拔掉開機隨身碟。
- 開機。就會進入 HA OS 了(但要插著實體網路線,因為 OS 本身不完整,部分內容依舊要連線取得)。
正式開啟 HA
接著我們就可以透過內網(連同一個網路的其他裝置)訪問 http://homeassistant.local:8123/ ,照著引導走基本設定即可。
設定完畢,你應該就會看到跟我一樣的畫面咯:
我們下篇見 :)