ASUS Tinker Board 2 / 2S 推出至今,搭配Debian操作系統(tǒng)操作的版本也從先前介紹的2.0.0版更新到了2.0.3版,這次華碩IoT團(tuán)隊更新了Debian操作系統(tǒng)的內(nèi)容,這次更新的內(nèi)容強(qiáng)化了通訊的功能、周邊接口存取的功能,相關(guān)的更新內(nèi)容請參考下表:
https://tinker-board.asus.com/download-list.html?product=tinker-board-2s
1. Fix OV5647 mirror issue
2. Fix ufw and iptables not working inDebian 10
3. xfce4-power-manager: set blank after to“never”
4. Add auto_ums config in config.txt
5. Add modem manager
6. Add ASUS.GPIO library for Python 3
7. Support Quectel EM06-E LTE module
8. Support USB to Serial Chip CH934X
9. Support WinChipHead CH340/CH341
10. Add support for ASUS API
11. Enable CONFIG_TUN kernel config
12. Power Manager add support for GPU configuration
13. Fix Debian apt-get repo issue
14. Fix UART0 RTS not working
本文將主要說明各種常用的Python相依套件程序安裝流程,也透過本篇的內(nèi)容強(qiáng)化即將使用Tinker Board 2S進(jìn)行各種項目開發(fā)的朋友,有更多可以參考的文件,這些Python相依套件基本上都已經(jīng)過各種范例的實測,在目前最新發(fā)表的Debian-10 2.0.3版操作系統(tǒng)都是可以正常操作。
本次的安裝介紹主要是針對新版核心(Debian-10 2.0.3版)進(jìn)行安裝,相關(guān)安裝流程與較舊版本核心的安裝流程略有差異,若是新版核心建議還是按照本篇教學(xué)進(jìn)行安裝,以確保相關(guān)的套件流程都可以正確安裝與執(zhí)行。
本文將會針對以下這些AI應(yīng)用程序設(shè)計中常用的套件程序安裝進(jìn)行說明:
1. nano (用于簡易文本編輯器操作)
2. OpenCV 4.5.0 (用于相關(guān)視覺影像的接口操作)
3. imutils (用于視覺圖像處理的接口操作)
4. pillow (用于視覺圖像處理的接口操作)
5. tkinter (用于圖形用戶界面 GUI 程序設(shè)計)
6. Tensorflow 2.4.1 與Tensorflow-Lite Runtime 2.5.0 (用于神經(jīng)網(wǎng)絡(luò)運算)
7. SciKit-Learn (用于神經(jīng)網(wǎng)絡(luò)運算)
8. mediapipe(用于各種人體肢體或表情變化偵測操作)
9. pygame(用于各種多媒體游戲或媒體撥放功能操作)
10. AudioPlayer、Playsound(用于撥放mp3或wav音訊檔案)
11. I2C接口與PCA9685電路驅(qū)動(用于周邊電路的控制)
一、安裝簡易文本編輯器nano
由于在許多的終端機(jī)操作環(huán)境下需要快速編修文件,采用精巧且功能完整的 nano 文本編輯器,一直是許多系統(tǒng)操作者的最愛之一,以下說明安裝流程:
sudoapt-get update
sudoapt-get upgrade
sudoapt-get install nano
二、安裝GTK-2.0相依套件libgtk2.0-dev
本次安裝測試的過程當(dāng)中,在安裝OpenCV 4.5.0套件程序時,發(fā)生了相依套件斷裂的問題,在Tinker Board 2S的Debian 10 Linux系統(tǒng)中因為沒有安裝GTK-2.0 的libgtk2.0-dev套件程序,這將導(dǎo)致在OpenCV4.5.0因cmake無法將 libgtk2.0-dev相依套件進(jìn)行編譯設(shè)定,雖然在后續(xù)的make流程都能完成,但最后會在最后Python程序運行時間無法正確使用如imshow、putText等畫面顯示或繪圖的函數(shù),并且會在運行時間報錯,并且提示需要重新進(jìn)行cmake。
為了將libgtk2.0-dev相依套件程序安裝至系統(tǒng),筆者初期使用sudo apt-get install libgtk2.0-dev這種方式安裝相依套件程序,但系統(tǒng)卻又報錯,表示還有許多其他相關(guān)相依套件有「相依斷裂」的問題,筆者嘗試再以sudo apt-get install去安裝那些相依套件程序,卻依然發(fā)現(xiàn)更多的「相依斷裂」,更糟糕的是還發(fā)生「循環(huán)相依」,所謂「循環(huán)相依」表示其他的相依套件程序又循環(huán)相依libgtk2.0-dev。
為了解決這種「相依斷裂」與「循環(huán)相依」的問題,最后只能透過額外安裝「套件安裝設(shè)定程序」的方式來解決,本文將透過 aptitude 套件程序來解決這個問題。
透過「aptitude」套件程序便可以進(jìn)行l(wèi)ibgtk2.0-dev套件程序安裝,以下說明安裝流程:
sudo apt-get install aptitude
sudo aptitude install libgtk2.0-dev
三、安裝OpenCV 4.5.0套件
本文使用 OpenCV 4.5.0 來進(jìn)行視覺影像接口處理,筆者曾嘗試以 sudo apt-get install python-opencv 來安裝。但經(jīng)過檢查發(fā)現(xiàn),以這種方式安裝的OpenCV版本是3.6版,雖然簡單Python程序函式還是可以執(zhí)行,可是當(dāng)遇到更進(jìn)階的函式如DNN等相關(guān)進(jìn)階應(yīng)用時,便會產(chǎn)生函數(shù)缺漏的問題,有鑒于此,筆者選擇重新以Build from Source的方式進(jìn)行安裝。
在這里要特別強(qiáng)調(diào)一個重要關(guān)鍵,在安裝OpenCV 4.5.0套件程序之前,「一定要」先裝好上一步的GTK-2.0相依套件 libgtk2.0-dev,切莫跳過這個重要步驟。
由于OpenCV 4.5.0的安裝過程需要大量的內(nèi)存運作空間以進(jìn)行后續(xù)的make流程,因此必須先行安裝虛擬內(nèi)存的套件程序,并且將虛擬內(nèi)存設(shè)為10240MB,并且將Tinker Board 2S重新啟動,以下說明虛擬內(nèi)存設(shè)定流程:
sudo apt-getupdate
sudoapt-get upgrade
#安裝dphys-swapfile套件程序
sudoapt-get install dphys-swapfile
#以nano編輯 /etc/dphys-swapfile配置文件案
sudonano /etc/dphys-swapfile
#尋找#CONF_SWAPSIZE= 字符串內(nèi)容,并且將批注符號# 取消。
#設(shè)定CONF_SWAPSIZE=10240
#離開nano文本編輯器
sudoreboot #重新啟動
下載并編譯安裝OpenCV 4.5.0,請注意,這個階段的安裝時間非常久,筆者大約安裝了近4小時,且在make階段時Tinker Board 2S的散熱片會產(chǎn)生高溫。筆者使用 make -j4 等多核心編譯指令來以加快make流程。另外在編譯過程務(wù)必確保電源穩(wěn)定,最好拿電風(fēng)扇幫忙散熱,以確保編譯過程順利完成。以下說明OpenCV 4.5.0的安裝流程:
sudoapt-get update
sudoapt-get upgrade
sudoapt-get install cmake git libgtk2.0-dev pkg-config libavcodec-devlibavformat-dev libswscale-dev
sudoapt-get install libjpeg-dev libpng-dev
sudoapt-get install libavcodec-dev libavformat-dev libswscale-dev
sudoapt-get install libgtk2.0-dev libcanberra-gtk* libgtk-3-dev
sudoapt-get install python3-dev python3-numpy python3-pip
sudoapt-get install libtbb2 libtbb-dev libdc1394-22-dev
sudoapt-get install libv4l-dev v4l-utils
sudoapt-get install libopenblas-dev libatlas-base-dev libblas-de
sudoapt-get install liblapack-dev gfortran libhdf5-dev
sudoapt-get install libprotobuf-dev libgoogle-glog-dev libgflags-dev
sudoapt-get install protobuf-compiler
sudoapt-get install qt5-default
wget -Oopencv.zip https://github.com/opencv/opencv/archive/4.5.0.zip
wget -Oopencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.0.zip
unzipopencv.zip
unzipopencv_contrib.zip
mvopencv-4.5.0 opencv
mvopencv_contrib-4.5.0 opencv_contrib
更新并取得 openCV
cd~/opencv
mkdirbuild
cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local
-DOPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules
-DENABLE_NEON=ON
-DWITH_OPENMP=ON
-DBUILD_TIFF=ON
-DWITH_FFMPEG=ON
-DWITH_TBB=ON
-DBUILD_TBB=ON
-DBUILD_TESTS=OFF
-DWITH_EIGEN=OFF
-DWITH_GSTREAMER=OFF
-DWITH_V4L=ON
-DWITH_LIBV4L=ON
-DWITH_VTK=OFF
-DWITH_QT=ON
-DOPENCV_ENABLE_NONFREE=ON
-DINSTALL_C_EXAMPLES=OFF
-DINSTALL_PYTHON_EXAMPLES=OFF
-DBUILD_NEW_PYTHON_SUPPORT=ON
-DBUILD_opencv_python3=TRUE
-DOPENCV_GENERATE_PKGCONFIG=ON
-DBUILD_EXAMPLES=OFF
-DWITH_GTK=ON ..
make -j4
sudomake install
sudoldconfig
makeclean
buildand make
接著要透過 .bashrc 設(shè)定OpenCV 4.5.0路徑,安裝完成OpenCV 4.5.0之后,必須要設(shè)定相關(guān)執(zhí)行路徑,若跳過這個步驟,會導(dǎo)致Python程序在 import cv2 時產(chǎn)生allocation memory 報錯,以下說明 .bashrc 路徑設(shè)定方式:
cd ~
#以nano文本編輯器編輯 .bashrc配置文件
sudonano ~/.bashrc
#到文件末端將以下敘述補(bǔ)在最后一行
exportLD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1
#執(zhí)行 .bashrc 內(nèi)容
source~/.bashrc
四、安裝其他視覺圖像處理與圖形用戶界面套件程序
本段要安裝多個乘用的圖像處理與 GUI 套件
#安裝pillow套件程序
cd ~
sudoapt-get update
sudoapt-get upgrade
pip3install setuptools
pip3install pillow
#安裝tkinter套件程序
cd ~
sudoapt-get update
sudoapt-get upgrade
sudoapt-get install python3-tk
sudoapt-get install python3-pil.imagetk
#安裝imutils套件程序
cd ~
sudoapt-get update
sudoapt-get upgrade
pip3install imutils
五、安裝Tensorflow 2.4.1 神經(jīng)網(wǎng)絡(luò)運算套件程序
Tinker Board 2S 具有強(qiáng)大的CPU與GPU運算效能,可進(jìn)行神經(jīng)網(wǎng)絡(luò)運算,搭配OpenCV可以進(jìn)行各種AI影像辨識的應(yīng)用,依照Tinker Board 2S的各種硬件規(guī)格,筆者認(rèn)為神經(jīng)網(wǎng)絡(luò)的框架可采用Tensorflow 2.4.1來進(jìn)行神經(jīng)網(wǎng)絡(luò)的推論(Inference)運算,以下說明套件程序安裝流程:
#更新操作系統(tǒng)套件信息
sudoapt-get update
sudoapt-get upgrade
#更新安裝pip3套件程序
sudoapt-get install python-pip python3-pip
#移除舊版Tensoflow套件程序
sudo pipuninstall tensorflow
sudopip3 uninstall tensorflow
#安裝各種系統(tǒng)相依套件程序
sudoapt-get install gfortran
sudoapt-get install libhdf5-dev libc-ares-dev libeigen3-dev
sudoapt-get install libatlas-base-dev libopenblas-dev libblas-dev
sudoapt-get install liblapack-dev
#安裝各種Python3各種套件程序
sudo -Hpip3 install --upgrade setuptools
sudo -Hpip3 install pybind11
sudo -Hpip3 install wrapt
sudo -Hpip3 install termcolor
sudo -Hpip3 install Cython==0.29.21
sudo -Hpip3 install h5py==2.10.0
更新系統(tǒng)套件
#安裝下載工具
pip3install gdown
sudo cp~/.local/bin/gdown /usr/local/bin/gdown
#下載Tensorflow2.4.1套件程序安裝文件
gdownhttps://drive.google.com/uc?id=1WDG8Rbi0ph0sQ6TtD3ZGJdIN_WAnugLO
#安裝Tensorflow2.4.1套件程序
sudo -Hpip3 install tensorflow-2.4.1-cp37-cp37m-linux_aarch64.whl
安裝 tensorflow
六、安裝Tensorflow-Lite Runtime 2.5.0 套件程序
對于Tinker Board 2S / 2GB而言,由于受限于主存儲器僅有2GB的緣故,因此對于神經(jīng)網(wǎng)絡(luò)進(jìn)行推論運算時所需使用的主存儲器容量,就必須要謹(jǐn)慎運用這有限的容量,若需要在神經(jīng)網(wǎng)絡(luò)推論時有較高的運算效能,往往就必須要選擇神經(jīng)網(wǎng)絡(luò)模型規(guī)模較小的模型格式,在Tensorflow族系里有種Tensorflow-Lite格式就是一種模型規(guī)模較小的格式,在Tensorflow的原廠網(wǎng)站里也特別將Tensorflow-Lite格式定義適用于物聯(lián)網(wǎng)應(yīng)用場域。
以下說明套件程序安裝的方式
cd ~
sudoapt-get update
sudoapt-get upgrade
pip3installhttps://github.com/google-coral/pycoral/releases/download/v2.0.0/tflite_runtime-2.5.0.post1-cp37-cp37m-linux_aarch64.whl
更新系統(tǒng)與安裝 tf runtime
使用 tfruntime 執(zhí)行視覺分類
七、安裝其他支持神經(jīng)運算的套件程序SciKit-Learn
cd ~
sudoapt-get update
sudoapt-get upgrade
sudopip3 install sklearn
八、安裝mediapipe Python相依套件
Google mediapipe 是一款非常熱門的 ML 套件,把各種視覺辨識變得更簡單好用
sudo aptupdate
sudo aptinstall -y python3-dev protobuf-compiler python3-pip git make libssl-dev
sudopip3 install pip --upgrade
sudopip3 install opencv_contrib_python
gitclone https://github.com/PINTO0309/mediapipe-bin && cd mediapipe-bin
./v0.8.4/numpy120x/mediapipe-0.8-cp37-none-linux_aarch64_numpy120x_download.sh
sudopip3 install
cmake-3.20.2-cp37-none-linux_aarch64.whl
numpy-1.20.3-cp37-none-linux_aarch64.whl
mediapipe-0.8-cp37-none-linux_aarch64.whl
sudopip3 install opencv-python dataclasses
安裝 mediapipe 與相關(guān)套件
mediapipe – facemesh
mediapipe – hand
九、安裝pygame套件
https://www.pygame.org/news
sudoaptitude install libsdl-image1.2-dev
wgethttps://files.pythonhosted.org/packages/0f/9c/78626be04e193c0624842090fe5555b3805c050dfaa81c8094d6441db2be/pygame-1.9.6.tar.gz
sudoapt-get install python-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-devlibsdl1.2-dev libsmpeg-dev python-numpy subversion libportmidi-dev ffmpeglibswscale-dev libavformat-dev libavcodec-dev
sudoapt-get install libfreetype6-dev
pip3install pygame-1.9.6.tar.gz
十、安裝AudioPlayer套件
https://pypi.org/project/audioplayer/
sudoapt-get install python-gst-1.0
sudoapt-get install gir1.2-gstreamer-1.0
sudoapt-get install gstreamer1.0-tools
sudoapt-get install gir1.2-gst-plugins-base-1.0
sudoapt-get install gstreamer1.0-plugins-good
sudoapt-get install gstreamer1.0-plugins-ugly
pip3install audioplayer
pip3install playsound==1.2.2
十一、安裝Playsound套件
https://pypi.org/project/playsound/
sudoapt-get install python-gst-1.0
sudoapt-get install gir1.2-gstreamer-1.0
sudoapt-get install gstreamer1.0-tools
sudoapt-get install gir1.2-gst-plugins-base-1.0
sudoapt-get install gstreamer1.0-plugins-good
sudoapt-get install gstreamer1.0-plugins-ugly
pip3install playsound==1.2.2
十二、安裝I2C接口與PCA9685電路驅(qū)動套件程序
在操作I2C接口驅(qū)動套件程序安裝之前,必須先至 tinker-config 系統(tǒng)管理工具啟用 I2C 接口服務(wù),之后才能安裝相關(guān)套件與操作范例程序。
sudo tinker-config
以空格鍵進(jìn)行點選(打星號)
完成設(shè)定后,選擇,并且立刻進(jìn)行重新啟動即可進(jìn)行后續(xù)套件程序的安裝。
設(shè)定完成之后,繼續(xù)安裝,快完工了!
https://pypi.org/project/smbus2/
pip3install SMBUS2
pip3install setuptools
sudopip3 install adafruit-circuitpython-servokit
sudopip3 install adafruit-pca9685
總結(jié)
本次的安裝介紹主要是針對新版核心(Debian-10 2.0.3版)進(jìn)行安裝,相關(guān)安裝流程與較舊版本核心的安裝流程略有差異,若是新版核心建議還是按照本篇介紹進(jìn)行安裝,以確保相關(guān)的套件流程都可以正確安裝與執(zhí)行。
審核編輯:湯梓紅
-
接口
+關(guān)注
關(guān)注
33文章
8885瀏覽量
152990 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7025瀏覽量
124722 -
python
+關(guān)注
關(guān)注
56文章
4822瀏覽量
85874 -
套件
+關(guān)注
關(guān)注
0文章
21瀏覽量
22240 -
Debian
+關(guān)注
關(guān)注
0文章
76瀏覽量
1512
原文標(biāo)題:ASUS Tinker Board 2S新版Debian 10 V2.0.3 系統(tǒng)與相依套件安裝
文章出處:【微信號:易心Microbit編程,微信公眾號:易心Microbit編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
【NanoPi M2試用體驗】Debian與Android系統(tǒng)的安裝啟動
Flint OS for Tinker Board發(fā)布相對穩(wěn)定版
請問V2.0.3的庫函數(shù)完全支持STM32F105嗎?
華碩ASUS tinker board S開發(fā)板調(diào)試的經(jīng)驗分享
ASUS華碩tinker board 2S瑞芯微RK3399開發(fā)板怎么樣?
搭載RK3399Pro的ALPR Edge開發(fā)套件有助于車輛監(jiān)控系統(tǒng)升級
華碩發(fā)布旗下首款 RISC-V 架構(gòu)開發(fā)板 Tinker V
華碩發(fā)布 RISC-V 架構(gòu)單板計算機(jī) Tinker V:配備 1.0 Ghz 單核芯片
榮耀V10和華為Nova 2s應(yīng)該選哪款?麒麟970和麒麟960對比評測
debian安裝教程
小米Air 2s已修復(fù)電量10%時概率無法充電問題
Tinker Board 2S嵌入式系統(tǒng)開箱介紹
Tinker Board 2S系統(tǒng)與軟件安裝設(shè)定
AN2953_如何從STM32F10xxx固件庫V2.0.3遷移到STM32F10xxx標(biāo)準(zhǔn)外設(shè)庫V3.0.0

如何從STM32F10xxx固件庫V2.0.3升級為STM32F10xxx標(biāo)準(zhǔn)外設(shè)庫V3.0.0

評論