您好,登錄后才能下訂單哦!
本篇內容介紹了“Linux嵌入式進行python應用開發的方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
本文所演示的平臺來自于ToradexColibri iMX6ARM嵌入式平臺,這是一個基于NXP iMX6 ARM處理器,支持單核/雙核Cortex-A9的計算機模塊平臺。
a).Colibri iMX6 ARM核心版配合ColibriEvaBoard載板,連接調試串口UART1到開發主機方便調試。
b).ColibriiMX6系統默認的 BSP 中并沒有包含Python 和 OpenCV組件,用戶可以通過在線安裝或者使用基于Ycoto/OpenEmbedded框架重新編譯生成包含所需功能的 BSP;我們推薦采用第二種方法,定制化的 BSP 有利于產品進行量產編程。
./在線安裝 Python 以及擴展組件相關命令
————————————
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文件
添加如下內容,在生成的image中增加qtwebengine組件
————————————
IMAGE_INSTALL_append = ” opencvpython3 python3-pip zbar”
PACKAGECONFIG_append_pn-opencv = “python3gstreamer”
————————————
在開發板上命令終端執行
————————————
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 “license” for moreinformation.
>>> import cv2
>>> cv2.version
’3.3.0-dev’
————————————
生成的 BSP 包含了 Python3.5.3 和OpenCV 3.3。由于 Python 是一種解釋型的語言,不需要預編譯,你現在就可以直接在Colibri iMX6 上學習 Python 開發或者運行你現有的 Python 程序。但是這個時候你可能會遇到 Python 模塊沒有安裝的問題,從而無法運行你自己開發的 Python 項目。
./Python 的一個優勢是可以直接在本地下載并安裝模塊組件,這在嵌入式設備上也同樣適用。由于之前在OpenEmbedded/Yocto中我們已經添加了 python3-pip,那么現在可以是 pip 命令來安裝,如imutils,這是我們接下來所需的組件。
————————————
root@colibri-imx6:~# pip3 install imutils
————————————
./除了在線安裝,Python 模塊也可以通過離線交叉編譯后進行編譯。Zbar默認只支持 python2,我們需要安裝pyzbar來支持我們 BSP 中的 python3。
首先你需要安裝Linux SDK,其提供了所需的交叉編譯器、頭文件、庫文件以及一些基本的編譯配置文件。另外建議在開發電腦上也安裝和 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 復制到開發板上,使用 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相關的組件,可以方便地集成到 BSP 中。
到此,我們已經在開發板上完成 Python 環境搭建,所需的組建也都已經安裝。下面我們將通過幾個 Python 項目來演示條形碼、二維碼圖片的識別,以及在 USB 攝像頭上實時讀取二維碼。
./識別靜態圖片上的條形碼
————————————
root@colibri-imx6:~#./barcode_scanner_image.py -i barcode1.png
————————————
./識別靜態圖片上的二維碼
————————————
root@colibri-imx6:~#./barcode_scanner_image.py -i QR-tdx.png
————————————
./通過USB 攝像頭實時識二維碼
————————————
root@colibri-imx6:~#./barcode_scanner_video.py -o rec.csv
“Linux嵌入式進行python應用開發的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。