基于RFID的智能购物管理系统设计与实现
2015-01-02贾宁
贾 宁
(大连东软信息学院计算机系,辽宁大连116023)
1 概述
超市购物是人们日常生活不可或缺的重要活动,超市作为人们生活中常用物品的主要来源之一,它需要利用少量的服务人员实现对众多货品信息的掌握和众多顾客结账流程的控制,其实现难度较大,因而针对超市购物过程的进货、出货问题成为近年来研究的一个热点[1]。另一方面,顾客作为超市的主要收入来源,往往由于结账速度过慢、服务态度较差等问题萌生对超市的误解心理,影响顾客在该超市的购物量[2],严重限制了超市的顾客流量,从而对超市的销售额产生强烈的影响[3]。
射频识别(Radio Frequency Identification,RFID)是一种新型的无线通信技术[4],目前广泛应用于公交、门禁、仓储管理等方向。一套完整的RFID硬件系统由读写器和电子标签构成[5],通过读写器接收、修改电子标签内部的数据,完成信息交互过程[6]。近年来,为提高超市购物速度、缓解顾客购物压力,国内外学者提出将RFID技术融合至超市购物系统的全新思路,从根本上替代超市原有的条码扫描机制[7],但是该替代方案通常用于单个标签扫描,而实际操作过程中一般需要大量电子标签准确、快速地进行多重识别,即需要进行防碰撞处理[8],处理过程将直接影响到RFID的整体性能[9]。由于多个电子标签位于阅读器的作用范围内,当其同时发送数据的时候,会出现数据的干扰导致数据传输失败,因此需要制定防碰撞算法来解决系统碰撞问题[10]。上述问题严重地限制了RFID技术在超市购物系统上的实际应用。
本文应用RFID技术对超市购物系统进行分析,提出一种多重识别策略,无需准确知道消费者的购物商品名、数量等参数[11],而是通过该模块对这些参数进行在线快速获取,并即时显示清单,陈列于终端之上,这种良好的获取信息机制为它的实际应用带来极大的便利[12]。在此基础上,为了更好地抑制多重识别过程中产生的冗余识别、死角识别等问题[13],本文对多种识别中采用的防碰撞算法进行改进[14-15]。
2 智能购物系统分析与设计
2.1 智能购物系统设计方案
本文将主要探讨基于RFID技术的购物系统的具体设计过程。该系统集物联网通信技术、数据库管理技术、射频识别技术于一体[16],具有运维效率高、服务品质优良、进出货便捷、结账准确性高等优势。
该系统主要包含以下部分功能:
(1)自助结账
针对一类存在多重识别约束的系统,本文在对多种防碰撞算法进行分析,并考虑对冗余识别的处理方法后,确定采用一种新型的防碰撞算法进行设计,实现消费者在指定区域内部旋转式快速结账。
(2)自助进货
基于自助结账过程,超市服务人员将综合各种进货条件,优先选择集中识别货品信息。集中识别主要应用于体积较小、数量未知的货品,通过RFID系统识别指定区域内部商品的数量,将数据保存至数据库中。可针对无法限制指定区域中且数量已知的货品进行人工主动识别。由于进货过程与结账过程相似,本文将不再赘述其实现过程。
(3)会员机制
本文系统采用会员机制进一步鼓励频繁访问顾客的购物过程。每位会员将获得标识该超市的RFID会员卡,通过引入积分、促销、限购等机制提升超市的吸引域,并扩大超市购物群。
(4)防盗措施
为提升超市利润,超市管理人员可减少监督服务人员数量,并采用RFID技术代替电子眼实现货品的防盗管理。考虑到所有货品将经过EXIT区域,可对结账区域内的货品信息进行特殊改写,从而通过货品内部信息区别非正常结账物品,相对于传统的条码消磁策略,该方法可靠性高,且电子标签可循环利用,符合现代的环保意识。
本文系统的方案设计如图1所示。
图1 本文系统设计方案
2.2 硬件设计
智能超市购物系统具有一个典型特点,就是要求具有快速且多重识别的能力,传统的条码扫描往往不能满足要求[17]。采用RFID技术是摒弃传统排队结账的一种新方案,它利用电子标签与读写器之间的快速响应,实现比传统条码扫描更快的结账效率。
基于以上考虑,本节将搭建基于RFID的购物系统模型,该模型主要由快速结账和防盗两部分组成。考虑到超市的购物规模,可将快速结账和防盗模型并处于同一局域网中,两者可传输数据,且相互独立。
快速结账具体硬件设计如图2所示。
图2 快速结账硬件设计过程
如图2所示,快速结账硬件结构主要分为3个部分:RFID系统,ARM板和外围设备。
(1)RFID系统
作为硬件结构的重要成员之一,本文系统使用PR9200超高频RFID读写模块,采用无线电信号来检测固定区域内部电子标签的信息和数量,在此基础上,实现快速反馈信息至ARM板中,该系统包含3个子部件,分别为可供编程的读写模块、天线及衔接底座。其中,读写模块集成了高性能的RFID读写芯片PR9200,内置防碰撞算法主要用于信息检测,天线作为信号的接收者,而底座用于前两者间的衔接。
(2)ARM板
本文系统采用ARM Cortex-A8处理器,该ARM板主要用于 RFID系统数据的后期处理,它接收RFID系统的数据,在校验处理后,为终端提供显示的数据。其中烧录系统运行必备的软件系统。
(3)外围设备
由于信号检测必须在限定范围内完成,因此本文设计了一系列外围设备,如图2所示,2个固定台用于屏蔽范围之外的电子标签信号,旋转器则用于及时调整货品所在方位,便于提高读写的准确性。
防盗区域硬件设计过程如图3所示。
图3 防盗区域硬件设计过程
如图3所示,防盗区域主要分为3个部分:RFID系统,ARM板和80C51单片机。
(1)RFID系统
此部分的RFID系统为防盗区域量身定制,此系统的开发原理与快速结账基本一致,但使用机制恰好相反,此时的RFID系统并非用于获取某时刻的可控区域内物品,而是将区域内的全部物品用于数据库的检测和对比,筛选出数据库中未保留的物品,即未结账物品,将警告信号发送至ARM板之中。
该方式的成功与否很大程度上取决于防碰撞算法的改写思路和系统的刷新频率。
(2)ARM板
本文系统仍采用ARM Cortex-A8处理器,它借助于RFID系统中获得的信号来提取相关商品的详细信息,并将警报信号发送至单片机和管理员通讯设备中,警报信号的强弱由输入信号的数量决定,从而形成初步的防盗控制。
(3)80C51单片机
为实现警报模拟过程,本系统采用80C51单片机中蜂鸣器进行提醒,并结合LED进行辅助显示,其中,ARM板中传递信号的强弱转换为相应的表现形式,便于超市管理员观察。
2.3 软件设计
智能超市购物系统,以高品质的硬件设备作为保障,更需要辅以强大可靠的软件系统。在软件设计过程中,设计人员必须站在顾客、服务人员等使用者的角度上考虑问题。
由上节可知,本文系统使用ARM Cortex-A8智能终端平台,该平台配备完善的Linux操作系统,并内置有Qt 4.7平台,本文在此基础上进行软件系统的开发与设计。
图4描述了系统工作的总流程,其中关键技术涉及信息转换、防盗、特殊判定处理等模块。
图4 系统工作流程
系统工作流程如下:
(1)信息转换
如图4所示,信息转换作为软件系统的重要环节,它主要实现RFID读写器到软件系统的数据双向流动,其中接口协议是其信息交换的标准,本文系统采用ISO 18000-7信息技术实现超高频、多重信息读取,同时规定标签与读写器间的端口,标签识别范围较大。
其中,标签内部的信息利用自定义的串口进行有效读取,即0xBB为头部信息,而0x7E为末位信息。为了实现快速读取,在保证信号准确的同时,可预先对信号数据段进行规划,在获取读写器传输的信号后,按需获取储存标识信息的字段。图5为从RFID标签获取的信息标准格式。
图5 RFID标签信息格式
(2)防盗处理与检测
防盗处理在结账时自动进行,该过程耗时较少且对顾客屏蔽。在对大量RFID标签数据段归类的基础上,选定RFID标签中载荷字段存储防盗数据。利用RFID读写模块进行无线广播,即在所有标签上进行标志位设定。
防盗检测位于EXIT区域,利用防碰撞算法检测出未结账货品时,依据其价值总额,对单片机蜂鸣器加之相对应的直流电压。同理,可根据价值总额所属区间将其转换为LED灯数量,从而对单片机指示灯进行控制。
此外,防盗模块会立即调用ARM箱上的GPRS模块发送短信至指定Android或iOS手机中,短信内容包括时间、地点、价值总额等信息。
(3)特殊判定处理
在理想条件下,前期硬件、软件设计可以实现电子标签的快速处理,但综合大量的实验情况,该系统在冗余标签和死角位置等方面存在一定的缺陷。货品冗余是一种常见的现象,若货品叠放且与读写器相互平行,则读取的数量会出现误差。在特定的情况下,货品位于结账区域且与读写器平行的角落,此时该货品信息无法读出。
为了将该系统真正应用于快速购物过程中,本文对此类特殊情况进行判定和处理。一方面,需要调用货品数量过滤程序和边界检测程序,降低货品数量提取过程中的重叠度。在进行多次检测验证的基础上,过滤程序将在一轮识别后过滤重合的标签信息和会员卡标签信息,而边界检测程序主要用于判断信息有出入的标签,以此确保数据信息的正确性。另一方面,可以充分利用其他设备,如旋转器等,调整货品的方向,使货品尽可能脱离读写器平面中心。
3 防碰撞算法的设计与改进
射频识别系统主要存在3种不同通信形式。第1种是“无线广播”,即阅读器向作用范围内的所有标签发送数据。第 2种是“多路存取”[18],即第1种形式的逆过程——阅读器读取作用范围内的全部标签信息。第3种是多个阅读器同时给多个标签发送数据。每个标签包含唯一的“ID”,若多个标签在同一阅读器的作用范围内,其信号相互干扰将产生数据碰撞,造成读写数据失败[19],为防止此类碰撞的产生,需要设计一系列的防碰撞算法。
根据本文系统的设计思路,本文算法主要针对前2种通信方式,分别应用于防盗信息处理和多重识别过程中。为避免出现实现过程中的不确定因素,如参数误差、硬件设备因素以及空间干扰等,本文深入研究应用于RFID的防碰撞算法,以提高对于这些因素的适应能力。
3.1 多重识别
为实现多标签快速、正确识别,在研究原有二进制防碰撞算法的基础上,本文系统针对二进制搜索算法进行改进,主要体现在以下2个方面:减少阅读器和标签之间的通信数据,减少阅读器对标签的搜索次数。
(1)减少阅读器与标签之间的通信数据
阅读器与标签进行通信时,发送的二进制位数越少,碰撞位越小,节省传输数据的长度越多。在设计时,可在标签里增加一个模拟计数器位,在开始搜索前,计数器值全部归0。阅读器第一次发送命令时,要求所有的标签都做应答,返回各自的序列号,等阅读器发现有碰撞时,分裂发生碰撞后的连续信息,把发生碰撞的最高位D位(最高碰撞位)发给所有标签,计数器数值为0的标签,检测自己的D位,如果为0把剩余的序列号发给阅读器,其他的标签自动把自己的计数器加1,以此分出避让等级。这样每次阅读器发送最高碰撞位时,就只有计数器数值为0,并且碰撞位为0的标签应答,其他标签的计数器数值加1,不做应答。这样在阅读器向标签传输命令时只传输碰撞位的值即可,大大节省了传输数据的长度,减少搜索时间,从而提高效率。
(2)减少阅读器对标签的搜索次数
为了减少搜索次数,可在电子标签里增加一位奇偶校验码。这样原先的8位序列号,变为包含校验码的9位序列号。此时,电子标签的序列号除了奇偶校验码之外,还包括一个唯一的ID信息,为提高检索效率,可将校验码置于序列号最左侧位置,此时,若需要响应阅读器的读写指令,可事先对电子标签进行分类,第1类的标签ID信息包含奇数个1,而另一类ID则包括偶数个1。阅读器对电子标签进行搜索时,对应答碰撞位的数量进行合理判断,如果碰撞位数为0,则直接获取电子标签信息,如果碰撞位数为2,则通过奇偶校验位和已知标签ID包含1的位数即可识别出这2个电子标签的信息,搜索判断就可以完成,从而大幅度减少搜索次数。随着标签越多,搜索次数降低得越明显。
图6为改进的二进制搜索算法流程。由于传输数据的改进,每次只传输最高碰撞位的位置,从而大大减小了传输的数据量;由于一位奇偶校验位的引进,使得阅读器的搜索次数大大减少。
图6 二进制搜索算法流程
为了能够更清晰地看到改进的二进制算法的优越性,表1将改进算法与原有算法的识别次数进行比较,分别使用10,20,40,80,160,200 个标签进行测试。
表1 改进算法与原有算法识别次数比较
由测试结果可知,改进算法能够大量减少标签的搜索次数,随着标签数量的增加,其效果愈加明显,从而大大提高系统的标签识别效率。
3.2 防盗信息处理
以上的二进制搜索算法能够提高系统的识别效率,在此基础上,辅助“无线广播”+“正常信息过滤”技术,从而实现超市系统的防盗机制。其中,无线广播技术只需在上文介绍的算法“阅读器与标签进行交流”步骤之后,增加“阅读器向标签序列位书写标志信息”一项即可。待全部标签检索完毕时,书写信息同步完毕。
正常信息过滤过程类似于二进制搜索算法的逆过程,将第X位设置为固定标志信息位,反复读取“第X位=0”的标签信息,其余标签设置为“休眠”状态即可。同时,针对非正常标签,系统将依照数据库中已售商品信息进行二次比对,从而提高防盗处理环节的可靠性。
4 实验结果与分析
仿照上文搭建的智能购物系统模型,使用Qt进行应用软件设计,并进行实验测试,主要考察正常/会员结账过程效率、防盗过程的可靠性和其他特殊因素对系统的影响。
实验1当大量含有标签的商品经过结账区域时,RFID系统识别时间与传统的条码扫描时间对比如图7所示。
图7 结账效率测试结果
实验2大量标签同时经过结账区域,初始条件:20,50,80,120种标签,包含会员卡。此时的商品识别率实验结果如图8所示。
图8 商品识别率测试结果
实验3将未购买商品带出超市。初始条件:2种商品未购买,与其他20,50,80,120种标签同时位于EXIT区域。此时的实验结果如图9所示。
图9 防盗测试结果
由图7可知,RFID系统在结账效率上远优于传统的结账方式,从图8、图9可知,系统在结账过程和防盗过程均具备良好的准确性和一致性,这在一定程度上验证了本文建立模型和程序设计的正确性,且此系统能够满足日常生活所需,失败率较低。此外,从这些结果中可以看出改进后的防碰撞算法对系统效率的改善非常明显。
5 结束语
RFID技术是一项多学科交叉的新兴研究领域,将RFID融合至超市购物环节,将促进物联网在社会、经济等多种方向的广泛应用。本文从用户和管理人员角度出发,将超市重要环节与RFID技术相结合,进一步提高超市的购物和管理效率。本文主要在以下4个方面进行研究:(1)考虑传统形式的条码扫描速度较慢,本文设计了快速识别特定区域内部标签信息模块,并采用改进后的二进制搜索算法,提高其识别效率。(2)将会员机制引入购物环节中,拥有会员卡的顾客将享受积分优惠等服务。(3)对于现有的购物系统,加入防盗策略,在特定区域内部未结账的物品将被快速检测,并通知相关人员。(4)通过实验验证系统设计过程的正确性。
[1] 谭 民,刘 禹,曾隽芳.RFID技术系统工程及应用指南[M].北京:机械工业出版社,2007.
[2] 周晓光,王晓华.射频识别技术(RFID)技术原理与应用实例[M].北京:人民邮电出版社,2006.
[3] 郎为民.射频识别(RFID)技术原理与应用[M].北京:机械工业出版社,2006.
[4] 杨海东,杨 春.RFID安全问题研究[J].微计算机信息,2008,24(3):238-240.
[5] 刘 斌,平 锐,孟德良.RFID潜在问题初探[J].中国无线电,2006,1(1):39.
[6] Juels A.RFID Security and Privacy:A Research Survey[J].IEEE Journal on Selected Areas in Communications,2006,24(2):381-391.
[7] Kossel M A,Kung R,Benedickter H,et al.An Active Tagging System Using Circular-polarization Modulation[J].IEEE Transactions on Microwave Theory and Techniques,2005,47(12):2242-2243.
[8] Mitov I P.Spectral Analysis of Heart Rate Variability Using the Integral Pulse Frequency Modulation Model[J]. Medicaland BiologicalEngineering and Computing,2001,39(3):348-350.
[9] Tse D N C,Hanly S V.Multi-access Fading Channels:Delay-limited Capacities[J].Information Theory,1998,10(1):1109-1110.
[10] Khan J Y,Li Yifan.Block Reservation Time Division Multiple Access(BRTDMA)Protocol for a High Capacity Wireless Network[J].International Journal of Wireless Information Networks,2000,7(4):211-220.
[11] Zhang Jianguo,Sharma A B.High-speed Optical TimedivisionMultiple-access(OTDMA)NetworksUsing OpticalSignal Processing[J].Photonic Network Communications,1999,4(1):273-285.
[12] Padhi S K,Karmakar N C,Law C L.Dual Polarized Reader Antenna Array for RFID Application[J].Antennas and Propagation Society International Symposium,2003,10(4):265-266.
[13] Vogt H.Multiple Object Identification with Passive RFID Tags[J].Man and Cybernetics,2002,10(3):6-9.
[14] Kaewsirisin S,Supanakoon P,PromwongS.Performance Study of Dynamic Framed Slotted ALOHA for RFID Systems[C]//Proceedings of ECTICON’08.Washington D.C.,USA:IEEE Press,2008:431-416.
[15] Lee S R.An Enhanced Dynamic Framed Slotted ALOHA Algorithm for RFID Tag Identification[C]//Proceedings of the 2nd Annual International Conference.Washington D.C.,USA:IEEE Press,2005:1-7.
[16] Hartmann C,Hartmann P,Brown P.Anti-collision Methods for Global SAW RFID Tag Systems[C]//Proceedings of the 50th InternationalUltrasonic,Ferroelectrics,and Frequency Control Joint Anniversary Conference.Washington D.C.,USA:IEEE Press,2004:805-808.
[17] 李兴鹤,胡咏梅,王华莲,等.基于动态二进制的二叉树搜索结构 RFID反碰撞算法[J].山东科学,2006,19(2):51-55.
[18] 谢振华,赖声礼,陈 鹏.RFID技术和防冲突算法[J].计算机工程与应用,2007,43(6):223-225.
[19] 余松森,詹宜巨.基于后退式索引的二进制树形搜索反碰撞算法及其实现[J].计算机工程与应用,2004,40(16):26-28.