<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
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庫在開發板上的移植,即可實現在開發板上生成二維碼圖像。誠摯希望上述指南能為各位小伙伴在嵌入式開發實戰中提供幫助,助力大家邁向新高度!

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

    關注

    6002

    文章

    44000

    瀏覽量

    621401
  • 嵌入式
    +關注

    關注

    4986

    文章

    18318

    瀏覽量

    289134
  • 開發板
    +關注

    關注

    25

    文章

    4457

    瀏覽量

    94243
收藏 人收藏

    評論

    相關推薦

    飛凌嵌入式ElfBoard ELF 1板卡-在線二維碼生成

    直接在網頁使用這些生成器,無需安裝額外的軟件。在線二維碼生成器 | 菜鳥工具 (jyshare.com)點擊鍵盤上的Ctrl按鈕,同時鼠標左擊網址,成功打開網頁之后,參考下圖進行操作
    發表于 04-24 17:00

    二維碼的算法?

    想用51做一個能將簡單數字生成二維碼圖片在LED彩屏顯示。問一下二維碼的算法?51單片機能處理嗎?請教高手了。
    發表于 03-30 20:14

    二維碼識別

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

    怎么在PCB打logo或二維碼

    ,是不是沒聯網啊。就是掃不哎。 10.這里普及一個小知識。二維碼的信息載體為黑色部分,直接拿原來的二維碼生成呢,黑色成了白色,不能識別了。打
    發表于 03-17 19:45

    單片機生成二維碼 技術

    各位大佬們 有人知道單片機可以生成向我付錢的二維碼 或 條形碼嗎? 就是我提前設置一個金額然后生成一個二維碼 或 條形碼,別人一掃就進入付
    發表于 06-14 17:32

    生成二維碼

    生成二維碼
    發表于 11-11 14:28

    如何通過機智云 iot開發平臺接口生成設備對應的二維碼

    摘要:機智云APP SDK中預留了一個掃描二維碼綁定接口,APP可以通過掃描GPRS設備(WiFi設備也可)二位碼直接綁定設備。本文主要介紹如何通過機智云 iot開發平臺的接口生成設備
    發表于 09-19 19:03

    如何通過機智云接口生成設備對應的二維碼

    摘要:機智云APP SDK中預留了一個掃描二維碼綁定接口,APP可以通過掃描GPRS設備(WiFi設備也可)二位碼直接綁定設備。本文主要介紹如何通過機智云接口生成設備對應的二維碼。步驟
    發表于 09-20 08:19

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

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

    如何實現二維碼顯示

    工具:正點原子Mini開發板,LCD,keil5由于近期的一個項目需要用到二維碼顯示,在實現之后整理下各種坑,并詳細說明如何實現。參考redsleep網友
    發表于 08-24 07:23

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

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

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

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

    STM32 單片機字符串生成二維碼顯示相關資料分享

    ,添加函數聲明3.調用LCD_DrawQrcode_fun函數顯示二維碼顯示效果:放大4倍和原圖顯示注:二維碼字符串 是在草料二維碼生成
    發表于 01-27 07:32

    OpenHarmony應用開發二維碼生成

    OpenHarmony應用開發二維碼生成器作者:堅果公眾號:"大前端之旅"OpenHarmony布道師,InfoQ簽約作者,CSDN博客專家,華為云享專家,阿里云專家博主
    發表于 07-01 18:02

    HarmonyOS應用開發-QRCodeDemo二維碼生成體驗

    一、說明使開發人員學會如何實現二維碼生成、掃描等功能。、效果完整代碼地址:https://gitee.com/jltfcloudcn/jump_to/tree/feature/QRC
    發表于 07-30 10:50
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>