超市快速智能结算系统的实现
2016-06-30马旭平马金舟何诚王小柏李传约
马旭平+马金舟+何诚+王小柏+李传约
摘要:现如今,超市结账排队问题突出,针对于该问题提出了基于RFID技术的超市快速结账系统,包括前端数据采集系统、超市前台收银客户端系统及超市后台智能综合管理系统。将经过RFID阅读器采集的条形码数据通过网络传输到前台收银客户端系统,通过对获取的数据进行匹配、处理、显示,使顾客能够快速得知购物车里货物的总价。通过对系统的实现与测试,证实了系统能够有效地缩短超市结账时间,让顾客有一次快捷美好的购物体验。
关键词:射频识别;超市结账系统;RFID射频识别技术
中图分类号:TP393.08;TP309 文献标识码:A 文章编号:1009-3044(2016)14-0151-04
Design of the Supermarket Express Checkout System Based on RFID Technology
MA Xu-ping, MA Jin-zhou, HE Cheng,WANG Xiao-bai, LI Chuan-yue
(School of Computer Science, Beijing Information Science and Technology University, Beijing 100101, China)
Abstract: Nowadays, the problem of supermarket checkout is still serious. The Express Checkout system which is based on RFID technology system has been proposed to address this need. The system comprising a data acquisition system, the client system Supermarket Cashier, supermarket Background Intelligent integrated management system. The RFID reader acquisition through bar code data to the Cashier client system over the network, through the acquired data matching, processing, display, enabling customers to quickly know the total price of the shopping cart of goods. By the implementation and testing of the system, analysing test data, it was confirmed that the system can effectively shorten the supermarket checkout time, and provide a fast and better shopping experience to the customers.
Key words: radio frequency identification; supermarket checkout system; RFID technology
现如今,随着人口数量的不断增长,超市在城乡中的数量也日益增多。而超市在给我们提供便利的同时也使得结账等待时间过久、付款方式繁琐的问题显得尤为突出[1]。倘若这类问题得不到及时的解决,久而久之,就会导致顾客对超市的满意度大幅下降,造成顾客流失。这不但影响了顾客的购物体验,也影响了超市的经济效益。针对以上的现象,我们设计并实现了一个基于RFID技术的超市快速结账系统,该系统能大幅较少顾客结账的等待时间,从而提高顾客满意度,达到顾客、超市经营者均满意的效果。
1 RFID技术
RFID(Radio Frequency Identification)技术,中文称为无线射频识别技术,是新兴发展起来的一项重要的自动识别和自动采集数据技术,可通过无线电讯号识别特定目标并读写相关数据,无需识别系统与特定目标之间建立机械或光学接触,是一种非接触式的自动识别技术[2]。RFID的核心是RFID标签( RFID Tag ),也称电子标签,由芯片与天线组成,芯片中存储有能够识别目标的信息。标签附着在物体上以标识目标对象 [3]。RFID按应用频率的不同分为低频(LF)、高频(HF)、超高频(UHF)及微波(MW),相对应的代表性频率分别为:低频135kHz以下、高频13056MHZ、超高频(860~960)MHz、微波2.4G和5.8G;RFID的能源供给方式分为无源RFID、有源RFID以及半有源RFID,无源RFID读写距离短,价格低;有源RFID可以提供更远的读写距离,但是需要电池供电,成本要高一些,适用于远距离读写的应用场合。本系统采用的是无源RFID,工作频率为900MHz。
RFID工作原理:当标签进入发射天线工作区域时,标签就会被激活,将自身的信息代码通过内置天线发送到读写器上,读写器获取标签信息代码并解码后,将标签信息送至主机进行处理,如图1所示。
本系统硬件主要由RFID电子标签、天线、读写器以及主机组成,如图2~5所示。
2 RFID&超市快速结算系统设计
基于RFID&超市快速结算系统,其示意图如图6所示。主要由以下单元组成:
1)具有非接触性的高速信息处理的RFID射频识别单元,用于识别超市商品上的标签。
2)具有超市前端数据采集单元,用于动态的采集商品的信息,并将采集到的数据通过有线网络传输到前台收银客户端,再通过有线网络传输至后台服务器端。
3)具有后台数据分析和处理的计算机系统即超市后台智能综合管理系统,系统存储所有超市商品的信息,主要完成一:将RFID射频识别单元采集来的数据进行处理,并将处理结果传输到前台客户端;二:可对商品信息进行增、删、改、查等操作。
4)具有超市前台收银客户端显示单元,用于接受后台处理完后传送来的数据,显示并打印流水小票。
超市快速智能结算系统主要部署方案如下:
一般超市部署10个结算通道,分别需要40个天线、10个RFID读卡器、10台收银客户端。每4个天线与1个RFID读卡器构成一个购物通道,每一个通道需要一台收银客户端,当RFID读卡器读取到数据后传输至后台服务器,经过对数据的处理与匹配,将得到的有效数据再传至前台客户端,收银员可以清楚看到该购物车内所有货物的价格。后台商品管理员,可以通过后台服务器查看流水单,清点商品,对超市商品进行管理及维护。整个网络都是用内部有线网络,保证数据的完整性、可靠性、安全性。
3系统实现原理
3.1 RFID&前端数据采集系统
RFID&前端数据采集系统是超市快速结账系统的核心部分。当载满贴有RFID标签商品的购物车通过用RFID阅读器构成的购物通道时即启动前端数据采集系统,实现对商品的数据采集,RFID&前端数据采集系统结构如图7所示。
前端数据采集系统中,要在短时间内完成对大批量的数据进行数据采集,保证数据采集的完整性,将利用并发时的采集模式。
在单通道里利用RFID阅读器的并发实现快速结账。当使用一个天线进行扫描时,购物车里的物品不能够一次性扫描完,存在着各种问题,例如水、金属等物质影响天线扫描的范围,从而需要更多的时间去反复扫描。当使用4个天线构成环形,形成立体式扫描,增大扫描范围,加快扫描时间,具体结构如图8所示。
在多通道里利用多个客户端同时与后台数据库交互以实现快速结账。整个系统软件部分分为前台收银和后台数据库两部分,运用Remote技术,让多个前台客户端同时与后台数据库进行交互,实现多线程工作,提高结算速度,基于这样的系统软件交互设计理念,可在前端多个通道部署前端数据采集系统,实现多线程并发工作,具体结构如图9所示。
3.2 系统工作流程
超市快速智能结算系统的工作流程如图10所示。
在系统初始化后,当载满贴有RFID标签的购物车通过RFID阅读器组成的通道时,RFID阅读器读取RFID标签内的信息,在局域网内通过.Net平台的Remote技术将数据传输至后台管理系统,与商品信息库里的商品条形码进行匹配,将得到的商品信息再回传到前台收银客户端并显示在屏幕上,之后按照回传的商品单价和数量在前台收银客户端计算出总支付金额,待顾客结账完成后再将更新信息传输至后台管理系统,打印流水小票,并更新库存数据。
4 系统软件设计实例
该系统的软件设计包括超市前台收银客户端系统设计和超市后台智能综合管理系统设计两部分。该系统设计基于.NET运行平台,使用C#编程语言及SQLite数据库系统,可运行在Windows XP及以上版本的操作系统。
4.1 超市前台收银客户端系统
超市前台收银客户端分为数据处理模块和数据显示模块,如图11所示。
4.1.1 数据处理模块是前台客户端的主要模块
该模块运用.Net平台的Remote技术,使多个前台客户端并发地与后台智能综合管理系统实现数据的交互,设计实现如下:
首先创建一个类库,即要操作的远程对象的类,并编译为动态链接库(DLL)。
第二在服务端创建程序并引用包含远程对象类的DLL。分两步实现,第一步:注册通道。程序中引用“System.Runtime.Remoting”命名空间,System.Runtime.Remoting命名空间提供了IChannel接口,使用TcpChannel通道类跨程序域进行通信,在实例化通道对象时,将端口号作为参数传递,再调用静态方法RegisterChannel()注册该通道对象;第二步:注册远程对象。通过调用RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemoteObj.RemoteObject),"RemoteObject",WellKnownObjectMode.Singleton);方法实现。该方法使用了SingleTon模式,即有状态模式。通过SingleTon激活方式,Remoting将为所有客户端建立同一个对象实例。当对象处于活动状态时,SingleTon实例会处理所有后来的客户端访问请求,而不管它们是同一个客户端,还是其他客户端,SingleTon实例将在方法调用中一直维持其状态,从而达到并发处理的目的。
第三在客户端的程序同样引用包含远程对象的DLL,并注册通道。具体实现与服务端注册通道类似,并通过Activator.GetObject()方法获得远程对象类的实体对象。
上述步骤实现了前台收银客户端和后台数据库的交互,即可通过远程对象类中的方法来传输数据。
4.1.2 数据显示模块
通过数据处理模块得到的数据,按照预先规定的格式,将货物的信息、数量和商品总价在前台收银客户端显示出来,并打印流水小票。
4.2 超市后台智能综合管理系统
超市后台智能综合管理系统由商品管理模块、统计查询模块组成,如图12所示。
4.2.1 商品管理模块
商品录入:将商品信息存入数据库中。
商品浏览:查看当前数据库中的商品信息。
商品查询:通过商品类型、名称或条形码对商品信息进行查询。
进货记录:查询该货物的进货批次(进货批次由系统自动生成)。
进货商管理:对进货商的信息进行增、删、改、查。
库存异动:在商品库存的数量存在人为变动时,更新现有的商品信息,保存异动记录。
库存盘点:通过借助RFID读卡器批量读取或者人工输入条形码的方法来统计实时的商品库存数量,若库存记录不一致就更新商品数量的数据。
4.2.2 统计查询模块
日汇总:将每日的销售情况以表格、柱状图或曲线图的形式直观的表现出来。
月汇总:将每月的销售情况以表格、柱状图或曲线图的形式直观的表现出来。
年汇总:将每年的销售情况以表格、柱状图或曲线图的形式直观的表现出来。
库存统计:将数据库里的数据通过统计,以表格、柱状图或曲线图的形式直观的表现出来。
5 测试
5.1 超市前端数据采集系统与前台收银客户端系统测试
在超市前端数据采集系统与前台收银客户端系统中,针对RFID阅读器能否快速完整的采集大批量的RFID标签做了测试。
我们对同一种货物,50个标签同时通过RFID阅读器进行扫描,收集数据如下:
扫描50件带RFID标签的物品,可达到50~80次每秒的读取速度,扫描结果如图13~15所示:
通过上述的测试结果表明,该系统可在实际环境中正常应用并高速读取批量RFID标签数据。
5.2 超市后台智能综合管理系统测试
我们对后台智能综合管理系统中的商品录入、商品查询以及日汇总进行了测试。
5.2.1 商品录入
录入测试商品信息如图,若该商品已存在则提示进行补货。
5.2.2 商品查询
商品查询测试了三种查询,分别是商品分类查询、条形码查询、商品名称查询。
针对日汇总进行查询,可以查询每天的流水单号的销售额等信息。
6 结束语
本文提出的基于RFID技术的超市快速结账系统,由RFID阅读器、RFID标签、超市前台收银客户端、超市后台智能综合管理系统构成,通过实际测试,可以加快结账速率,具有稳定可靠、结账效率高、使结账过程更加简单快捷等的优点。有益于解决当下超市普遍收银效率低下的问题,结合自主编写的收银软件,可分布式的实现超市等场景的快速收银。今后将在推广的过程中不断丰富和完善。基于该系统,下一步可在商品的RFID标签中加入更多信息,如货架位置,出售日期等等,进一步提升超市的智能化水平。
参考文献:
[1] 张琦琮. 超市排队系统仿真研究[J]. 计算机工程与应用, 2011(32): 228-230.
[2] 石国志, 王志良, 丁大伟. 物联网技术与应用[M]. 北京: 清华大学出版社, 2012.
[3] 王颖. 对RFID在图书馆应用的思考[J]. 图书馆工作与研究, 2009(2): 156-15.