基于条码识别技术的智能购物车设计
2012-03-30刘晓朋曾翔亮
刘 兵,刘晓朋,曾翔亮
(东北林业大学工程技术学院,哈尔滨150040)
1 引言
随着我国经济水平的快速发展,人民的生活水平不断提高,越来越多的消费者选择去大型购物超市购物消费。但由于管理体制等原因,导致超市一线员工流动率过高,阻碍了超市的可持续发展[1]。据报道,在中国部分城市的超市存在多种价格欺诈行为,家乐福超市就受到价格主管部门的严厉处罚[2],给企业形象带来了严重的负面影响。同时,顾客排队等候时间过长,也一直是大型超市面对的重要难题。为解决这些问题,研发了基于条形码识别技术的超市智能购物车。
本智能购物车是对普通的购物车结构加以改造,配备一套电子设备,购物车推手的前方左端是一个专门刷购物卡的磁卡读卡器,中间是一块5.7英寸的触摸屏,右端是一个扫描仪和EAS解码器,整个系统的电力是由位于购物车下方的蓄电池供应的,其三维图如图1所示。
图1 购物车三维图Fig.1 3D image of the shopping cart
由于考虑到超市的一次性投入成本,初期阶段,本智能购物车的功能主要是针对拥有超市购物卡的顾客而设计,因次在使用此智能购物车之前,顾客必须将购物卡插入磁卡读卡器中。购物车主要包括两个功能:查价和结算。但系统默认的功能是查价,即消费者想查看某一商品的价格时,只需把商品的条形码对准扫描仪,液晶屏上即显示商品的价格 (如图2所示)。如果消费者满意,可以把商品放到购物车的右端;如果消费者不满意,则只需把商品重新放到货架上即可。当消费者将所有需要购买的商品都放到购物车以后,并且也确认都需要购买时,需手动在触摸液晶屏上选择“开始结算”功能,然后将购物车右端的商品再重新放到扫描仪上扫描,此时在扫描的瞬间,EAS系统的解码器对商品的软标签进行解码,同时,系统会自动从购物卡里扣除相应的金额,然后再将解码后的商品放到购物车的左端。当将所需的商品全部结算完后,在触摸屏上选择“购物结束”按钮 (如图3所示)。此时,会弹出是否打印购物小票的窗口,若选择“是”,则系统会生成一个密码,消费者在超市里的购物小票打印机的键盘上输入相应的密码,即可打印;消费者选择“否”,则自助购物结束。
图2 查价界面Fig.2 Query interface
图3 购物界面Fig.3 Shopping interface
2 硬件系统基本架构
硬件系统的总体框图如图4所示。
图4 硬件系统总体框图Fig.4 The overall scheme of the hardware system
2.1 单片机
本设计中智能购物车的微控制单元 (MCU)采用 Microchip公司的 PIC16f877单片机,具有Flash程序存储功能,可以重复擦写其中的内容,且其内建ICD(In Circuit Debug)功能,能让使用者直接在购物车的单片机电路上,进行暂停微控制单元执行等操作,可以提高使用者进行程序除错与开发的效率。整个购物车系统的工作速度与单片机振荡电路有直接的关系,PIC16F877单片机的振荡频率最高可达20MHz,所以采用该型号的单片机,整个智能购物车系统可以运行稳定流畅,不会因为处理速度慢而影响顾客的心情。
2.2 条形码扫描仪
条码扫描仪的常用接口有串行口、PS/2口、USB口、RJ-45等[3]。本设计选用 Symbol Technologies公司的 LS5700扫描仪,此扫描仪具有RS232、PS/2等标准接口,由于PIC16F877A单片机实验板配有MAX232模块,为了方便编写单片机数据接收程序,本设计采用RS232接口:条形码扫描仪输出的数据通过RS232/TTL电平转换电路传送至单片机,当单片机接收到商品的条形码值后,便通过无线发射模块与超市的主机进行通信,将该条形码值与主机内部存储的数据库进行匹配,查找出与该条形码值对应的商品,然后再通过无线发射模块将该商品的价格发送给单片机,并在液晶屏上显示出来。
2.3 液晶触摸屏
本设计采用PWS6600C-S作为智能购物车的人机交互界面,它是所有5.7英寸TFT液晶触摸显示屏中性价比最高者,该触摸屏功耗低、环保节能,256彩色可显示照片般的逼真效果,分辨率为320×240,支持jpeg及动态gif图片,32位超强CPU,因此画面切换速度与通讯速度相当不错,非常适用于本设计中的智能购物车。PWS6600C-S触摸屏具有RS485和RS232等多种通讯接口,由于单片机与触摸屏的通信距离低于16 m,因此本设计采用RS232接口:将单片机RC6、RC7口设置为异步串行通信模式,通过MAX232模块将TTL电平转换成RS232电平,然后与PWS6600C-S触摸屏的RS232接口进行连接,如图5所示。
图5 PIC16F877与触摸屏间的通信电路原理图Fig.5 Communication principle betwcen PIC16F877 and LCD
2.4 微功率无线数传模块
本设计中的智能购物车端 (下位机端)采用HAC-UAN433微功率无线数传模块,该模块具有以下特点:
(1)微功率发射。最大发射功率仅为20 dBm(100 mW),可选17 dBm(50 mW)。
(2)工作频率在ISM频段,无需申请频点,载频频率为427~437 MHz。频谱环境干净,干扰少。
(3)真正的窄带高速率技术。信号带宽为12.5/25 kHz,频谱使用效率高,抗干扰能力强,最高有效速率高达19200 bps。
(4)高抗干扰能力和低误码率。基于 GFSK或RC2FSK的调制方式,采用高效前向纠错信道编码技术,提高了数据抗突发干扰和随机干扰的能力,在信道误码率为10-3时,可得到实际误码率10-5~10-6,因此可有效避免顾客手机信号的影响。
(5)灵敏度高。1200 bps的灵敏度为-122 dBm,9600 bps的灵敏度为-117 dBm。
(6)传输距离远。视距情况下,1200 bps最远可靠传输距离2000 m,9600 bps最远可靠传输距离1000 m。此距离几乎能足够胜任目前所有的大型超市。
(7)双串口,3种接口方式。提供2个串口3种接口方式,COM1为 TTL电平 UART接口;COM2为软件模拟的RS-232或RS-485,用户自定义。本设计中采用TTL接口电方式。
(8)体积小,高可靠性、故障率低。
无线数传模块的工作流程图如图6所示。
图6 无线模块工作流程图Fig.6 Workflow of the wireless module
2.5 磁卡读写器
磁卡读写器主要由磁头和解码芯片组成,本设计中智能购物车的磁条卡接口芯片采用Vikintek公司生产的单磁道F2F解码芯片——BS100E,它可以实现磁头信号的放大以及F2F编码数据的恢复,它的MSIA+和MSIA-管脚接磁头输出。当顾客把购物卡插入磁卡读写器中时,BS100E即对购物卡进行解码,经单片机处理后,通过无线数传模块与上位机 (即超市的主机)进行通信,从而对购物卡进行读写操作。整个收银系统采用一对多的通讯方式,即一个上位机 (超市的主机)与多个下位机 (购物车)进行通讯。
2.6 EAS系统
解码器的内部实质是一个感应线圈,通过该感应线圈的工作,可在解码器上方产生一个16频点的交变电磁场,该电磁场即可实现软标签的解码[4-5]。本设计中的智能购物车采用内锁设计,即从条形码扫描仪中获取一个扫描脉冲信号,通过隔离电路传送至单片机进行识别,只有当单片机收到该脉冲信号后才会输出一个短暂的升压控制信号,使解码器的解码信号大幅提升,此时软标签才能被解码,可保证商品必须在收银后才能被解码,从而实现防盗功能。解码器与条形码扫描仪配合使用的原理图如图7所示。
3 软件设计
为实现智能购物车的功能,本设计采用了标准化和模块化程序设计方法。智能购物车的软件主要包括:系统初始化程序、价格查询程序、软标签解码程序、读卡结算程序以及无线收发模块程序等模块,其主程序流程如图8所示。
4 结束语
本智能购物车具有以下特点:
(1)支持商品的自助查价,可以避免超市手工对商品标价时出现错误,防止出现价格欺诈。
图8 主程序流程图Fig.8 Diagram of the main procedure
(2)持有超市购物卡的消费者可以自助购物结算,可减少排队等候时间。
(3)购物车的液晶显示屏处于待机状态时,可播放商品广告,促进商品的销售。
(4)购物车与EAS系统相结合,可有效实现商品防盗的目的。
该智能购物车功耗低,可靠性高,抗干扰能力强,信号传输距离较远,与目前广泛应用于各大超市的条形码识别技术和EAS系统具有很好的兼容性,因此非常适用我国的各大超市采用。随着我国经济水平的快速发展,超市的大量出现,以及用工成本的不断上涨,必会有广阔的市场前景。
[1]颜继红.超市一线员工高流动率问题的研究[J].科技和产业,2011,11(4):54 -55.
[2]刘伟勋.家乐福价格欺诈的背后[J].中国品牌,2011,(2):44-46.
[3]叶少龙,刘建群,吴积荣,等.PIC单片机在模具条码识别系统中的应用[J].广东工业大学学报,2009,26(2):94 -97.
[4]张佩剑.无动力智能节能型自动灌溉系统研究[J].森林工程,2005,21(3):19 -20.
[5]王忠勇,张建华,宋豫冀.基于89C2051的解码器设计[J].微电子学与计算,2002,(5):57 -58.