实现E3000Y影像二维扫描枪串口调试
概述
E3000Y是一款二维码影像扫描仪,采用二维影像扫描方式识别1D,2D条码,三种控制方式,可进行二次开发。本文主要讲解如何实现E3000Y的串口控制,利用串口调试方式根据项目需求配置E3000Y各种参数,并且通过串口把读取到的二维码数据上传给上位机。
一.E3000Y影像二维扫描枪
E3000Y扫描枪由YoKo引擎开发板和E3000Y识读引擎两部分组成:
1.图中一个大板子的就是YoKo引擎开发板,集成电路板,集成多种通讯方式,负责读取识读引擎的数据并传输上报;
2.柔性线连接的小模块就是整个扫描枪的最主要部分–E3000Y识读引擎:主要负责扫描一维码或者二维码,对条码数据的采集和处理,并输出给上位机。
产品连接
二.YoKo引擎开发板
这是一块集成电路板,主要是用于对E3000Y识读引擎进行数据的收发:
1.三种通讯方式:USB通讯、串口转TTL以及RS232通讯方式,对应图中下方三个接口,依次按顺序;
2.用B接口连接E3000Y识读引擎,B接口集成了USB D+ D-引脚,串口TX RX以及RS232TX 232RX引脚,可通过改变E3000Y识读引擎参数来更改通讯方式;
引脚 | 功能 |
---|---|
VCC | 3.3v供电 |
GND | 地 |
RX | 串口输入 |
TX | 串口输出 |
USB_DM | USB D- 信号 |
USB_DP | USB D+ 信号 |
RST | 复位 |
TRIG | 触发信号 |
BUZ | 蜂鸣器 |
LED | 信号指示灯 |
3.集成复位键,可随时重启,不需要重新热插拔上电;
4.扫描到二维码或者开机时,蜂鸣器会发出声音提示,如果不需要,可以改变E3000Y识读引擎来关闭蜂鸣器;
由于本文主要讲解串口控制方式,则使用USB转串口线或者RS232串口线连接中间或者右下角那个接口,串口默认波特率9600,8位数据位,1位停止位,无校验位。
三.E3000Y识读引擎
如图则是E3000Y识读引擎,最重要的一个模块,主要负责扫描二维码,只要把枪头对准条码,识读引擎就会自动扫描,只要扫描红外一熄灭并且蜂鸣器短鸣,则代表扫描成功。
1.可解码制:一维,二维;
2.扫描范围:5cm~16cm;
3.系统兼容性:Linux,Android,Windows XP、7、8、10,MacOS;
4.扫描模式:自感应扫描、手动按键扫描;
5.支持键盘:英语、法语、意大利语、德语、西班牙语、土耳其Q、比利时(法语)、葡萄牙语-葡萄牙、葡萄牙语-巴西
6.支持条码语言:英文、GBK、UNICODE;
7.可扫条码类型:纸类、薄膜类一维二维条码;手机、平板等屏幕一维二维条码;
8.通讯接口:USB(免驱)、TTL;
9.工作电压:3.3V。
四.串口调试控制方式步骤
1.模块安装步骤
a.将E3000Y识读引擎固定在YoKo引擎开发板上
b.用柔性线连接
c.拨动电源切换键(SW4)选择识读引擎所需的电压3.3V
d.将扫描引擎开发板连接到 PC 上
2.串口调试步骤
1.首先扫描枪上电后,用E3000Y识读引擎扫描打开配置条形码,确保E3000Y识读引擎进入参数配置状态(虽然默认打开,但是还是扫一下好);
2.接口模式设置:因为模块默认时USB键盘控制方式的,就算我们连上串口线,串口也控制不了扫描枪,所以要先通过扫描条形码,把扫描枪配置成串口模式;
3.因为扫描枪默认波特率为9600,8位数据位,1位停止位,无校验位,所以我就不改了,如果需要可以扫描下面条形码修改;
因为步骤2已经扫描成功进入串口模式了,即使不扫二维码,也可以通过串口调试助手来发送指令,修改波特率和数据位停止位校验位。
4.此时扫描枪已经进入串口调试模式了,我们进行一个测试,因为扫描枪开机蜂鸣器会响,我们通过发送串口指令而不是扫条形码来关闭蜂鸣器,如果串口调试助手有数据返回,证明串口调试控制就成功了;
输入: {包头} {指令} {数据长度} {数据} {CRC16校验} {包尾}
包头:0x57 0x00 (2 Bytes)
指令:0x08 0x00 (2 Byte)
数据长度:0x01 0x00 (2 Byte)
数据:0x00 (1 Bytes)
CRC16校验:0x96 0xC4 (2 Byte)
包尾:0x50 0x41 (2 Bytes)
返回:{包头} {指令} {数据长度} {CRC16校验} {包尾}
包头:0x31 0x00 (2 Bytes)
指令:0x08 0x00 (2 Byte)(此处若返回0x40代表忙碌,0x80代表异常状态)
数据长度:0x00 0x00 (2 Byte)
CRC16校验:0x06 0x41 (2 Bytes)
包尾:0x50 0x41 (2 Bytes)
还可以修改编码模式,如果需要输出中文,就调试为GBK编码模式
3.扫描二维码 串口输出数据
拿着扫描枪对准下面二维码图片,扫描成功后,在串口调试助手上会输出“55667788”的响应数据
4.串口调试指令(简单几个)
功能 | 指令 |
---|---|
串口 | 57 00 01 00 01 00 02 CB 04 50 41 |
USB转串口 | 57 00 01 00 01 00 03 0A C4 50 41 |
USB键盘 | 57 00 01 00 01 00 00 4A C5 50 41 |
串口波特率:4800 | 57 00 02 00 01 00 00 0E C5 50 41 |
串口波特率:9600 | 57 00 02 00 01 00 01 CF 05 50 41 |
串口波特率:115200 | 57 00 02 00 01 00 05 CE C6 50 41 |
8位数据,1位停止,无校验 | 57 00 03 00 01 00 06 07 B3 50 41 |
7位数据,1位停止,无校验 | 57 00 03 00 01 00 00 33 05 50 41 |
8位数据,2位停止,奇校验 | 57 00 03 00 01 00 0A B3 02 50 41 |
扫描枪启动提示音开 | 57 00 08 00 01 00 01 57 04 50 41 |
扫描枪启动提示音关 | 57 00 08 00 01 00 00 96 C4 50 41 |
英文 | 57 00 13 00 01 00 00 F2 C6 50 41 |
简体中文(记事本/excel) | 57 00 13 00 01 00 01 33 06 50 41 |
简体中文(Word) | 57 00 13 00 01 00 02 73 07 50 41 |
使用串口调试,主要因为此模块用于嵌入式开发,需要集成在一些电路板上,同时需要对扫描枪扫描的数据进行一个采集处理,如果默认键盘模式,就采集不了数据了,而且不能每时每刻都有人或者条码给我们扫描,还是需要通过指令来,根据判断修改参数。
/纯属个人记录,侵权会删/