基于STM32的烟条二维码解码系统应用设计

产业科技创新 Industrial Technology Innovation 70Vol.2 No.25
基于STM32的烟条二维码解码系统应用设计
细胞核染韦泰丞1,陈    浩1,李泽龙2
(1.广西中烟工业有限责任公司,广西 南宁 530000;2.南京大树智能科技股份有限公司,江苏 南京 211122)
摘要:文章主要研究基于STM32微处理器解码烟条二维码的设计方法。阐述了以STM32F407型微处理器为核心的
硬件电路设计原理,基于C 语言的软件模块化编程思路,剖析二维码解码算法解析的步骤,分析烟条二维码解码结果。现场应用结果表明,系统满足烟草系统中烟条二维码解码设计要求,提高对二维码的识别速率,具有较高的应用价值。
关键词:STM32F407;DCMI ;Zbar 算法;烟条kkrrrr
中图分类号:TP391.44 文献标志码:A  文章编号:2096-6164(2020)25-0070-02
随着烟草系统智能化建设规划的提出,烟草行业市场化改革方向正向“互联网+烟草”靠拢。依靠二维码技术,烟草行业可建立起“一物一码”信息关联体系,可搭建智能化决策和控制的网络体系,对行业优化产业升级、提升管理和服务水平具有重要意义。因此,烟草企业将二维码技术引入卷烟包装已形成趋势。而根据香烟包装特性,二维码必须精确到小盒、条烟,这样烟草物联网才能准确掌握卷烟市场信息的变化,这就对香烟上二维码的解码与分析提出更高要求。然而,人工无法识别二维码的有效性,也无法高效解码二维码信息,采用基于STM32微处理器的解码技术对卷烟包装上二维码进行信息解析可实现工业上应用。
1 硬件设计
1.1 微处理器选型
硬件核心部件微处理器,采用ST 公司的STM32F407型ARM 芯片。其片内DCMI 模块支持使用类似VGA 的时序获取图像数据流,能够接受外部多位数据流,如8位、10位、12位等CMOS 摄像头模块发出的数据。支持原始的按行、帧格式来组织的图像数据,如YUV、RGB,也支持接收JPEG 格式压缩的数据流。接口原理框图如下图1所示。
图1 RMII 接口原理框图
1.2 主要电路设计
围绕微处理器STM32设计,主要电路由稳压电源
模块、微处理器、OV 系列摄像头、贴片RS232收发器等组成。
外围供电电源主要为DC24V,输入电源接入后,利用电容、电感、整流二极管进行滤波、防干扰、防防反接处理,其中配置元器件由贴片整流二极管214AC(SMA)-IN4007,贴片差模滤波电感HC0850-56uH,贴片TVS 管214-AA-BI-P6KE56CA 等组成。由于微处理器以及部分芯片所需驱动电压为5 V 或3.3 V,则需经过隔离电压转换,最后经过LDO 线性电源模块进一步稳压后,供给微处理器等电路使用。
为满足系统的条烟二维码图像获取、解码通讯、同步信号获取的需求,围绕微处理器STM32设计硬件,其中多路I/O 管脚、USART 接口、USB 接口以及RMII 以太网通讯接口等引出到对接电路板端口。
系统所需获取的二维码信息以图像形式获取,通过软件算法载入OV 系列摄像头拍摄的图像,可以使用函数scan()调用图像。函数针对像素点为变量在一行一行扫描,完成滤波、边缘梯度,确认边缘,转化为宽度流,最终通过解码算法获取二维码信息,通过RS232通讯传输至存储系统或显示工具。
2 软件设计
瞬态电压抑制器2.1 Keil 软件工程建立
本设计编程软件采用美国keil 软件,该软件功能强大、结构完善、可读性高,适用于多种语言编程。本次设计适用C 语言编程,在编程前需建立工程项目,并进行MDK 工程设置,采用Zbar 解码算法工程模块。
工程建立前,对Keil 软件系统设置。首先,在Device 选项查到微处理器型号,选择STM32F407芯片。右侧出现该芯片详细的配置,可供参考阅览。其次,选择Output 选项,针对性设置编译结果的存储路径,并命名文件。最主要步骤,因Zbar 代码源是基于C99开发的,勾选C/C++选项内的C99Mode。勾选C99Mode 如下图2所示。
在工程目录内添加和命名C 语言编程文本,并加
作者简介:韦泰丞(1989- ),男,壮族,广西河池人,硕士研究生,工程师,主要从事大数据与人工智能方面研究。
产业科技创新 2020,2(25):70~71Industrial Technology Innovation
71
第2卷 第25期
电动开瓶器
入到工程中。
图2 C99Mode 勾选项图
2.2 Zbar 算法
Zbar 属于开源库,主要用于扫描、读取二维码和条形码,比如I25,CODE39,CODE128,QR 码等。而烟条二维码为QR 码,码的信息量不大,17个~32个字节左右,可采用该算法进行高速解码。在设计上基于STM32开发环境,采用C 语言编制,编程简洁,调试方便。
1)通过OV 系列摄像头获取二维码图片,并灰度转化,Zbar 图像扫描器逐行扫描,扫描方式类似于Z 字形。代码如下:
IplImage*img=cvLoadImage(“C:\\烟条tobacco-1.jpg”);
IplImage*imgGray=cvCreateImage(cvGetSize(i mg),8,1);
cvCvtColor(img,imgGray,CV_RGB2GRAY);int n=scanner.scan(image);
2)Zbar 解码需预览二维码图片的左上顶点坐标,获得以下参数:
height 二维码图片的高度width 二维码图片的宽度
pheight 预览图的高度,也即camera 的分辨率高度pwidth 预览图的宽度,也即camera 的分辨率宽度
st 左上顶点坐标sheight 扫描框的高度swidth 扫描框的宽度cheight 预览控件的高度cwidth
柿子削皮机
预览控件的宽度
利用以上参数代入公式:ptx/pwidth=stx/cwidth pty/pheight=sty/cheight width/pwidth=swidth/cwidth height/pheight=sheight/cheight
以上ptx,pty,width,height 四个参数也就是ZBar 解码为了方便截取区域来计算。这样扫描的灵活性增强。
3)通过一维码和二维码的检测标准不一样,来寻对应扫描图片的二维码标准。每个点扫描结成边缘可求取边缘梯度,前后边缘值相减(width=scn->edge-scn)转成宽度流可最为扫码特征,判读对应一维码或
二维码的标准。
4)扫描二维码图片符合QR 码标准,可进入解析模块的入口函数。函数内根据第2点获得坐标参数,定位三个中心点并纠正为正方形,之后图像二值化处理。最终解码码字的读取,获取QR 码版本信息并解码,解码结果转化成为十六进制格式显示。
软件应用模块还包括:USART 异步通讯、GPIO 配置、DCMI、消除高频噪声等协议模块,因篇幅所限,在此不作具体介绍。
2.3 解码功能的实现
卷烟包装二维码的主要用途,分为防伪、溯源、营销战略等,而本设计主要应用到全新领域-互联网+数据采集。在烟条二维码解析出结果后,针对烟包、烟条、烟箱二维码数据进行捆绑关联。功能终端根据所获得的工业生产端、商业销售端以及消费数据分析出相关数据,各家烟草企业共享大数据分析结果,应用到自身拓展业务环节,制定解决方案。下面介绍本设计在烟条二维码解码的实际应用案例:
第一步,系统硬件平台整体搭建完成,将keil 编译通过后的程序下载到STM32F407平台;
第二步,OV 系列摄像头打开摄像模式,针对烟草系统分拣线上烟条摆放的物理位置具体调整镜头、焦距、物距,以实现二维码图像的拍摄最佳效果;
第三步,调整摄像机的触发同步信号,该信号由FS-V21传感器提供,为了便于烟条在现场运动过程中实时拍摄,同步信号引入STM32F407平台内并给与摄像信号;
第四步,获取到图像后,Zbar 解码成功通过RS232串口通讯最终上传至终端,在界面上显示解码信息;
最后,根据烟草系统提供的烟条二维码信息存储协议,将烟条信息采集数据结构自定义编写,并存储
到终端的本地。
3 结语
文章以烟条上印刷的二维码解码为主要研究对象,为此打造微处理器STM32F407为核心的硬件平台,采用C 语言进行软件编程。在依托烟草系统生产设备,分析二维码编码特性以及解码所需条件,搭建OV 系列摄像模块获取图片,在相应二维码解码的硬件和软件模块内采集二维码信息,并测试整个系统可行性,最终完成二维码信息的识别和存储。
后期研究规划可将解码成功率提升作为重点,这需要对硬件和软件针对应用环境进一步研究。研究结果可应用至烟包、烟箱等烟草系统其他生产环节中以获取相应二维码信息,拓展烟草行业内信息化解决方案,实现供应链、生产、销售、物流配送的智能化管理。参考文献:
[1] 谭浩强. C程序设计(第三版)[M]. 北京:清华大学出版
社,2005.寿盒
[2] 张成海,张铎,赵守香,等. 条码技术与作用[M]. 北京:
清华大学出版社,2017.
韦泰丞等:基于STM32的烟条二维码解码系统应用设计

本文发布于:2024-09-21 23:28:21,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/330015.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:二维码   解码   信息   系统   烟条   图像   获取
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议