林产品物流RFID手持机中间件的设计
2016-04-17陈清耀林敏敏林宇洪邱荣祖
陈清耀 林敏敏 林宇洪 邱荣祖
(福建农林大学交通与土木工程学院,福建福州350002)
林产品物流RFID手持机中间件的设计
陈清耀 林敏敏 林宇洪 邱荣祖
(福建农林大学交通与土木工程学院,福建福州350002)
林产品物流应用RFID管理时,存在着标签数量变化范围大的问题,传统固定帧时隙的抗碰撞算法效率仅为0.116。为了解决该问题,本研究选择了空降兵DS5 UHF RFID手持机为硬件基础,应用Microsoft Visual Studio 2013作为开发工具,设计了林产品物流RFID手持机系统。采用抗碰撞算法进行仿真,获得了9条识别标签数据,通过帧长和识别标签数反推外界标签的总规模数,调整下一帧的帧长与之匹配,从而提高了RFID系统在林产品物流场景中的识别效率,提高至0.315。
RFID;SDK;多目标识别;抗碰撞算法;林产品
2014年我国林产品出口总额达722.0亿美元,中国已经成为林产品加工大国和贸易大国[1],随着林产品国际市场的竞争加剧,国际贸易非关税壁垒也不断增加,提高了发达国家林产品市场的准入门槛。中国企业加强林产品加工管理和流向追踪,提供完整的生产日志,证明产品原料来源合法,保证质量安全,保护消费者利益,是应对绿色壁垒的重要方法之一。
通过对福建省多个林产品企业调研,发现林产品生产作业和物流管理大多发生在户外,因此设计为手持机系统具有更广泛的应用空间。生产调研还发现,林产品概念宽广,其中木制工艺品和林副产品的体积差异很大,采用RFID标签标识林产品时,同时出现的标签数量变化范围大,通常在1~300内随机变化。市售RFID系统因为普遍采用固定帧时隙的抗碰撞算法,帧时隙被设定后,能够适应的标签变化范围不大,因此在林产品生产作业中识别效率不高,因此还需要设计一种林产品物流可通用的抗碰撞算法。通过技术对比,本研究选择超高频(UHF)频段的被动式RFID识别技术,基于ALOHA的动态帧时隙抗碰撞算法,设计手持机中间件,能较好地适应标签数量的随机变化。
1 硬件基础概述
选择空降兵DS5 UHFRFID手持机为硬件基础,其内置系统是Wince 6.0,可采用Microsoft Visual Studio 2013的智能终端开发方法,选择C++.net语言开发手持机系统。该手持机采用积木式架构,可搭配符合通用串口标准的各种硬件模块,如超高频RFID模块、二维码扫描模块、GPRSModem和WIFI模块。实现不同的功能组合,每种硬件模块的生产厂商都提供了软件开发工具包二次开发库,有效地降低了系统的开发难度。参考物联网三层架构的思想,设计RFID手持机总体架构见图1,包含5个模块,至底向上设计为读卡器天线模块、读卡器硬件模块2个硬件单元,和读卡器读写模块、中间件模块、无线通讯模块3个软件单元。无线通讯部分选择GPRS技术。
读卡器天线模块向空气幅射电磁能量,并捕获能量区域内标签信号;读卡器硬件模块则控制读卡器天线模块完成标签识别的工作[2];利用C++.net编写读卡器读写模块,调用厂商提供的SDK控制硬件端读写标签数据,同时把从硬件端获得的标签号,提供给中间件模块;中间件模块把大量的标签数据进行过滤、清洗、排序、压缩处理,把干净的、简洁的标签数据提供给无线通讯模块;无线通讯模块”调用WIFI模块或GPRS模块实现远程通讯,最终将标签数据传递给云端的应用系统。
2 中间件设计
RFID中间件是RFID系统软件的核心部分,主要负责对RFID标签上所存储的数据进行误差校正、拣选、汇总和运算等工作。RFID阅读器接收到标签发送的无线射频信号,将数据解码后传给中间件。中间件将精简数据传给通讯模块,减轻通讯模块的工作负荷。中间件不仅能保证有效的数据通信,减少通信数据量,加快了传输速度,除此之外还能实现设备无关性[3]。
2.1 中间件功能分析
在物流作业中,感知层需要识别的目标往往较多,一般通过频繁扫描来降低漏扫率。频繁扫描形成了海量数据,但其中绝大部分数据是冗余的,可以被合并精简。另外,现代硬件技术更新换代很快,应用层的云端系统如果直接控制感知层的RFID硬件,随着RFID硬件升级,应用层软件必须重新编写,提高了软件的维护成本。所以,引入中间件是物联网软件工程应对硬件升级的有效策略,首先中间件降低了感知层和网络层之间的通讯量,协调了硬件响应和通讯速率之间的矛盾,提高系统的响应效率;第二,中间件实现了设备无关性,因此硬件升级,只要重写中间件即可,无需重新开发应用层软件[4]。
RFID中间件应实现如下功能:1)阻挡系统外的无效数据。现在生产环境中越来越多的物品使用了RFID技术,捕获的RFID数据中一部分和本系统无关系,所以需要阻挡这些无效数据,避免增加应用层云系统不必要的工作压力[5]。2)清洗系统内的错误数据。RFID在通讯中偶尔会产生通讯错误,中间件应能识别并删除这类错误数据。3)应根据事件急缓程度进行通讯等级排序,对生产事件的处理顺序进行优化。4)对海量的RFID传感数据,实现合并和压缩,合并冗余数据,降低网络通讯的压力。5)中间件应当对RFID读卡器模块、GPRS通讯模块等硬件具有控制能力。6)内置优秀的抗碰撞算法。
2.2 中间件架构设计
中间件是传感器硬件和云端软件之间的通讯桥梁,中间件处在感知层和通讯层的结合处上,一端处理感知层的海量数据,一端安排通讯任务,实现硬件管理及通讯信息的管制[6]。本研究设计的中间件以RFID数据处理为主要任务,在DS5的基础硬件结构上搭配一维码激光传感器、二维码机器视觉传感器,并将其他传感器纳入中间件的统一管理,且抗碰撞算法仅对RFID读卡器有效。设计RFID中间件的架构见图2[7-8]。
2.3 RFID模块接口设计
采用C++.net开发语言,对手持机读卡器硬件模块实现控制,主要涉及以下4个功能:1)打开串口且连接UHF;2)关闭串口且断开UHF;3)实现抗碰撞识别;4)读取RFID标签。该程序支持通过调整Q值,来改变帧长,从而为抗碰撞算法优化提供了可能。RFID模块接口程序流程见图3。
2.4 GPRS模块接口设计
DS5的硬件架构可以同时支持GPRS和Wifi 2种无线通讯方式。在户外作业,通常只能采用GPRS通讯方式,调用厂商SDK编写程序,采用GPRS拨号上网方式,把中间件模块精简后的数据,向云端应用系统传送。其核心指令为:
“BOOL ret=initGPRS()”用于判断GPRSModem模块的硬件是否可以启动;
“BOOL ret=CGPRS_DemoApp.moduleOK()”用于判断是否可以实现GPRS的网络拨号连接;
“BOOL ret=CGPRS_DemoApp.HadSIM()”用于判断手持机上安装的SIM卡是否有效。
3 防碰撞算法的优化
中间件工作效率取决于抗碰撞算法。林产品物流的场景中同时出现的标签数量变化范围大,所以需要设计一种高效率的抗碰撞算法。
3.1 标签状态变换分析
满足EPC GEN2标准的标签必须能够实现就绪、仲裁、应答、确认、开放、保护以及杀死7个工作状态[9],基于ALOHA抗碰撞算法中标签状态变换原理图见图4。“CMD”指为了改变RFID标签状态所需要的硬件指令,“动作”指RFID读卡器硬件接收到“CMD”指令后产生行为,“应答”指RFID读卡器完成行为后向上位机返回的信息。识别标签的流程必须在“就绪”状态才能有效执行,抗碰撞算法必须遵循“仲裁、应答、确认”3种标签状态的变化原则。
3.2 碰撞概率模型分析
对帧时隙ALOHA抗碰撞算法数学分析,设读写器使用的帧时隙数为N,标签数为n(n≥2),标签自由选择和读卡器的通讯时隙,选择同一时隙的标签数量R服从二项分布概率模型,即R~B(n,1/N)。故:
其中:P(R=1)表示1个时隙中只有1个标签应答的概率,此时标签可被识别。函数P为离散函数,不能简单采用求导的方式计算极值,利用n个正数的均值不等式:
其中:a1,a2,…,an均为正数,且当且仅当a1= a2=…=an时,等号成立。故化简得:
上式当且仅当(n-1)/N=(1-1/N),即n=N时,等号成立,P(R=1)取最大值(1-1/n)n-1。
因此,当读写器每帧的时隙数N恰好和现场的标签数n相等时,单时隙的识别概率最高。当n=N且n趋于无究大时,单时隙识别概率的极大值为:
上述数学分析还说明,标签数量n与帧时隙数N不匹配时,RFID读写器的识读效率会下降。如标签数过少,形成较多的空闲时隙;而标签数过多,形成较多的碰撞时隙。
3.3 识别标签数曲线的绘制
采用MATLAB R2014a按图4所示的标签变化状态流程,编写仿真程序,模拟标签的选择通讯时隙的行为,对碰撞现象进行仿真试验[10]。在不同帧长规模和标签规模时各仿真10 000次,测定各种条件下的标签识别平均值。图5反映了在帧长为64的工作状态下,标签变化范围从0至512,不同的标签数量所对应的识别数。同法依次做出帐长为2、4、8、16、32、64、128、256及512条件下的识别标签数柱形图,存储成查询表。因此,可利用上一次识别时的帧长、识别标签数2个已知条件,通过查表法,反推外界标签规模。
3.4 反推外界标签规模的方法
当读写器每帧的时隙数N恰好和现场的标签数n相等时,单时隙的识别概率最高[11]。本研究算法通过上一次RFID扫描时的帧长和识别标签数查表反推外界标签规模,把RFID读卡器的帧长设定为推算值,进行新一次扫描,并根据新的识别数据修正推算值。通过几次推算并修正推测值后,推测的标签总规模将接近真实数量。由于几次推算后,帧长已接近于外界实际的标签规模数,推算流程图见图6。该优化算法能迅速调整ALOHA动态帧时隙的帧长,适应林产品物流环境中标签数量变化幅度大的特点,提高帧中识别时隙的出现概率,降低帧中碰撞时隙和空闲时隙的概率,因此能提高RFID读写器工作效率。
4 实测与讨论
识别效率公式如下:
式中:P为识别效率;为第ni帧识别时隙的数量;mi为第i帧总时隙数量。
市售的RFID系统因为采用固定帧时隙,在标签数量1~300动态变化的工作场景中,帧时隙通常被设定为128,应用手持机设备实验测定识别效率仅为0.116,在林产品快速通过扫描区域时,容易发生漏扫现象。针对识别效率低的问题,本研究开发了一套林产品物流RFID手持机系统,以C++.net语言对厂商提供的SDK接口进行二次开发,并针对林产品物流中标签数量变化范围大的特点设计了一种抗碰撞算法,能够在几次推算过程中确定外界的标签规模数,利用设置帧长和标签规模一致的方法,提高识别时隙的出现概率。
在标签数量1~300动态变化的工作场景中,应用手持机设备实验测定综合识别效率提高至0.315,接近于ALOHA算法的理论极限值0.368。在上述抗碰撞算法的基础上,还可通过使标签的极化方向与天线一致、使用大尺寸标签以及手持机外接天线等方式提高标签的识别效率。
UHF RFID手持终端体积小,携带方便,识别距离中等,具有高可靠性,低功耗,操作简单,模块化设计等特点,广泛应用于交通运输、物流管理、金融交易领域中。但因为手持机射频功率有限,识别距离仅在3 m内,最多只能进行300个标签规模的实验,日后将把该算法移值到大型RFID设备,进行更大规模的标签识别测试。
[1] 2014年全国林业统计年报分析报告[EB/OL].[2015-05-06].http://www.forestry.gov.cn/main/225/content-763186.html.
[2] Peers Sven,Gasparin C P,Blackburn DW K etal.RFID tags for identifying and verifying agrochem icals in food traceability systems[J].Precision Agric,2009(10):382-394.
[3] 单承赣,单玉峰,姚磊,等.射频识别(RFID)原理与应用[M].北京:电子工业出版社,2008.
[4] 张智文.射频识别技术理论与实践[M].北京:中国科学技术出版社,2008.
[5] 林宇洪,沈嵘枫,邱荣祖.南方林区林产品运输监管系统的研发[J].北京林业大学学报,2011,33(5):130-135.
[6] 郭曼,朱海鹏,郦晶.基于数据网格的RFID农产品跟踪与追溯系统研究[J].农机化研究,2007(11):101.
[7] 单承赣,单玉峰,姚磊,等.射频识别(RFID)原理与应用[M].北京:电子工业出版社,2008.
[8] 林宇洪.木材供应链追溯RFIC卡的设计[J].西北林学院学报,2013,28(5):175-179.
[9] 刘庆华.基于EPCGen2协议的超高频RFID技术研究[D].合肥:安徽大学,2007.
[10] 王中祥.基于时隙ALOHA的RFID多标签防碰撞算法的研究与实现[D].上海:复旦大学,2008.
[11] 王康顺.基于ALOHA的RFID防碰撞算法的研究[D].广州:广东工业大学,2014.
(责任编辑 曹 龙)
Design of the RFID Handset System for Forest Products Logistics
Chen Qingyao,Lin Minmin,Lin Yuhong,Qiu Rongzu
(College of Communication and Civil Engineering,Fujian Agriculture and Forestry University,Fuzhou Fujian 350002,China)
The range ofamountof electronic tagswas excessively changed when RFID was applied in forest p roducts logisticsmanagement,and the efficiency of the traditional fixed frame time slot is on ly 0.116.To solve the prob lem,this study chose the airborne troops DS5 UHF RFID handsetas the hardware foundation and used Microsoft Visual Studio2013 as the development tool to design the RFID handset system of forest products logistics.In the paper,simulation testswere carried out by using collision-resistant algorithm,and obtained nine identification tags.the scale of the external electronic tags can be estimated through the frame length and the number of recognized tags.The identifiable efficiency of the RFID system achieved 0.315 by ad justing the frame length of the next frame.
RFID;SDK;multi-target recognition;anti-collision algorithm;forest products
S782
A
2095-1914(2016)02-0146-06
10.11929/j.issn.2095-1914.2016.02.025
2015-09-08
福建省科技厅重点项目(K5314005A)资助;福建省大学生创新创业训练计划项目(201510389079)资助。
第1作者:陈清耀(1992—),男,硕士生。研究方向:交通运输工程。Email:845721546@qq.com。
邱荣祖(1961—),男,博士,教授,博士生导师。研究方向:物流技术及交通运输。Email:419723301@qq.com。