奧推網

選單
科技

跟CT一起玩轉全屋智慧 篇十二:不要200,不要100,只要50的魔百和CM...

作者:casatift

哈嘍,艾瑞巴蒂。我是你們的智慧家居領路人CT。在之前的文章中,我分別介紹過使用N1盒子和章魚星球刷入openwrt,利用docker部署home assitant智慧家居中樞系統,有興趣的大家可以複習下:

當時評論裡有不少人提及,為啥不用玩客雲刷,玩客雲只要40來塊。我當時的回覆是玩客雲刷機沒那麼方便,並且s805雖然是四核晶片,但是是32bit的,並且記憶體1G怎麼都有點捉襟見肘的樣子。而最近在刷機盒子界,又出現了一款炙手可熱的新“垃圾”——移動定製款盒子魔百和,其中CM311-1A YST版售價僅50-60元,配置為Amlogic S905L3 (S905X2馬甲版)4核Cortex-A53,主頻1。8G,採用了12nm程序製造,所以發熱量及功耗表現都非常優秀。下圖為三款盒子的SOC對比:

可以看到,魔百和CM311-1A對於N1的S905基本是吊打,而在部分專案甚至超過了8核的S912,不過略有不足的是Amlogic S905L3的網口只有百兆,這就決定了其在作為軟路由,旁路由時頻寬不夠,並且魔百和CM311-1A沒有WIFI,目前armbian藍芽驅動也尚在完善,所以其售價也長時間保持低位,當然,我這裡更推薦魔百和的另一個原因是,其儲存空間有較其他盒子兩倍的16GB,對於折騰Home assitanta來說可以說是非常適合的一個大小,因為諸如N1和章魚星球的8G通常在刷完系統之後只剩餘5G左右,HA用掉2G,NR用掉1G,其他雜七雜八的外掛安裝完成後,emmc通常也就剩個1-2G,如果正常使用的話問題不大,但是偶爾升級docker,如果操作順序不對,就很容易把磁碟寫滿,把docker給整崩潰了。所以在使用N1和章魚星球時,大家都推薦外接隨身碟使用,但是介於USB2。0的介面,在使用時能明顯體會到啟動,讀取的速度非常慢,直觀點說,使用內建emmc,我的HA docker啟動速度大約是15秒,而優盤就需要2-3分鐘甚至更長。好了,閒話不說,我們下面就來看看魔百和CM311-1A的Armbian刷機實戰。

刷入安卓韌體

市面上能買到的魔百和大都是從運營商那當垃圾收回來的,所以一般也都不是全新。

不過成色一般都能衝新,如果買單機不含配件的話還能再便宜10塊錢(我的購買價是51+運費),但是需要提醒的是,卡刷需要遙控器。我這次買了2臺,包裝格局都是不一樣的,不過型號都是CM311-1A YS(S)的,因為魔百和的型號,代工廠數量很多,所以這裡的卡刷教程也僅針對這款CM311-1A YS(S),其他類似型號(主型號CM311-1A相同,字尾YS(S)不同)能不能刷成得看緣分了。

除了盒子之外,我們還需要準備一個優盤,不要大,但是要老,最好是USB2。0的,這點切記,如果一個優盤刷不過,就換一個再刷,這坑說起來都是淚:

然後我們就可以準備我們的刷機包了:

將優盤格式化,然後開啟刷機包其中預設開啟adb的安卓韌體,將裡面的三個韌體全部複製至優盤:

然後將優盤插在魔百和的優盤口上(兩個都可以),盒子連線好HDMI,遙控器電池裝好。然後開機,同時不停的對著魔百和的紅外接收窗按遙控器左鍵,這時應該觀察到盒子的LED燈也會隨著按鍵的按動閃動,一直按:

直到顯示器(電視)出現畫面並進入系統升級介面:

然後迅速的關閉盒子電源並立即再次開啟電源,魔百和會自動再次進入更新模式,不過這個時候介面會有所不同:

靜待刷機結束後盒子自動重啟進入新刷的安卓介面:

如果你就像把魔百和當做電視盒子使用的話,這時你就可以透過系統自帶的當貝市場來安裝各類APP使用了。

寫入Armbian韌體

我們首先從/ophub/amlogic-s9xxx-armbian/releases大佬的倉庫下載最新版的S905l3韌體,因為韌體release會自動編譯最新版,所以後面的版本號和日期戳可能不同,如果不介意較舊版本也可以使用打包檔案內的版本。

然後使用balenaEtcher將其直接寫入優盤待用:

然後解壓刷機包內的開心電視助手(其實道理上使用adb工具的adb shell reboot update命令也能實現同樣功能,不過不知道為何我一直失敗,大家可以自行嘗試),連線盒子,然後選擇除錯工具裡的從隨身碟/SD卡啟:

按下的同時將隨身碟插入盒子的USB口,這時盒子就會自動從優盤啟動Armbian系統。下面我們就要用到putty了:

在路由器內找到盒子的IP地址,然後SSH連線上,使用root賬戶以及預設密碼1234登入,登入之後會要求設定新的root密碼和command shell,這裡依照我的習慣選了bash,然後建立新使用者,設定時區位置等,等全部結束,就可以在優盤上暢快的使用Armbian系統了,不過我們的初衷是為了體驗emmc的快感才選的魔百和,所以自然要進行下一步,將Armbian系統寫入emmcundefined這裡使用的命令是armbian-install:

這裡首先要選盒子型號,這裡一定要看仔細,選擇CM311A-YST版本,因為不同版本的ARMBIAN韌體序號會有微調,在這一版本為305,然後選擇檔案格式,我這裡用的BTRFS,你也可以使用傳統的ext4。然後就靜待檔案寫入成功,提示你拔除隨身碟後重啟。這裡提醒一下,刷入emmc之後盒子的ip地址會變。

安裝Samba

我們繼續使用putty遠端連線上盒子,先在系統裡面建立一個共享資料夾,我這裡是在/home目錄下直接建立了一個share資料夾,因為區域網使用,直接簡單粗暴的把其許可權寫到最高:

這裡的兩條命令是:

mkdir /home/share

chmod 777 /home/share

然後我們就可以安裝samba服務了,首先還是先update和upgrade一把,遇到詢問選Y就是:

apt-get update&&apt-get upgrade

接著安裝samba服務:

apt install samba

然後為samba新增使用者名稱,我這裡用的是share

smbpasswd -a share

會提示你輸入密碼,之後建立新使用者成功之後我們編輯/etc/samba/smb。conf檔案,內容如下:

ctrlX儲存退出後執行重啟samba服務的命令:

service smbd restart

這時你透過區域網使用剛才建立的使用者名稱密碼應該就能訪問和修改魔百和上/home/share資料夾的內容了:

安裝docker及portainer

docker的安裝非常方便,就一句命令:

apt install docker。io

安裝完成後就可以使用了,不過相信如果你能看到這,應該是對命令列不太感冒的人,所以我們這裡可以安裝一個視覺化的docker管理工具——portainer:

首先我們執行命令:

docker pull portainer/portainer-ce:latest

拉取最新的portainer-ce映象,然後執行以下命令建立容器:

docker run -d -p 8000:8000 -p 9443:9443 ——name portainer ——restart=always -v /var/run/docker。sock:/var/run/docker。sock -v /home/share/dockerconfig/portainer_data:/data portainer/portainer-ce:latest

其中對映的資料夾下/dockerconfig/portainer_data,建立成功之後開啟瀏覽器,使用https://魔百盒IP地址:9443就能直接進入portainer的圖形介面了:

首次使用會要求建立新使用者,密碼要求12位以上,之後選擇本地的docker環境,進去之後就能看到目前已有一個映象,一個容器,也就是我們的portainer容器本身。

使用portainer安裝home assitant core

雖然portainer的使用非常簡單,但既然說了是保姆級教程,那麼再簡單也不能漏,這裡我就以home assitant core為例,來教大家如何使用portainer執行容器:

首先側邊欄選取Containers,然後右側選擇+ Add Container進入新增容器介面:

跟CT一起玩轉全屋智慧 篇十二:不要200,不要100,只要50的魔百和CM...

這裡我們只要填上容器名稱,映象名稱,勾選Always pull the image就行。然後在最下方的Advanced container settings點選Volumes設定卷:

跟CT一起玩轉全屋智慧 篇十二:不要200,不要100,只要50的魔百和CM...

這裡就是設定對映資料夾也就是docker命令中的-v部分,記得一定要選Bind,然後上方填容器內目錄,下面填主機對應的資料夾。然後是Network,這裡根據需要選擇的是host:

跟CT一起玩轉全屋智慧 篇十二:不要200,不要100,只要50的魔百和CM...

然後Env也就是命令中的-e,我們這裡只設置了時區:

跟CT一起玩轉全屋智慧 篇十二:不要200,不要100,只要50的魔百和CM...

接著一般還需要設定的是Restart policy重啟策略:

跟CT一起玩轉全屋智慧 篇十二:不要200,不要100,只要50的魔百和CM...

這裡選擇always,也會有映象要求用unless stopped的,兩者的共同點是如果非手動停止容器,容器會無限嘗試重啟退出的容器,但是在手動停止容器之後,unless stopped的容器會永遠停止除非再次手動開啟,而always的容器在下次docker daemon重啟之後就會再次啟動。

之後我們就能按下Deploy the container按鈕啟動容器了:

跟CT一起玩轉全屋智慧 篇十二:不要200,不要100,只要50的魔百和CM...

然後我們開啟瀏覽器輸入IP+8123埠號就能訪問我們新建的Home Assitant了。

跟CT一起玩轉全屋智慧 篇十二:不要200,不要100,只要50的魔百和CM...

照葫蘆畫瓢,大家可以非常輕鬆的裝上mqtt,zigbee2mqtt,nodered等其他容器。

最後,祝大家玩的開心。