CN104361308A - 一种基于stm32的手持式二维码识别器 - Google Patents
一种基于stm32的手持式二维码识别器 Download PDFInfo
- Publication number
- CN104361308A CN104361308A CN201410680181.7A CN201410680181A CN104361308A CN 104361308 A CN104361308 A CN 104361308A CN 201410680181 A CN201410680181 A CN 201410680181A CN 104361308 A CN104361308 A CN 104361308A
- Authority
- CN
- China
- Prior art keywords
- code
- module
- stm32
- information
- handheld
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Character Discrimination (AREA)
Abstract
一种基于STM32的手持式二维码识别器,其特征在于它包括摄像头、临时存储模块、控制处理器、无线通讯模块、上位机以及电源模块;其工作方法包括:摄像头进行初始化;采集待识别二维码信息、存储;解码及控制;无线通信数据传输;显示;其优越性:识别器结构简化、方便携带且高速智能;识别速度快及精度高;具有重大的生产实践意义。
Description
(一)技术领域:
本发明涉及二维码识别和STM32应用领域,特别是一种基于STM32的手持式二维码识别器。
(二)背景技术:
作为一种信息存储的载体,条码技术早已应用到了当今社会的许多领域中。二维条码技术产生于20世纪80年代,它的出现很好的解决了一维条码技术存在的不足之处,而且其具有很强的纠错能力,较大的信息存储密度,可表示的信息种类繁多,能够对信息进行加密保证安全性,成本较低等特点。因此,二维码技术在许多领域的应用都具有很大的前景。
随着我国经济和信息科学技术的飞速发展,国内对二维码这一新技术的需求与日俱增。但由于我国对二维码识别技术的研究起步较晚,现在还处于借鉴国外先进经验和学习研究阶段在国外,如今二维码已经是一项比较成熟的技术。国外对二维码技术的研究上,已研制出多种码制,全球现有的一、二维码多达250种以上,其中较为常见的有PDF417,QRCode,Code49,Code16K,CodeOne等20余种。二维码技术标准在全球范围得到了应用和推广。
二维条码识别技术与智能手机的巧妙结合,产生了手机二维码,现今主要被用作二维码电子门票、电子车票、电子优惠券、电子证件等,利用其出色的移动通讯能力和业务能力为手机用户提供二维条码业务。但是,这必须以手机作为手机二维码的载体,离开了手机这一必要载体它讲无法进行工作。
目前,我们迫切需要一种适应于多种CPU和多种硬件平台的跨平台的***;具有良好的软件移植性;内核小、效率高,性能优异;便于模块化设计,应用产品开发周期短;价格上具有不错竞争力,最好为免费的载体替代之。
(三)发明内容:
本发明的目的在于提供一种基于STM32的手持式二维码识别器,利用STM32处理速度快的优势可以解决现有二维码识别器体型大,无法摆脱手机载体,造价高,浪费人力物力,且只能检测固定地点的问题,是一种结构简单、携带方便、性价比高的检测范围及精度宽广的二维码识别器。
本发明的技术方案:一种基于STM32的手持式二维码识别器,其特征在于它包括摄像头、临时存储模块、控制处理器、无线通讯模块、上位机以及电源模块;其中,所述摄像头位于手持式二维码识别器顶端,用于识别并拍摄待识别的二维码标签,并且将识别后的二维码信息发送到临时存储模块;所述无线通讯模块的输入端与控制处理器的输出端连接,其输出端将二维码信息传输到上位机;所述电源模块安装在识别器的背面,为识别器中的摄像头、控制处理器、无线通讯模块供电。
所述待识别二维码标签由位置探测图形、位置探测图形分隔符、定位图形、校正图形、版本信息、格式信息、数据和纠错码字组成。
所述摄像头是图像传感器OV7670;所述临时存储模块是AL422存储器。
所述控制处理器是由主控芯片、复位电路、看门狗电路、时钟电路和通讯电路构成;其中,所述通讯电路的输入端接收临时存储模块中存储的摄像头采集到的图像信息,其输出端与主控芯片的输入端连接;所述复位电路的输出端与主控芯片输入端连接,将电路恢复到初始状态;所述时钟电路的输出端与主控芯片的输入端连接,为其提供时钟周期;所述看门狗电路与主控电路呈双向连接;所述通讯电路的输出端输出图像信息给主控芯片处理,并通过无线通信模块传输给上位机。
所述主控芯片是STM32高位单片机控制芯片。
所述上位机是由通讯模块、控制模块以及显示模块构成;其中,所述通讯模块与无线传输模块和控制模块分别呈双向连接连接;所述控制模块与显示模块呈双向连接连接。
所述电源模块是电池供电模块。
一种基于STM32的手持式二维码识别器,其特征在于它可以识别用QRCode、PDF417、Code 49、Code 16K、Code One进行编码的二维码信息。
一种基于STM32的手持式二维码识别器的工作方法,其特征在于它包括以下步骤:
①对摄像头进行初始化,并清除存储模块上次采集所储存的无用信息,同时防止错误使用时造成不可预知的错误,为读取数据做准备;
②采集待识别二维码的图像信息,采集其图像模拟信号,先行存储在存储模块中;
③控制处理器读取存储模块中通过步骤①得到的二维码图像模拟信号,并对图像进行解码及控制处理;
④无线通信模块以无线的形式连接控制处理器和上位机,并进行数据传输;
⑤上位机将接收到的数字信号进行显示,等待操作者的处理。
所述步骤③中控制处理器对图像信息进行解码及控制的具体方法由以下步骤构成:
(1)二维码深浅模块的识别:首先根据二维码图像4个角的三个正方形定位并获取符号的图像,经过定位后,根据图像的深色与浅色模块,将其识别成由“0”与“1”组成的阵列;
(2)对格式信息进行译码操作,分别识别和读取格式信息,用于表示该二维码的纠错级别,分为L、M、Q、H;其中L表示可被修正字码为7%;M表示可被修正字码为15%;Q表示可被修正字码为25%;H表示可被修正字码为30%,纠错级别越高说明允许的错误率越高;
(3)确定二维码的版本:根据QR(Quick Response——快速反应)码符号的40种规格的矩阵,按照存储信息的模块数量划分版本,从21*21的版本1,到177*177的版本40,每一版本符号比前一版本每边增加4个模块;从而确定待识别二维码的规格;
(4)对步骤(2)中格式信息译码得到的掩模图形对二维编码区域的位图进行异或处理,消除掩模;
(5)恢复数据和纠错码字:根据模块的排列规则,识别和读取符号字符,恢复信息的数据与纠错码字,用于修正二维码损坏带来的错误;
(6)用纠错码字进行错误检验:使用与纠错等级信息相对应的纠错码字检测错误,若出现错误则选择纠错步骤(7),若没有错误,则选择数据码字译码步骤(8);
(7)纠正错误,并进行数据码字译码,进入步骤(8);
(8)数据码字译码:根据模式指示符、字符计数指示符,对数据码字进行划分,按照使用的模式进行译码,得出数据字符,最后输出处理后的可读的二维码信息通过无线通信模块传输给上位机进行显示,进行人机交互。
本发明的工作原理:识别器中的存储单元用于存储所拍摄的二维码图像的所有数据信息;控制模块用于接收图像传输单元所传输的图像数据信息,经解码和图像处理得出二维码所包含的全部信息,并将所得结果传输到无线通信模块;无线通信模块用于手持式二维码识别器与上位机之间的通信,并将处理后的结果传输到上位机的通信模块;电源模块位于手持式二维码识别器的背面,用电池供电;上位机***,用于接收手持式二维码识别器所检测出的信息,并将检测信息传输到控制模块和显示模块,显示于大屏幕上。
控制模块的主控芯片采用STM32高位单片机作为控制模块的核心,控制处理器STM32104,采用Cortex-M3内核,性能高,功耗低、成本低且处理速度快,性价比很高;根据所需进行图像处理,数据通信;复位电路,本***中主控电路复位电路图选择手动复位,通过两个去耦电容、一个上拉电阻和一个按钮来实现;时钟电路为主控芯片、复位电路、通信电路等部分工作提供一个统一节拍;通信电路可以接收摄像头采集的图像给STM32进行数据处理,亦可将STM32处理后的数据信息经无线传输模块传输给上位机进行显示。
控制处理器STM32104是本发明的核心部分,STM32控制模块的性能对二维码识别的速度、准确度都有着至关重要的影响。一般而言,微处理器性能越高,手持式二维码识别器的识别速度越快、精度越高,越适合于实际应用。
上位机***的通信模块主要是接收无线传输模块传输的数据信息,传输给控制模块;控制模块对接收的数据信息进行简单的运算,处理后显示在显示屏上;显示屏用于人机交互,显示相关信息,便于管理者进行管理。若应用于小场合,可以用高位单片机与LCD显示屏的组合,大场合应用PC机,windows操作***,作为上位机,接收下位的手持式二维码识别器。需要用组态软件或者编程语言来编写控制程序,个别组态软件有梯形图可用;编程语言比组态软件灵活。用串口、USB接口和其他组成部分连接。
本发明的优越性:本设计将STM32应用于二维码的识别,简化识别器结构、方便携带且高速智能;不但可以解决二维码识别固定化的问题,而且提高了二维码的识别速度及精度,不仅具有较为广阔的应用前景,而且具有重大的生产实践意义。
(四)附图说明:
图1为本发明所涉一种基于STM32的手持式二维码识别器的整体结构示意图。
图2为本发明所涉一种基于STM32的手持式二维码识别器的摄像头采集图像的程序流程图。
图3为本发明所涉一种基于STM32的手持式二维码识别器的二维码解码程序流程图。
图4为实施例中二维码示意图(其中,图4-a为二维码原图;图4-b为解码后的内容示意图)。
(五)具体实施方式:
实施例:一种基于STM32的手持式二维码识别器(见图1),其特征在于它包括摄像头、临时存储模块、控制处理器、无线通讯模块、上位机以及电源模块;其中,所述摄像头位于手持式二维码识别器顶端,用于识别并拍摄待识别的二维码标签,并且将识别后的二维码信息发送到临时存储模块;所述无线通讯模块的输入端与控制处理器的输出端连接,其输出端将二维码信息传输到上位机;所述电源模块安装在识别器的背面,为识别器中的摄像头、控制处理器、无线通讯模块供电。
所述待识别二维码标签由位置探测图形、位置探测图形分隔符、定位图形、校正图形、版本信息、格式信息、数据和纠错码字组成。
所述摄像头是图像传感器OV7670;所述临时存储模块是AL422存储器。
所述控制处理器(见图1)是由主控芯片、复位电路、看门狗电路、时钟电路和通讯电路构成;其中,所述通讯电路的输入端接收临时存储模块中存储的摄像头采集到的图像信息,其输出端与主控芯片的输入端连接;所述复位电路的输出端与主控芯片输入端连接,将电路恢复到初始状态;所述时钟电路的输出端与主控芯片的输入端连接,为其提供时钟周期;所述看门狗电路与主控电路呈双向连接;所述通讯电路的输出端输出图像信息给主控芯片处理,并通过无线通信模块传输给上位机。
所述主控芯片(见图1)是STM32高位单片机控制芯片。
所述上位机(见图1)是由通讯模块、控制模块以及显示模块构成;其中,所述通讯模块与无线传输模块和控制模块分别呈双向连接连接;所述控制模块与显示模块呈双向连接连接。
所述电源模块是电池供电模块。
一种基于STM32的手持式二维码识别器,其特征在于它可以识别用QRCode、PDF417、Code 49、Code 16K、Code One进行编码的二维码信息。
一种基于STM32的手持式二维码识别器的工作方法,其特征在于它包括以下步骤:
①对摄像头进行初始化,并清除存储模块上次采集所储存的无用信息,同时防止错误使用时造成不可预知的错误,为读取数据做准备;
②采集待识别二维码的图像信息,采集其图像模拟信号,先行存储在存储模块中(见图2);
③控制处理器读取存储模块中通过步骤①得到的二维码图像模拟信号,并对图像进行解码及控制处理;
④无线通信模块以无线的形式连接控制处理器和上位机,并进行数据传输;
⑤上位机将接收到的数字信号进行显示,等待操作者的处理。
所述步骤③中控制处理器对图像信息进行解码及控制的具体方法由以下步骤构成(见图3):
(1)二维码深浅模块的识别:首先根据二维码图像4个角的三个正方形定位并获取符号的图像,经过定位后,根据图像的深色与浅色模块,将其识别成由“0”与“1”组成的阵列;
(2)对格式信息进行译码操作,分别识别和读取格式信息,用于表示该二维码的纠错级别,分为L、M、Q、H;其中L表示可被修正字码为7%;M表示可被修正字码为15%;Q表示可被修正字码为25%;H表示可被修正字码为30%,纠错级别越高说明允许的错误率越高;
(3)确定二维码的版本:根据QR码符号的40种规格的矩阵,按照存储信息的模块数量划分版本,从21*21的版本1,到177*177的版本40,每一版本符号比前一版本每边增加4个模块;从而确定待识别二维码的规格;
(4)对步骤(2)中格式信息译码得到的掩模图形对二维编码区域的位图进行异或处理,消除掩模;
(5)恢复数据和纠错码字:根据模块的排列规则,识别和读取符号字符,恢复信息的数据与纠错码字,用于修正二维码损坏带来的错误;
(6)用纠错码字进行错误检验:使用与纠错等级信息相对应的纠错码字检测错误,若出现错误则选择纠错步骤(7),若没有错误,则选择数据码字译码步骤(8);
(7)纠正错误,并进行数据码字译码,进入步骤(8);
(8)数据码字译码:根据模式指示符、字符计数指示符,对数据码字进行划分,按照使用的模式进行译码,得出数据字符,最后输出处理后的可读的二维码信息通过无线通信模块传输给上位机进行显示,进行人机交互。
图4为用此识别器对二维码进行识别的具体操作,识别结果是“天津理工大学地址:天津市西青区宾水西道391号。”
Claims (10)
1.一种基于STM32的手持式二维码识别器,其特征在于它包括摄像头、临时存储模块、控制处理器、无线通讯模块、上位机以及电源模块;其中,所述摄像头位于手持式二维码识别器顶端,用于识别并拍摄待识别的二维码标签,并且将识别后的二维码信息发送到临时存储模块;所述无线通讯模块的输入端与控制处理器的输出端连接,其输出端将二维码信息传输到上位机;所述电源模块安装在识别器的背面,为识别器中的摄像头、控制处理器、无线通讯模块供电。
2.根据权利要求1所述一种基于STM32的手持式二维码识别器,其特征在于所述待识别二维码标签由位置探测图形、位置探测图形分隔符、定位图形、校正图形、版本信息、格式信息、数据和纠错码字组成。
3.根据权利要求1所述一种基于STM32的手持式二维码识别器,其特征在于所述摄像头是图像传感器OV7670;所述临时存储模块是AL422存储器。
4.根据权利要求1所述一种基于STM32的手持式二维码识别器,其特征在于所述控制处理器是由主控芯片、复位电路、看门狗电路、时钟电路和通讯电路构成;其中,所述通讯电路的输入端接收临时存储模块中存储的摄像头采集到的图像信息,其输出端与主控芯片的输入端连接;所述复位电路的输出端与主控芯片输入端连接,将电路恢复到初始状态;所述时钟电路的输出端与主控芯片的输入端连接,为其提供时钟周期;所述看门狗电路与主控电路呈双向连接;所述通讯电路的输出端输出图像信息给主控芯片处理,并通过无线通信模块传输给上位机。
5.根据权利要求4所述一种基于STM32的手持式二维码识别器,其特征在于所述主控芯片是STM32高位单片机控制芯片。
6.根据权利要求1所述一种基于STM32的手持式二维码识别器,其特征在于所述上位机是由通讯模块、控制模块以及显示模块构成;其中,所述通讯模块与无线传输模块和控制模块分别呈双向连接连接;所述控制模块与显示模块呈双向连接连接。
7.根据权利要求1所述一种基于STM32的手持式二维码识别器,其特征在于所述电源模块是电池供电模块。
8.一种基于STM32的手持式二维码识别器,其特征在于它可以识别用QRCode、PDF417、Code 49、Code 16K、Code One进行编码的二维码信息。
9.一种基于STM32的手持式二维码识别器的工作方法,其特征在于它包括以下步骤:
①对摄像头进行初始化,并清除存储模块上次采集所储存的无用信息,同时防止错误使用时造成不可预知的错误,为读取数据做准备;
②采集待识别二维码的图像信息,采集其图像模拟信号,先行存储在存储模块中;
③控制处理器读取存储模块中通过步骤①得到的二维码图像模拟信号,并对图像进行解码及控制处理;
④无线通信模块以无线的形式连接控制处理器和上位机,并进行数据传输;
⑤上位机将接收到的数字信号进行显示,等待操作者的处理。
10.根据权利要求9所述一种基于STM32的手持式二维码识别器的工作方法,其特征在于所述步骤③中控制处理器对图像信息进行解码及控制的具体方法由以下步骤构成:
(1)二维码深浅模块的识别:首先根据二维码图像4个角的三个正方形定位并获取符号的图像,经过定位后,根据图像的深色与浅色模块,将其识别成由“0”与“1”组成的阵列;
(2)对格式信息进行译码操作,分别识别和读取格式信息,用于表示该二维码的纠错级别,分为L、M、Q、H;其中L表示可被修正字码为7%;M表示可被修正字码为15%;Q表示可被修正字码为25%;H表示可被修正字码为30%,纠错级别越高说明允许的错误率越高;
(3)确定二维码的版本:根据QR(Quick Response——快速反应)码符号的40种规格的矩阵,按照存储信息的模块数量划分版本,从21*21的版本1,到177*177的版本40,每一版本符号比前一版本每边增加4个模块;从而确定待识别二维码的规格;
(4)对步骤(2)中格式信息译码得到的掩模图形对二维编码区域的位图进行异或处理,消除掩模;
(5)恢复数据和纠错码字:根据模块的排列规则,识别和读取符号字符,恢复信息的数据与纠错码字,用于修正二维码损坏带来的错误;
(6)用纠错码字进行错误检验:使用与纠错等级信息相对应的纠错码字检测错误,若出现错误则选择纠错步骤(7),若没有错误,则选择数据码字译码步骤(8);
(7)纠正错误,并进行数据码字译码,进入步骤(8);
(8)数据码字译码:根据模式指示符、字符计数指示符,对数据码字进行划分,按照使用的模式进行译码,得出数据字符,最后输出处理后的可读的二维码信息通过无线通信模块传输给上位机进行显示,进行人机交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410680181.7A CN104361308A (zh) | 2014-11-24 | 2014-11-24 | 一种基于stm32的手持式二维码识别器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410680181.7A CN104361308A (zh) | 2014-11-24 | 2014-11-24 | 一种基于stm32的手持式二维码识别器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104361308A true CN104361308A (zh) | 2015-02-18 |
Family
ID=52528566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410680181.7A Pending CN104361308A (zh) | 2014-11-24 | 2014-11-24 | 一种基于stm32的手持式二维码识别器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104361308A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107563475A (zh) * | 2017-07-18 | 2018-01-09 | 中国农业大学 | 一种二维码的编码方法和装置 |
CN108647551A (zh) * | 2018-04-23 | 2018-10-12 | 佛山科学技术学院 | 一种基于stm32的物联网图形码识别方法及其*** |
CN109388986A (zh) * | 2017-08-10 | 2019-02-26 | 卡西欧计算机株式会社 | 条码读取装置、控制方法及计算机可读取存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110192905A1 (en) * | 2010-02-11 | 2011-08-11 | Hand Held Products, Inc. | Data collection module and system |
CN201946011U (zh) * | 2010-12-30 | 2011-08-24 | 深圳市民德电子科技有限公司 | 一维条码阅读器 |
CN103955661A (zh) * | 2014-04-22 | 2014-07-30 | 广州闪购软件服务有限公司 | 一种基于嵌入式***的移动二维码采集终端 |
-
2014
- 2014-11-24 CN CN201410680181.7A patent/CN104361308A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110192905A1 (en) * | 2010-02-11 | 2011-08-11 | Hand Held Products, Inc. | Data collection module and system |
CN201946011U (zh) * | 2010-12-30 | 2011-08-24 | 深圳市民德电子科技有限公司 | 一维条码阅读器 |
CN103955661A (zh) * | 2014-04-22 | 2014-07-30 | 广州闪购软件服务有限公司 | 一种基于嵌入式***的移动二维码采集终端 |
Non-Patent Citations (2)
Title |
---|
张民: "QR码识别算法研究及其在嵌入式***上的实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
祁晓莉: "矩阵式二维条码的生成与解码技术的研究及应用", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107563475A (zh) * | 2017-07-18 | 2018-01-09 | 中国农业大学 | 一种二维码的编码方法和装置 |
CN109388986A (zh) * | 2017-08-10 | 2019-02-26 | 卡西欧计算机株式会社 | 条码读取装置、控制方法及计算机可读取存储介质 |
CN109388986B (zh) * | 2017-08-10 | 2021-11-26 | 卡西欧计算机株式会社 | 条码读取装置、控制方法及计算机可读取存储介质 |
CN108647551A (zh) * | 2018-04-23 | 2018-10-12 | 佛山科学技术学院 | 一种基于stm32的物联网图形码识别方法及其*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100590638C (zh) | 一种条码解码装置及方法 | |
CN202694367U (zh) | 一种移动条码阅读器 | |
CN104102690B (zh) | 一种基于存储结构的遥测数据处理方法 | |
CN102831375A (zh) | 兼具二维码识别的图像信号处理器及其二维码识别方法 | |
CN105631383A (zh) | 智能选通条码解码的方法及*** | |
CN104361308A (zh) | 一种基于stm32的手持式二维码识别器 | |
CN105654004A (zh) | 智能选通条码解码的方法及芯片 | |
CN203849852U (zh) | 一种gps定位抄表终端 | |
CN1622114A (zh) | 一种移动扫描存储装置及其方法 | |
CN103856466A (zh) | 一种可自动配置协议的采集终端装置 | |
CN101908134B (zh) | 一种串行总线式条码解码芯片以及条码解码装置 | |
CN201903882U (zh) | 射频识别读取器及相应的射频识别读取*** | |
CN201725346U (zh) | 一种串行总线式条码解码芯片以及条码解码装置 | |
CN202196460U (zh) | 基于条码的****** | |
CN102005115A (zh) | 一种红外抄表方法 | |
CN202711312U (zh) | 一种基于二维码的数据管理*** | |
CN101334833A (zh) | 一种智能式二维条码读取器 | |
CN101882200A (zh) | 一种集成条码解码芯片和光学图像传感阵列的片上*** | |
CN204288237U (zh) | 一种网络读卡器 | |
CN203084744U (zh) | 无线便携式数据采集器 | |
CN101908130A (zh) | 基于条码解码芯片的便携式电子装置 | |
CN101882199B (zh) | 一种总线式条码解码芯片 | |
CN202394244U (zh) | 扫描装置 | |
CN204965441U (zh) | 一种条形码数据采集*** | |
CN201725344U (zh) | 一种集成条码解码芯片和光学图像传感阵列的片上*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150218 |
|
WD01 | Invention patent application deemed withdrawn after publication |