奧推網

選單
科技

...全屋智慧 篇八:萬物基於N1盒子—OPENWRT系統下DOCKER安裝...

作者:casatift

大家好,我是你們的智慧家居領路人CT。最近因為眾所周知的原因,身在魔都的我已經“足不出戶”大約一月。每天的日子除了操心吃啥,陪娃玩之外,就是對家裡智慧家居的自動化進行微調,未來針對這一塊我大約會以影片+圖文的形式來向大家進行展示和介紹。而今天我要跟大家分享的內容則是比較基礎的,關於HA系統搭建的內容。起因是最近閒來無事,加了幾個智慧家居群(裝修群),其中有許多對智慧家居感興趣的朋友,但因為各個生態相對封閉,所以對於“小白”使用者來說,搭建智慧家居最簡單的方式就是選擇單平臺的產品,但是就目前的智慧家居而言,其實每個平臺都有自己的明星產品,例如Aqara的人在感測器,小燕的精衛調光碟機動,小米的iot電器裝置等等。如果要選擇單平臺,勢必就要做出取捨,而即使是小燕和Aqara都可以接入Homekit,作為原生Homekit全家桶,但是米家又拉跨了,所以我個人一般就會建議使用HA,即使對相對複雜的HA自動化有些發怵,也可以簡單的將米家裝置透過MIOT AUTO整合接進HA,然後透過HA的Homekit Bridge接入Homekit使用,形成簡單的單平臺(APP)使用,而之後假若有興趣,有精力,基於home assitant的智慧家居平臺,也有著無限的可玩性。

不過說起HA,很多人又會提出問題,HA該往哪裝?雖然站內有很多關於NAS上跑Docker裝HA的教程,不過對於很多人來說並不具有NAS條件,單獨為了HA花費幾千明顯也不夠經濟。而關於N1之類的電視盒子裝HA的教程也有一些,不過大多數都是基於ARMBIAN系統的,操作上對於新手來說也並沒有那麼友好。那麼有沒有一種安裝便捷,使用便捷的HA解決方案呢?答案就是——openwrt:

雖然openwrt就大多數人的理解是一個路由系統,但實際上官方對其的定義是一個針對嵌入式裝置的Linux作業系統,注意,這裡是一個Linux作業系統,並沒有限制其應用範圍。所以在linux上跑個docker,然後在docker上在執行個home assitant,完全就是順理成章的事,並且flippy大佬的openwrt韌體已經包含了docker應用並提供了圖形化介面。下面,就跟著我一步一步來看看怎麼吧openwrt刷進N1,以及部署home assitant。

這次我們需要的裝置主要有N1盒子一臺(或Amlogic晶片的盒子,只需韌體支援就行),優盤一個(N1比較挑優盤,沒刷過的話可以多準備幾個不同的),這裡需要注意的是,我這展示的N1已經經過降級刷機,如果是全新N1的話還需要自己手動降級刷機,我相信大家如果手上有N1的話這一步早就做過了,而如果因本文新購又擔心自己沒經驗搞不定的話,就可以直接購買刷好機的N1,刷的是啥系統都無所謂。

首先,我們前往flippy大佬的雲盤倉庫下載openwrt韌體(因外鏈限制,故還請大家自行搜尋):

這裡我們選擇S905D_Phicomm_N1的資料夾,進去之後我選擇了最新的71+O的板本進行下載:

當然,也有很多人會推薦比較老的穩定版,這都沒有關係,基本操作都是一樣的。下載完成,解壓之後,我們得到三個檔案,而我們真正用到的就是第一個img檔案:

然後我們下載Etcher燒錄軟體(https://www。balena。io/etcher/),將優盤插入電腦,然後選擇韌體,目標盤,進行刷寫:

等到出現Flash Complete!就可以拔下優盤,將優盤插入N1靠近HDMI口的那個USB口,然後上電,等待系統啟動:

啟動完成後無線網就能搜尋到Phicomm_n1的無線SSID,連結上(密碼openwrt)。或者也可以用網線與電腦連結,這時輸入閘道器IP,就能看到登入介面了(密碼password)

當然,就到這一步的話,我們的系統還是執行在優盤上,所以我們要把系統寫入盒子的emmc中,這裡我們就需要用到另一個工具putty(https://www。chiark。greenend。org。uk/~sgtatham/putty/latest。html),進行ssh連結了:

使用者名稱root,密碼password,進入之後執行以下兩條命令:

這裡就不復制了,大家辛苦手打下,網站老吞符號。之後就要選擇韌體型別:

我們這裡是N1,所以輸入11。

然後等跑完之後還需要設定檔案系統,這裡選擇預設的1,ext4就好。然後等待提示出現,我們拔了優盤,重新給盒子上電重啟即可。因為這裡我只介紹openwrt下的docker應用,所以對openwrt的設定就不展開說了,我這裡僅僅是把LAN口換成了DHCP客戶端接入網路,以便區域網內其他客戶端能夠訪問到:

之後我們就要設定dokcer了,因為N1原生emmc只有8G,所以如果跑docker應用的話可能會有儲存空間不足的風險,所以這裡,我們藉助優盤,將docker應用檔案放置在優盤上,這樣就能實現簡單的擴容了,不過這裡要注意的是,要想docker使用優盤上的空間,優盤必須格式化成ext4格式,這裡推薦使用windows下的諸如DiskGenius等工具將其先行格式化後,再插上盒子使用,這時候,盒子會自動掛載優盤:

同樣,也可以在openwrt上重新對其他磁碟格式的優盤進行格式化:

這裡可以直接用系統下的TTYD終端,先用umount /dev/sda1解除安裝優盤,然後使用mkfs。ext4 /dev/sda1命令將優盤格式化成ext4格式,不過要記得格式化完成後要手動插拔下磁碟,讓磁碟重新掛載,如若不行,就需要在系統-掛載點配置裡手動掛載下。掛載上之後我們只需要記錄下具體的掛載點目錄,例如我這裡是/mnt/sda1。然後我們開啟側邊欄的網路儲存-網路共享,對這個優盤設定SMB共享,方便之後我們對docker容器進行配置:

其中目錄就寫我們剛才記錄的那個掛載點。儲存應用之後,我們還需要再系統-啟動項裡重新啟動下samba服務:

之後我們就能在電腦的瀏覽器裡訪問到網路共享的優盤了:

然後我們在優盤上建立兩個資料夾,名字隨便取,我這邊取的是docker和dockerconfig,分別存放docker檔案和容器對映檔案。

然後我們就可以設定docker了,首先我們還是先使用TTYD終端對docker的deamon檔案進行修改:

...全屋智慧 篇八:萬物基於N1盒子—OPENWRT系統下DOCKER安裝...

命令:vim /etc/docker/deamon。json

...全屋智慧 篇八:萬物基於N1盒子—OPENWRT系統下DOCKER安裝...

將data-root項的目錄換成/dev/sda1/docker/,也就是剛才我們的掛載點上的新建目錄。然後回到web介面,將服務-docker-配置裡面的docker根目錄也改為一樣的地址:

...全屋智慧 篇八:萬物基於N1盒子—OPENWRT系統下DOCKER安裝...

之後選擇概覽,重啟docker,應該就能看到概覽上的docker目錄已經變成了我們指定的隨身碟資料夾。

...全屋智慧 篇八:萬物基於N1盒子—OPENWRT系統下DOCKER安裝...

這些配置完成後,我們就可以安裝homeassitant了,選擇DOCKER-容器,選擇新增:

...全屋智慧 篇八:萬物基於N1盒子—OPENWRT系統下DOCKER安裝...

容器名稱可以自己定,映象為homeassistant/home-assistant:stable,繫結掛載為/mnt/sda1/dockerconfig/homeassitant:/config,冒號前面的就是對映目錄,我是在dockerconfig下又建立了一個homeassitant的資料夾用於對映HA容器的配置。

...全屋智慧 篇八:萬物基於N1盒子—OPENWRT系統下DOCKER安裝...

然後開啟下方的高階選項,把執行緒數量改成0。000,記憶體為1g

...全屋智慧 篇八:萬物基於N1盒子—OPENWRT系統下DOCKER安裝...

之後提交:

...全屋智慧 篇八:萬物基於N1盒子—OPENWRT系統下DOCKER安裝...

等待映象的拉取,等全部下載解壓完成後,就能在容器介面看到homeassitant已經就緒:

...全屋智慧 篇八:萬物基於N1盒子—OPENWRT系統下DOCKER安裝...

我們勾選之後選擇啟動,等待一會,然後開啟瀏覽器,在openwrt的IP地址後加上:8123,就可以看到我們的HA已經準備就緒了:

...全屋智慧 篇八:萬物基於N1盒子—OPENWRT系統下DOCKER安裝...

然後大家就可以開始全新的HA之旅了。

利用N1盒子來安裝HA,即使是新購花費也僅100多元,較理財產品樹莓派來說無疑有著更高的價效比,並且N1其S905D的SOC效能本就不差。即使最後棄坑,損失也非常小,最後,祝大家玩的開心。