溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux嵌入式進行python應(yīng)用開發(fā)的方法是什么

發(fā)布時間:2022-01-21 15:29:25 來源:億速云 閱讀:310 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“Linux嵌入式進行python應(yīng)用開發(fā)的方法是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

Linux嵌入式進行python應(yīng)用開發(fā)的方法是什么

本文所演示的平臺來自于ToradexColibri iMX6ARM嵌入式平臺,這是一個基于NXP iMX6 ARM處理器,支持單核/雙核Cortex-A9的計算機模塊平臺。

1. 準備

  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”

  ————————————

2. 測試 Python 環(huán)境

  在開發(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 項目。

3. 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 攝像頭上實時讀取二維碼。

4. PyZbar條形碼和二維碼讀取

  ./識別靜態(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ì)量的實用文章!

向AI問一下細節(jié)

免責(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)容。

AI