精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ELF 1技術貼|如何在開發板上生成二維碼圖像

ElfBoard ? 2024-05-07 14:54 ? 次閱讀

在開發應用程序時,常常需要生成二維碼以便于用戶通過掃描快速訪問信息。為了實現這一功能開發者通常選用 QRencode 專為生成二維碼圖像設計的開源庫。然而,要在特定平臺上使用 QRencode,需要將其進行交叉編譯,以確保能夠在目標平臺上正確運行。

深入來看,QRencode庫的正常運作依賴于兩個核心支撐庫:Zlib與LibPNG。其中,Zlib作為開放源代碼的壓縮與解壓縮庫,為數據處理提供了強大支持;而LibPNG則用于PNG圖像格式的解析與操作,是圖像處理的關鍵環節。因此,在正式啟動QRencode庫的交叉編譯流程之前,需先行完成對這兩個基礎庫——Zlib與LibPNG的交叉編譯工作。

本篇文章將以ELF 1開發板為實例,逐步闡述如何將這三大庫——Zlib、LibPNG以及QRencode——成功移植并部署至ELF 1平臺上,解鎖在該平臺上的二維碼生成能力。

一、下載源碼

在瀏覽器復制以下鏈接跳轉后即可下載源碼

Zlib-1.3.1.tar.gz(https://zlib.net/)

LibPNG-1.6.43.tar.xz(https://www.linuxfromscratch.org/blfs/view/svn/general/libpng.html)

QRencode-4.1.1.tar.gz(https://fukuchi.org/works/qrencode/)

二、交叉編譯Zlib

1、將zlib-1.3.1.tar.gz 源碼拷貝到Ubuntu環境中并進行解壓

elf@ubuntu:~/work/qrencode$ tar xvf zlib-1.3.1.tar.gz

2、進入Zlib源碼目錄內,創建一個zlib_INSTALL文件夾以用來放置編譯出來的文件

elf@ubuntu:~/work/qrencode$ cd zlib-1.3.1 elf@ubuntu:~/work/qrencode/zlib-1.3.1$ mkdir zlib_INSTALL

3、設置環境變量

elf@ubuntu:~/work/qrencode/zlib-1.3.1$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

4、生成Makefile,make 進行編譯

elf@ubuntu:~/work/qrencode/zlib-1.3.1$./configure --prefix=$(pwd)/zlib_INSTALL elf@ubuntu:~/work/qrencode/zlib-1.3.1$ make

5、編譯完成,執行make install將庫和例程等文件安裝到目標文件下

elf@ubuntu:~/work/qrencode/zlib-1.3.1$ make install elf@ubuntu:~/work/qrencode/zlib-1.3.1$ ls zlib_INSTALL/ include lib share

三、交叉編譯LibPNG

1、libpng-1.6.43.tar.xz源碼拷貝到Ubuntu環境中并進行解壓

elf@ubuntu:~/work/qrencode$ tar xvf libpng-1.6.43.tar.xz

2、進入LibPNG源碼目錄內,創建一個libpng_INSTALL文件夾以用來放置編譯出來的文件:

elf@ubuntu:~/work/qrencode$ cd libpng-1.6.43 elf@ubuntu:~/work/qrencode/libpng-1.6.43$ mkdir libpng_INSTALL

3、設置環境變量

elf@ubuntu:~/work/qrencode/libpng-1.6.43$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

4、生成Makefile,make 進行編譯

elf@ubuntu:~/work/qrencode/libpng-1.6.43$./configure --prefix=$(pwd)/libpng_INSTALL --host=arm elf@ubuntu:~/work/qrencode/libpng-1.6.43$ make

5、編譯完成,執行make install將庫和例程等文件安裝到目標文件下

elf@ubuntu:~/work/qrencode/libpng-1.6.43$ make install elf@ubuntu:~/work/qrencode/libpng-1.6.43$ ls libpng_INSTALL/ bin include lib share

四、交叉編譯QRencode

1、將qrencode-4.1.1.tar.gz 源碼拷貝到Ubuntu環境中并進行解壓

elf@ubuntu:~/work/qrencode$ tar xvf qrencode-4.1.1.tar.gz

2、進入QRencode源碼目錄內,創建一個qrencode_INSTALL文件夾以用來放置編譯出來的文件

elf@ubuntu:~/work/qrencode$ cd qrencode-4.1.1 elf@ubuntu:~/work/qrencode/qrencode-4.1.1$ mkdir qrencode_INSTALL

3、設置環境變量

elf@ubuntu:~/work/qrencode/qrencode-4.1.1$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi elf@ubuntu:~/work/qrencode/qrencode-4.1.1$ export png_CFLAGS="-I/home/elf/work/qrencode/libpng-1.6.43/include/libpng16 -I/home/elf/work/qrencode/libpng-1.6.43/include -I/home/elf/work/qrencode/zlib-1.3.1/include" elf@ubuntu:~/work/qrencode/qrencode-4.1.1$ export png_LIBS="-L/home/elf/work/qrencode/libpng-1.6.43/lib -lpng16 -L/home/elf/work/qrencode/libpng-1.6.43/include -I/home/elf/work/qrencode/zlib-1.3.1/lib -lz -lm"

4、生成Makefile,make 進行編譯

elf@ubuntu:~/work/qrencode/qrencode-4.1.1$ ./configure --enable-static --disable-shared --prefix=$(pwd)/qrencode-4.1.1_INSTALL --host=arm elf@ubuntu:~/work/qrencode/qrencode-4.1.1$ make

5、編譯完成,執行make install將庫和例程等文件安裝到目標文件下

elf@ubuntu:~/work/qrencode/qrencode-4.1.1$ make install elf@ubuntu:~/work/qrencode/qrencode-4.1.1$ ls qrencode_INSTALL/ bin include lib share

將以上編譯生成的所有文件拷貝到開發板/目錄下 ,即可完成部署。

五、測試

root@ELF1:~# qrencode -s 25 -o test.png Hello-ElfBoard

-s:指定圖片大小

-o:輸出二維碼圖片名稱

可以打開微信進行掃一掃,掃描結果如下圖所示:

wKgaomY5z92AUn-3AACY5VW2a8M597.png

至此,就完成了QRencode庫在開發板上的移植,即可實現在開發板上生成二維碼圖像。誠摯希望上述指南能為各位小伙伴在嵌入式開發實戰中提供幫助,助力大家邁向新高度!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6032

    文章

    44525

    瀏覽量

    633245
  • 嵌入式
    +關注

    關注

    5071

    文章

    19026

    瀏覽量

    303494
  • 開發板
    +關注

    關注

    25

    文章

    4959

    瀏覽量

    97213
收藏 人收藏

    評論

    相關推薦

    【學習打卡】OpenHarmony應用開發二維碼生成

    的使用,實現了根據輸入內容實時生成二維碼。 視頻教程 OpenHarmony應用開發二維碼生成器 OpenHarmony應用
    的頭像 發表于 07-01 17:53 ?4166次閱讀
    【學習打卡】OpenHarmony應用<b class='flag-5'>開發</b>之<b class='flag-5'>二維碼</b><b class='flag-5'>生成</b>器

    嵌入式學習-飛凌ElfBoard ELF 1板卡 - 在開發板生成二維碼圖像

    開發應用程序時,經常需要生成二維碼以便于快速掃描訪問信息。為了實現這一功能,我們可以使用qrencode 庫。qrencode 是一個開源的庫,用于生成
    發表于 05-10 09:36

    I.MX6ULL-飛凌 ElfBoard ELF1板卡 - 在開發板生成二維碼圖像

    開發應用程序時,經常需要生成二維碼以便于快速掃描訪問信息。為了實現這一功能,我們可以使用qrencode 庫。qrencode 是一個開源的庫,用于生成
    發表于 05-10 09:42

    二維碼識別

    `利用筆記本電腦的攝像頭采集二維碼圖像并識別,顯示二維碼的信息!下載了labview視覺與運動模塊的可以下來看看!里面有2張二維碼,用二維碼
    發表于 08-27 16:52

    二維碼軟件中制作Dot Code二維碼的步驟

      在二維碼軟件中,點擊軟件左側的“二維碼”按鈕,在畫布繪制二維碼樣式,雙擊二維碼,在圖形屬性-條碼選項卡中,設置條碼類型為Dot Cod
    發表于 12-02 15:45

    HarmonyOS教程—基于AI的生成能力,實現二維碼生成與掃功能

    );生成logo圖標二維碼將logo圖標對應的PixelMap圖像,畫在已經生成二維碼PixelMap
    發表于 08-30 14:01

    何在STM32F407開發板控制LV3096二維碼模塊呢

    何在STM32F407開發板控制LV3096二維碼模塊呢?有哪些步驟?
    發表于 10-28 07:04

    二維碼技術的編譯規則分析

    本文針對二維碼編譯原理進行了深入分析和研究,并詳細描述了QR Code技術生成二維碼過程中的編譯規則,分別對數據編碼和糾錯碼編碼進行了全面分析,最后還簡單介紹了使
    發表于 11-05 15:19 ?29次下載
    <b class='flag-5'>二維碼</b><b class='flag-5'>技術</b>的編譯規則分析

    如何將視頻轉換生成二維碼觀看

    如今,二維碼的應用越來越廣了,也非常方便,那么如何把視頻轉換生成二維碼呢?網頁地址轉換二維碼的工具很多,但視頻轉換二維碼的工具,可就比較少了
    發表于 07-30 15:21 ?1.3w次閱讀

    二維碼在智能門禁中的應用,二維碼門禁如何保證安全性

    是:會的。 若不夠用,是不是會重復使用?那對智能門禁而言,又怎樣能保證二維碼的安全性?要想搞清這些問題,我們需要從二維碼原理說起。二維碼怎樣識別?二維碼
    的頭像 發表于 07-19 10:33 ?3787次閱讀
    <b class='flag-5'>二維碼</b>在智能門禁中的應用,<b class='flag-5'>二維碼</b>門禁如何保證安全性

    鴻蒙系統生成二維碼技術

    ?? 在實際應用開發中,時不時的會遇到 AI 領域相關的一些技術,本節主要詳細講述一下生成二維碼技術
    的頭像 發表于 10-19 09:17 ?2687次閱讀

    51單片機生成二維碼

    51單片機生成二維碼
    發表于 11-12 13:51 ?30次下載
    51單片機<b class='flag-5'>生成</b><b class='flag-5'>二維碼</b>

    LV版本的二維碼生成及源碼分享

    LV版本的二維碼生成及源碼分享。
    發表于 04-11 15:06 ?0次下載

    二維碼讀頭有什么功能?如何選擇二維碼讀頭?

    圖像識別系統來讀取手機屏幕和紙質文檔的條碼信息,二維碼讀頭應用很是廣泛。而深圳遠景達(RAKINDA)作為專業條碼識別設備的研發設計制造商之一,巧妙地將掃
    的頭像 發表于 03-30 15:03 ?1794次閱讀
    <b class='flag-5'>二維碼</b>掃<b class='flag-5'>碼</b>讀頭有什么功能?如何選擇<b class='flag-5'>二維碼</b>讀頭?

    Labview生成二維碼

    ?Labview 的一個Demo,生成二維碼
    發表于 08-01 17:12 ?6次下載