一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

聚豐項目 > RedScanBoxlite

RedScanBoxlite

RedScanBoxlite 是一款輕量化的條碼生成器.目前條碼的協(xié)議格式有多種,現(xiàn)在實現(xiàn)了對 EAN-13 協(xié)議的支持.支持通過按鍵設(shè)置編碼數(shù)據(jù),然后一鍵快速生成對應(yīng)的條碼. 整個項目的開發(fā)多在 Linux 上完成. 軟件開發(fā)使用 vim + gcc + openocd. 硬件開發(fā)使用 librecad + Kicad. RedScanBox 則是一款支持解析條碼功能,同時,支持更多協(xié)議條碼生成的設(shè)備.

iysheng iysheng

分享
0 喜歡這個項目
團(tuán)隊介紹

iysheng iysheng

團(tuán)隊成員

Red 嵌入式軟件開發(fā)工程師

分享
項目簡介
RedScanBoxlite 是一款輕量化的條碼生成器.目前條碼的協(xié)議格式有多種,現(xiàn)在實現(xiàn)了對 EAN-13 協(xié)議的支持.支持通過按鍵設(shè)置編碼數(shù)據(jù),然后一鍵快速生成對應(yīng)的條碼. 整個項目的開發(fā)多在 Linux 上完成. 軟件開發(fā)使用 vim + gcc + openocd. 硬件開發(fā)使用 librecad + Kicad. RedScanBox 則是一款支持解析條碼功能,同時,支持更多協(xié)議條碼生成的設(shè)備.
硬件說明

RedScanBoxlite 基于沁恒的 CH32V103R_NUCLE 板卡, 以擴(kuò)展版的方式實現(xiàn)了該項目.擴(kuò)展板上主要包括如下硬件模塊:

* 5 個按鍵,實現(xiàn) 上\下\左\右\返回\確認(rèn) 功能

* W25Q32 SPI FLASH 實現(xiàn)額外數(shù)據(jù)的存儲

* 24LC04 EEPROM 保存系統(tǒng)加密有關(guān)的數(shù)據(jù)

* JHD256160-G03BEW 并口顯示屏

* 擴(kuò)展版預(yù)留 UART 調(diào)試口

其中擴(kuò)展版的開發(fā) 硬件框圖:

hard_diagram.png

硬件開發(fā)在 Kicad 上完成, 3D 效果圖如圖所示:

擴(kuò)展板頂視圖:

擴(kuò)展版底視圖

hard1_simulate.png

軟件說明

軟件說明: RedScanBoxlite 使用 RT-Thread nano 操作系統(tǒng), 解碼模塊參考 zint 解碼庫.線程間通訊使用多個信號量完成.

軟件流程圖:

soft_diagram.png

系統(tǒng)軟件的開發(fā)調(diào)試工作均在 Linux 上完成,主要總結(jié)有如下幾點:

* 前期 rt-thread 的移植部分,前期走了很多彎路,最后定位到是線程棧設(shè)置太小導(dǎo)致.通過這一部分的工作,讓我對 RT 的線程調(diào)度有了進(jìn)一步的理解.

* 在開發(fā)條碼生成的時候,對條碼的格式有了進(jìn)一步的了解,比如 EAN-13 這種目前比較通用的格式

* 在移植 zint 解碼庫時候,首先在 Linux 上提取關(guān)鍵的部分進(jìn)行測試,其中upcean.c文件實現(xiàn)了 EAN 條碼格式的解析,測試通過后直接移植到 RT-Thread nano 上進(jìn)行編譯.這也是后續(xù)對一些算法軟件庫移植的嵌入式設(shè)備的一個經(jīng)驗.

演示效果

系統(tǒng)的演示視頻放在了 bilibili 上,視頻如圖:


項目在 gitee 托管,地址是:  https://gitee.com/iysheng/red_scan_box.git

----------------------------------------------------------------------------------

其中,軟件的代碼在項目倉庫的 submodule 倉庫。具體的拉取過程示意如圖:

Image 3.png

在此闡述一下倉庫的各個目錄及其內(nèi)容:

.

├── docs   -> 存使用到的開發(fā)板原理圖\數(shù)據(jù)手冊等文檔

│   ├── CH32V103DS0.PDF

│   ├── CH32V103EVT.ZIP

│   ├── CH32V103SCH.pdf

│   ├── CH32V103╞└╣└?х╦╡├?╩щ.pdf

│   ├── CH32xRM.PDF

│   └── 學(xué)習(xí)文檔.drawio

├── misc

│   ├── extend_board_skill.dxf   -> 擴(kuò)展版的 dxf 邊框文件

│   ├── hard0_simulate.png

│   ├── hard1_simulate.png

│   ├── hard_diagram.png

│   ├── hardware  -> 保存擴(kuò)展板硬件原理圖和 pcb 等文件

│   │   └── extend_board_ccd

│   │       └── extend_board

│   ├── soft_diagram.png

│   └── software

│       ├── LICENSE

│       └── rt-thread  -> 基于 RT-thread nano 開發(fā)的工程代碼

│           ├── AUTHORS

│           ├── bsp

│           ├── ChangeLog.md

│           ├── components

│           ├── docs

│           ├── include

│           ├── libcpu

│           ├── LICENSE

│           ├── README.md

│           ├── README_zh.md

│           └── src

├── notes ->  保存章節(jié)筆記目錄

│   ├── chapter0.md

│   └── chapter1.md

└── README.md


14 directories, 20 files


特別地 程序文件所在的目錄為 misc/software/rt-thread/bsp/ch32v103,具體如圖所示

Image 4.png

評論區(qū)(0 )