Google Coral TPU Edge系列分成開發板與USB加速棒兩種版本。本文將說明如何讓Coral開發板開機以及執行預設的範例。我是跟著原廠文件使用我的 mac 電腦來操作,後續會說明如何使用 micro SD卡來開機。
我先說明到目前為止覺得與 Raspberry Pi / NVIDIA Jetson Nano的不同之處
- 原廠文件未說明如何使用SD卡開機(但網路上有教學),需與 host 電腦連線之後刷機後開機
- 原廠文件都是以 Mac / Linux 系統來說明如何讓板子開機,Windows做法還要再整理
- SSH預設不開啟,且必須push一個 google key到板子上才能SSH連入。本文做法是將板子用USB線接上電腦後使用 screen 程式連入。
開發板介紹
Coral Dev Board 是一片包含Edge TPU處理器的單板電腦,適合用來開發可直接在裝置上進行推論的機器學習專案。該有的通訊介面也都有,Jetson nano 相較之下只有有線網路(對,沒有藍牙也沒有 Wi-Fi…)
板子的外觀與配置上與 Raspberry Pi 相當類似,關於各接頭說明請參考data sheet。
前置作業
請注意!在說明”請接電源“之前都不要接電 (USB type C port),要準備的東西真不少…
- Linux 或 Mac 電腦 (後續稱為 host 電腦)
- USB-A – USB-microB傳輸線 (連接PC – 板子的序列埠)
- USB-A – USB-C cable (連接PC – 板子的資料埠)
- 5V / 3A USB Type-C 電源供應器 (手機充電器 OK)
- 網路線或 Wi-Fi連線 (需要輸入帳號密碼)
- 序列通訊軟體,例如screen、picocom 或PuTTY。我也是在 Mac 上使用 screen 來連線。
- 最新版的 fastboot。這是包含在 Android SDK Platform-tools中的工具程式。請下載Android SDK Platform-tools,下載解壓縮會看到很多檔案,但我們只要 fastboot 就好。把 fastboot 放到 ~/.local/bin,並檢查版本。我的是 29,原廠文件要求要 28.0.2 以上。
- Mendel Development Tool (MDT).
MDT 是一組 command line tool,用來與 Mendel 裝置(Coral) 來互動。例如,MDT 可以列出已與電腦連線的裝置、安裝 Debian Linux 套件、對裝置開啟shell 還有 push key (後續SSH連線設定時會介紹)等等。請用以下指令來安裝MDT:如果在 terminal 中輸入 mdt 指令出現錯誤的話,請檢查是否已將 mdt 路徑寫入到 PATH 系統變數中。Windows:\Users\yourname\AppData\Roaming\Python\Python36\Scripts;Mac:/Users/yourname/Library/Python/3.7/bin/;Linux:~/.local/bin/
刷機開機
Coral 板子出場時未包含系統映像檔,只有一個 U-Boot bootloader。 開始刷機之前請先確認:
- 板子完全不接電,也不連線到電腦
- 板子已設定為 eMMC mode,如下圖中的指撥開關由左到右分別為 (上下下下)
請根據以下步驟來操作,在此只列出Mac,使用Linux的朋友請參考原廠文件:
- 安裝 Mac 版的 CP210x USB to UART Bridge Virtual COM Port (VCP) driver
- 連接序列埠(還不要接電源)
- 使用 micro USB 傳輸線連接 host 電腦與開發板的序列埠 (只有一個 micro USB 所以不會接錯)。板子上的橘色與綠色LED燈會亮起。
- 於 host 電腦開啟 terminal,並輸入以下指令來確認連線
- 這時畫面應該會完全空白。別擔心,因為板子還沒接電。如果看到 [screen is terminating],代表連線有點小問題。這時把 micro USB線拔除後重新接上,再次輸入 4. 的指令應該就可以了。
- 開機!請把 5V / 3A USB type C 接上板子 (靠近音源接頭),接頭上有標記 “PWR“。板子上紅色LED會亮起,風扇會開始轉動。
- 啟動 fastboot。在terminal中輸入以下指令,會直接換行並等候 host 電腦來寫入系統映像檔。
- 透過資料埠與 fastboot連線。只剩下最後一個 USB type-C接頭(標示為 “OTG“),請再用一條傳輸線連接 host 電腦與板子的這個埠。
- 在 host computer 開一個新的 terminal (原本的screen terminal不要關掉),並輸入以下指令:
- 會看到類似 [1b0741d6f0609912 fastboot] 的訊息代表 fastboot 有抓到裝置了。
- 下載系統映像檔並寫入板子。在與上一步Froterminal中輸入以下指令
- 刷機過程約4~5分鐘,會看到很多訊息不斷出來
登入
呼… 經過一番折騰,請用預設帳號密碼(mendel / mendel)登入,登入後畫面如下:
輸入 df -h
來看看還有多少空間
連上網路並更新相關軟體
要連上網路才能更新軟體或下載範例,這一定要完成喔。網路線或Wi-Fi 都可以,請在板子的 terminal 輸入以下指令:
選擇 Activate a connection 並在 Wi-Fi (wlan0) 選項下選擇一個網路來連線。或輸入以下指令來直接建立連線:
檢查連線有沒有成功
可以看到板子已經順利連上 cavedu 這個無線網路,如下圖:
透過MDT連上板子
現在板子上已經有 Mendel 系統了,micro USB線可以拔掉。這時要用 MDT 開啟一個 shell 來透過 USB-C 線來與板子溝通。使用 MDT 很方便就能產生 OpenSSH 公私金鑰組,我們需要把公鑰 push 到板子上才能建立 SSH連線 (真麻煩…)
設定SSH來透過WIFI連入
Coral 開發板必須由 host 電腦給一個 openSSH 金鑰才能進行SSH連線,請在 mdt shell 中輸入以下指令。詳細 MDT指令請點我。
執行範例程式
輸入以下指令來跑範例程式,會開啟一個網頁來進行物件辨識 (MobileNet SSD)。
從 host 電腦端,用網路瀏覽器輸入 192.168.100.2:4664 就能看到以下畫面,太棒啦!
ㄒ