No Code AI(肉寇)AI自動化兩日精通|實體6小時+線上6小時
|

類樹莓派的低價選擇—Orange Pi One 的安裝與設定

   

作者:曾成訓(CH.Tseng)

Orange Pi(中文譯為香橙派),由位於中國深圳的迅龍軟件所研發,算是目前眾多的類樹莓派開發板中較知名的廠牌之一,不過不像樹莓派僅有數種型號可選, Orange Pi 洋洋灑灑擁有超過二十種不同的型號版本(截至今日網頁上目前有有 23 種):

Orange Pi Zero LTS、Orange Pi 3、Orange Pi AI Stick、Orange Pi 3g-iot-B、Orange Pi 3g-iot-A、Orange Pi 4G-IOT、Orange Pi RK3399、Orange Pi R1、Orange Pi Zoro Plus、Orange Pi I96、Orange Pi Prime、Orange Pi Win Plus、Orange Pi 2G-IOT、Orange Pi Zero Plus2、Orange Pi Plus 2E、Orange Pi PC Plus、Orange Pi PC2、Orange Pi PC、Orange Pi Lite 2、Orange Pi Lite、Orange Pi One Plus、Orange Pi One、Orange Pi Zero

請參考下方圖表,不同的型號之間有些微的硬體功能差異,在採購前必須要斟酌考量:

(圖片來源:Orange Pi Models

Orange Pi One

Orange Pi One開箱了!

今天主要針對 Orange Pi One 的安裝與設定做介紹,它是一款僅具備 512 MB、RJ45 網路及 HDMI 輸出,無 WiFi、Bluetooth 等無線功能的開發板,其硬體規格如下:

(圖片來源:Orange Pi

(註:網路上有些心得評語指出 Orange Pi 的網路功能不是很穩定,我試用後發現的確有此現象,以 Orange Pi One 而言,使用 putty 透過 ssh 連上使用,感覺網路速度不是很穩,尤其在執行像 pip install、wget 或 git push 等指令時,經常有 hang 住無反應的現象,需重下 command 後才回復正常。)

OS 系統安裝

推薦使用 armbian(我在 Orange Pi 官方下載的反而無法開機使用),這是專為 ARM 系列的 CPU 所打造的 OS,進入 https://www.armbian.com 後,在 Download 頁面即可看到支援相當多的開發板,請選擇Orangepi。

(圖片來源:曾成訓提供)

Buster 是 Debian 的版本、Bionic 是 Ubuntu 的版本,請選擇一種下載。

(圖片來源:曾成訓提供)

下載後,將 image 檔燒錄到 SD 卡上,Orange Pi 便能透過該卡片開機了。

執行環境安裝

1. Swap 調整

(1) 目前的 swap size

pi@orangepione:~$ sudo swapon –show

NAME TYPE SIZE USED PRIO

/dev/zram1 partition 230.3M 15M 5

(2) 增加 swap space

pi@orangepione:~$ sudo fallocate /var/swap.file –length 8GB

pi@orangepione:~$ sudo chmod 0600 /var/swap.file

pi@orangepione:~$ sudo mkswap /var/swap.file

Setting up swapspace version 1, size = 7.5 GiB(7999995904 bytes)

no label, UUID=ba11a1f4-e9a8-4b0b-b976-9fc6a3eb5379

pi@orangepione:~$ sudo swapon /var/swap.file

(3) 檢視增加後的 swap size

pi@orangepione:~$ sudo swapon –show

NAME TYPE SIZE USED PRIO

/dev/zram1 partition 230.3M 14.8M 5

/var/swap.file file 7.5G 0B -2

2. 基本套件

Armbian 預設只有安裝 python 3,對於習慣使用 python 2 的網友來說可能不太方便,需要手動額外安裝(本文以 Python 3 示範)。

(1) mkdir works; mkdir envs

(2) 安裝 virtualenv:sudo apt-get install virtualenv

(3) 建立一個虛擬環境 AI

cd ~/envs/

virtualenv –p python3 AI

(4) 啟用 AI 環境(建議可將此行放在~/.bashrc):source envs/AI/bin/activate

(5) 安裝 numpy:pip install numpy

如果出現下方的 error,表示需要手動安裝下方的 package:sudo apt-get install python3-dev

(圖片來源:曾成訓提供)

(6) 安裝 Tensorflow

wget https://github.com/lhelontra/tensorflow-on-arm/releases/download/v1.14.0-buster/tensorflow-1.14.0-cp37-none-linux_armv7l.whl

pip install tensorflow-1.14.0-py3-none-any.whl

Tensorflow 安裝過程會頻繁出現 error,像是 pip install cython、pip install grpcio==1.20.1、pip install h5py、pip install tensorflow-1.14.0-cp37-none-linux_armv7l.whl 等,需要先依次排除並手動安裝有問題的 modules。

3. OpenVINO

(1) cd ~/

(2) wget https://download.01.org/opencv/2019/openvinotoolkit/R2/l_openvino_toolkit_runtime_raspbian_p_2019.2.242.tgz

(3) ln -s l_openvino_toolkit_runtime_raspbian_p_2019.2.242 openvino

(4) nano /home/pi/openvino/bin/setupvars.sh

(5) sudo apt-get install libgtk2.0-dev

(6) sudo apt install libgtk-3-0

(7) cd ~/envs/AI/lib/python3.7/site-packages/

ln -s /home/pi/openvino/python/python3/cv2.abi3.so

(8) nano ~/.bashrc

add 🡪

source ~/envs/AI/bin/activate

source ~/openvino/bin/setupvars.sh

sh ~/openvino/install_dependencies/install_NCS_udev_rules.sh

4. X Window

Armbian 預設只有文字模型並沒有圖形介面,如果需要安裝,可透過 sudo apt-get -y install xorg lightdm xfce4 tango-icon-theme gnome-icon-theme 安裝 Xfce 桌面系統。

安裝完成後重新開機,便會進入視窗模式如下:

(圖片來源:曾成訓提供)

5. YOLOV3-Tiny

如果單純透過 OpenCV DNN 模組執行我們於前文所訓練的 YOLOV3-Tiny model,執行速度約 0.3 FPS,亦即每個 frame 需要 3.3 秒的時間,而 相同的程式碼於樹莓派 3B 執行,則速度為 0.5 FPS。

(圖片來源:曾成訓提供)

但若使用 NCS2 硬體加速,Orange Pi One 的速度可提升六倍以上,達到 2 FPS,亦即每個 frame 僅需要 0.5 秒的時間,這個成績比起樹莓派 3B+ 的 1.9 FPS 相近,甚至還快一些。

(圖片來源:曾成訓提供)

6. SSD-MobilenetV2

直接透過 Tensorflow for python 執行手掌偵測 model,Orange Pi One 的 FPS 約 1.0,相同的程式碼執行於樹莓派 3B+,速度為 0.9 FPS,兩者的表現相當接近。

(圖片來源:曾成訓提供)

如果改使用 OpenCV 的 DNN 模組,Orange Pi One 的 FPS 約 0.9,而樹莓派 3B+ 的表現為 1.1 FPS。

(圖片來源:曾成訓提供)

透過 OpenVINO+NCS2 加速,Orange Pi One 的 FPS 可加快到 6.0 FPS,約提升近七倍的速度,至於樹莓派 3B+,速度提升為 5.3 FPS,約快了 3.8 倍。

(圖片來源:曾成訓提供)

綜合比較

(圖片來源:曾成訓提供)

使用心得

本文使用的程式及訓練好的 model 皆置於 https://github.com/ch-tseng/orangepi_palm

Orange Pi One 優點:

  1. 體積小
  2. 價格僅樹莓派 3B+ 的不到一半
  3. 執行效能相較於樹莓派 3B+ 差不多
  4. 與硬體加速的 NCS2 結合,效能明顯提升

Orange Pi One 缺點:

  1. 僅支援 Ethernet RJ45
  2. 從官網下載的 OS image 無法開機,需使用第三方的 armbian OS
  3. 透過 pip 安裝 Tensorflow 或 OpenCV 時會有相容問題,需手動安裝
  4. RJ45 網路功能不是很穩定
  5. 電源 input 為 110 V 的 1.7 mm 獨立的圓孔,使用上不比 Micro USB 線方便
  6. RAM 僅有 512 MB。

小結

如果想要找一款低價的類樹莓派開發板,OrangePi 是個好選擇,且值得一提的是,它與 NCS2 硬體加速搭配地很好,效能提升相當明顯。

(本文經作者同意轉載自 CH.TSENG 部落格、原文連結;責任編輯:賴佩萱)

曾 成訓

訂閱MakerPRO知識充電報

與40000位開發者一同掌握科技創新的技術資訊!

Author: 曾 成訓

人到中年就像沒對準的描圖紙,一點一點的錯開,我只能當個Maker來使它復位。

Share This Post On
468 ad

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *