您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Linux嵌入式進行python應(yīng)用開發(fā)的方法是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
本文所演示的平臺來自于ToradexColibri iMX6ARM嵌入式平臺,這是一個基于NXP iMX6 ARM處理器,支持單核/雙核Cortex-A9的計算機模塊平臺。
a).Colibri iMX6 ARM核心版配合ColibriEvaBoard載板,連接調(diào)試串口UART1到開發(fā)主機方便調(diào)試。
b).ColibriiMX6系統(tǒng)默認的 BSP 中并沒有包含Python 和 OpenCV組件,用戶可以通過在線安裝或者使用基于Ycoto/OpenEmbedded框架重新編譯生成包含所需功能的 BSP;我們推薦采用第二種方法,定制化的 BSP 有利于產(chǎn)品進行量產(chǎn)編程。
./在線安裝 Python 以及擴展組件相關(guān)命令
————————————
root@colibri-imx6:~# opkg update
root@colibri-imx6:~# opkg list | greppython
root@colibri-imx6:~# opkg install python[optionally list additional packages…]
————————————
./基于OpenEmbedded框架編譯,基本操作請按照這里的說明進行編譯,需要修改的文件請參考如下,image更新方法請參考這里。
./local.conf文件
添加如下內(nèi)容,在生成的image中增加qtwebengine組件
————————————
IMAGE_INSTALL_append = ” opencvpython3 python3-pip zbar”
PACKAGECONFIG_append_pn-opencv = “python3gstreamer”
————————————
在開發(fā)板上命令終端執(zhí)行
————————————
root@colibri-imx6:~# python3
Python 3.5.3 (default, Apr 11 2018,16:03:29)
[GCC 7.3.0] on linux
Type “help”,”copyright”, “credits” or “l(fā)icense” for moreinformation.
>>> import cv2
>>> cv2.version
’3.3.0-dev’
————————————
生成的 BSP 包含了 Python3.5.3 和OpenCV 3.3。由于 Python 是一種解釋型的語言,不需要預(yù)編譯,你現(xiàn)在就可以直接在Colibri iMX6 上學(xué)習(xí) Python 開發(fā)或者運行你現(xiàn)有的 Python 程序。但是這個時候你可能會遇到 Python 模塊沒有安裝的問題,從而無法運行你自己開發(fā)的 Python 項目。
./Python 的一個優(yōu)勢是可以直接在本地下載并安裝模塊組件,這在嵌入式設(shè)備上也同樣適用。由于之前在OpenEmbedded/Yocto中我們已經(jīng)添加了 python3-pip,那么現(xiàn)在可以是 pip 命令來安裝,如imutils,這是我們接下來所需的組件。
————————————
root@colibri-imx6:~# pip3 install imutils
————————————
./除了在線安裝,Python 模塊也可以通過離線交叉編譯后進行編譯。Zbar默認只支持 python2,我們需要安裝pyzbar來支持我們 BSP 中的 python3。
首先你需要安裝Linux SDK,其提供了所需的交叉編譯器、頭文件、庫文件以及一些基本的編譯配置文件。另外建議在開發(fā)電腦上也安裝和 BSP 上版本一致的 Python。
————————————
ben@ben-T430u:~$ cd/usr/local/oecore-x86_64
ben@ben-T430u:~$.environment-setup-armv7at2hf-neon-angstrom-linux-gnueabi
ben@ben-T430u:~CFLAGS -I$SDKTARGETSYSROOT/usr/bin/python3.5m”
ben@ben-T430u:~$ exportHOSTPYTHON=/usr/local/bin/python3.5
ben@ben-T430u:~$ $HOSTPYTHON setup.py build
ben@ben-T430u:~$ $HOSTPYTHON setup.pybdist_egg
————————————
將編譯完成的 pyzbar-0.1.7-py3.5.egg 復(fù)制到開發(fā)板上,使用 easy_install-3.5 安裝
————————————
root@colibri-imx6:~# easy_install-3.5pyzbar-0.1.7-py3.5.egg
Processing pyzbar-0.1.7-py3.5.egg
creating/usr/lib/python3.5/site-packages/pyzbar-0.1.7-py3.5.egg
Extracting pyzbar-0.1.7-py3.5.egg to /usr/lib/python3.5/site-packages
Adding pyzbar 0.1.7 to easy-install.pthfile
Installing read_zbar.py script to /usr/bin
Installing read_zbar script to /usr/bin
————————————
./另外OpenEmbedded還提供了大量 Python相關(guān)的組件,可以方便地集成到 BSP 中。
到此,我們已經(jīng)在開發(fā)板上完成 Python 環(huán)境搭建,所需的組建也都已經(jīng)安裝。下面我們將通過幾個 Python 項目來演示條形碼、二維碼圖片的識別,以及在 USB 攝像頭上實時讀取二維碼。
./識別靜態(tài)圖片上的條形碼
————————————
root@colibri-imx6:~#./barcode_scanner_image.py -i barcode1.png
————————————
./識別靜態(tài)圖片上的二維碼
————————————
root@colibri-imx6:~#./barcode_scanner_image.py -i QR-tdx.png
————————————
./通過USB 攝像頭實時識二維碼
————————————
root@colibri-imx6:~#./barcode_scanner_video.py -o rec.csv
“Linux嵌入式進行python應(yīng)用開發(fā)的方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。