APP下载

基于物联网的农产品可追溯关键算法研究

2012-01-24张永恒

电子设计工程 2012年15期
关键词:读写器电子标签标签

张永恒 , 张 峰 ,2

(1.榆林学院 信息工程学院,陕西 榆林 719000;2.西北工业大学 自动化控制学院,陕西 西安 710065)

物联网作为新兴的物品信息网络,为实现供应链中物品自动化的跟踪和追溯提供了基础平台。在物流供应链中对物品进行跟踪和追溯对于实现高效的物流管理和商业运作具有重要的意义。

随着物联网的发展,其技术也被广泛应用到农业生产的各个环节中,目前大多农产品生产企业一直打着绿色农产品的旗号,但消费者并不能看到农产品是否是真正的绿色食品。有了物联网,消费者可以通过应用安装在厨房中的点菜机,把所需的农产品信息发送给生产厂家,厂家会把最新鲜的农产品送上门;农产品送到家后,消费者可以通过上网查询农产品包装上的条码,就能了解这棵农产品从种子到采摘的全过程。

同时,应用了物联网技术之后,可以提供绿色农产品的网上在线订购,这样可以及时的将绿色农产品送到消费者手中,保证了食品的新鲜程度,同时使消费者能上网通过商品条码查询,了解所购买的农产品生产的全过程,保证绿色、有机不掺假,让消费者买得放心。

1 相关技术及研究现状

在物联网相关技术方面,国内目前在无线传感器网络的软件方面也取得了相应的突破,在基于国外的操作系统之上,开发自己的中间件软件。如南京邮电大学无线传感器网络研究中心开发的基于移动代理的无线传感器网络中间件平台,深联科技开发的无线传感器网络开发套件[1]。国内研究机构在理论研究方面,如对无线传感器网络网络协议、算法、体系结构等方面,提出了许多具有创新性的想法与理论。在这方面,国内的南京邮电大学、清华大学、北京邮电大学等都取得了一些相关的理论研究成果。

本文参照一些农产品企业的实际生产流程,借鉴国内外可追溯系统的相关研究,通过研究基于物联网的农产品可追溯系统处理方案,研究了基于物联网的农产品编码方案以及RFID防碰撞算法模型和数据采集过滤算法模型,并在实际项目中应用,取得了良好的效果。

2 物联网及其工作原理

2.1 物联网的定义

物联网(The Internet of things)的定义是:通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络[2]。

2.2 物联网的工作流程

物联网的基本工作流程由四部分组成,即由信息采集系统(RFID系统)、PML信息服务器、产品命名服务器(ONS)和应用管理系统[3]。物联网的系统结构如图1所示。它们的功能分别如下:

1)信息采集系统。信息采集系统包括RFID电子标签(tag)、二维码、阅读器 (Reader)以及数据交换和管理系统软件,主要完成产品的识别和产品的EPC(Electronic Product Code)码的采集和处理。

2)产品命名服务器(ONS)。产品命名服务器 ONS(Object Name Service)主要实现的功能是在各个信息采集点与PML信息服务器之间建立关联,实现从物品电子标签EPC码到产品PML描述信息之间的映射。

图1 物联网系统结构Fig.1 Internet of Things system architecture

3)PML 信息服务器。 PML(Physical Markup Language,实体描述语言)信息服务器中的数据定义规则由用户创建并维护,用户根据事先规定的规则对物品进行编码,并利用XML对物品信息进行详细描述。在物联网中,PML服务器主要用于以通用的模式提供对物品原始信息的规则定义,以便于其他服务器访问。

4)业务管理系统。业务管理系统通过获取信息采集软件得到的EPC信息,并通过ONS找到物品的PML信息服务器,从而可以以Web的形式向Internet用户提供诸如信息查询、跟踪等功能,用户也可以通过手机或无线PDA实时了解物品的状态。

3 基于物联网的系统架构设计

基于物联网的农产品可追溯系统采用了无线射频身份识别和二维码技术,每棵农产品上都贴上二维码,不管农产品卖到哪里,消费者都可以查到农产品的来源。基于物联网的农产品可追溯系统的结构如图2所示。它主要由农产品识别、信息处理/控制/跟踪、PML服务器、本地数据库服务器、业务系统5大模块组成。它们的作用分别如下:

1)农产品识别。农产品识别系统的核心是农产品的编码和识别。由于每棵农产品的条形码都有唯一编码,不管农产品卖到哪儿,只要输入农产品的编号,就可以对农产品进行跟踪和监控。所以,在基于RFID或二维码标签的农产品可追溯系统采用EPC码作为农产品的唯一标识码,标签由芯片和天线 (Antenna)组成,每个标签具有唯一的产品电子码。EPC码 (Electronic Product Code)是Auto-ID研究中心为每个物理目标分配的唯一的可查询的标识码,其内含的一串数字可代表农产品类别和农产品ID、生产日期和生产地等信息[4]。同时,随着农产品的销售转移或变化,这些数据可以实时更新。通常,EPC码可存入硅芯片做成的电子标签内,并附在被标识农产品上,以被信息处理软件识别、传递和查询[5]。

2)信息处理/农产品控制/跟踪。信息处理/控制/跟踪模块是系统的核心功能模块,它通过数据采集接口、信息处理、农产品跟踪和监控3个接口同其他功能模块进行交互,从而实现农产品的自动处理。

3)PML服务器。PML服务器主要由农产品生产厂家创建并维护的服务器,它以标准的XML为基础,提供农产品的详细信息,如农产品类别和ID、登生产日期和产地等信息,并允许通过农产品的EPC码对农产品信息进行查询。

4)本地数据库服务器。本地数据库服务器主要用于存储数据采集和处理接口获得的农产品信息,以便在业务系统中查询和维护。例如,用户可以通过手机或无线PDA或Web客户端随时随地查询农产品的当前状态。

图2 农产品可追溯系统结构图Fig.2 Agricultural product traceability system architecture diagram

4 基于物联网的农产品编码实现

4.1 编码系统实现的关键技术

为确保农产品处理的完整性,对每棵农产品上的标签都进行了唯一编码。编码由3位农产品类别码和10位农产品ID码、10位生产日期码、4位生产地码、4位生产厂家码、4位销售地码、10位销售日期码、4位销售企业码及6位序列号组成。 在农产品销售前,为每棵农产品上贴一个RFID标签。RFID电子标签编码组成如图3所示。

图3 RFID电子标签编码组成Fig.3 RFID electronic tag coding format

4.2 RFID中间件的设计

根据前面研究的标签ID表示方法以及Savant中间件的定义,RFID中间件的功能模块应该包含如下几个功能模块:Reader接口模块、逻辑驱动器映射模块、RFID数据过滤模块、业务规则过滤模块、设备管理与配置模块、上层服务接口模块[1]。其中,Reader接口用于中间件与RFID读写器的数据通信,主要有获取RFID数据以及下达设备管理模块的读写器指令。设备管理配置模块用于调整RFID读写设备的工作状态,配置相应的Reader接口参数等,逻辑读写器映射模块用于将多个物理读写器或者读写器的多条天线映射成为一个逻辑读写器。

5 农产品可追溯系统的RFID防碰撞算法研究

在大多应用中,在读写器范围内存在多个待识别的标签,射频识别系统的一个优点就是读写器在很短时间内对多个标签进行识别。从读写器到标签的通信,多个标签同时接收到同一个读写器发送的数据流,在读写器的作用范围内有多个标签同时向它发送数据,这种形式被称为多路存取。为了防止由于多个标签数据在读写器的接收器中相互干扰而不能准确读出,必须采用防碰撞算法来加以解决。读写器防碰撞模型如图4所示。

图4 读写器防碰撞模型Fig.4 Reader anti-collision model

假设在某一RFID系统中,读写器识别标签的EPC在k个比特位出现碰撞,则算法搜索的范围为2k个标签,其EPC除碰撞位之外其他比特位是确定的。假设存在某一标签,其不在搜索的范围之内,则其EPC必定与其他标签在除碰撞位之外的某一位或某几位比特不同,这样就会在其他的比特位上也出现碰撞,这与已知的碰撞相矛盾,所以定理成立。算法搜索需要的总的时隙数T。

其中,Tc,Tr,Te分别代表碰撞、可读和空闲的时隙数。且总的时隙数是不同深度i对应的时隙数的总和,即:

其中,k代表最大的搜索深度,N代表读写器作用范围内所有待识别的标签数。T(N,i)表示在搜索深度i上,算法所需的时隙数。深度为i的搜索,最多可确定2i个时隙。对于标签EPC长度为n和标签总数为N的RFID系统来说,估计出现的空闲时隙数为:

可读时隙数为:

碰撞时隙数为:

由于该算法所选择段数是根据碰撞比特的位数决定,某一比特位不发生碰撞的概率为2N-1,所以段数满足二项式分布:

将(6)代入(8)式,就可以得到算法的碰撞数:

6 RFID数据采集过滤算法设计

RFID采集的原始数据量非常大,在实际应用中,根据具体的配置不同,每台读写器每秒可以上报数个至数十个不等的电子标签数据,如重复多次扫描同一个电子标签,但其中只有少部分是对用户有意义的、非重复性的数据,这样大量的数据如果不经过去冗等处理而直接上传,将会给整个RFID系统带来很大的负担。 所以,对RFID采集的数据进行过滤处理。

RFID数据采集过滤方法设计主要可以分为如下几类:

1)建立数据采集事件列表类:对每一个新到电子标签数据进行实时检测,如果是新扫描的电子标签,则加入到相应列表中,如果该标签在列表中已存在,则仅更新对应标签的时间等状态数据,而不新建标签数据记录,以达到清除重复数据的目的[11]。

2)数据采集事件编码类:对电子标签状态的改变进行编码,定义标签出现的状态编码为0,标签状态消失的编码为1。 然后加入计时器机制,对计时器有效时间内的同一标签的状态跳变进行忽略,从而在状态定义和时间维度2个方面对数据进行了去重化。

上述这些算法均能够很好地消除冗余数据,减少了上层系统的负荷。 但在实际应用中,除了RFID数据的去冗化以外,对数据的过滤还有着其他的需求。针对上述问题,设计了在不同应用场景下的适应性和有效性的过滤算法.实验平台使用RS232接口的单天线读写器,该读写器报告周期为1s,每次报告标签数为5个。算法实现采用java语言,通过Java串口来进行串口通讯。

首先是为标签构建一个RTagReadEvent类,该类包含的关键参数和方法如下:

public void run(){

while(currentvalue>0){

if(currentvalue>=tagmax&&!detecedStauts) {

//触发标签出现记录

……

detecedStauts=true;

}

else if( currentvalue<=tagmin&&detecedStauts){

//触发标签消失记录

detecedStauts=false;

}

currentvalue--;

当过滤模块主程序检测到一个新标签的时候,便为其建立一个RTagReadEvent类的对象newReadTag,并对各个关键字段赋初值,同时启动该对象内部的计时器线程,该计时器线程的作用是每个报告周期对标签权值value进行检查并触发相应操作.每次检查后将标签权值currrentvalue减1,以实现当标签未被报告时其权值的逐步下降.当权值currentvalue减到0的时候,计时器线程停止,这时可以销毁该对象。

当过滤算法主模块发现报告的标签已存在时,对该标签对象的currentvalue值进行累加:

newReadTag.currentvalue+=valueStep;

if(newReadTag.currentvalue>=newReadTag.tagmax){

newReadTag.currentvalue=newReadTag.tagmax;

}

其中valueStep就是算法中定义的累加权值.如果权值currentvalue已经达到阀值ReadTagmax,则将其保持在该值,防止经过多个上报周期后标签权值过高,影响后继判断。

7 RFID数据采集仿真与实现

应用该算法对农产品标签读写器进行了模拟,其中,读写器防碰撞检测算法仿真结果如图5所示。

图5 碰撞检测算法仿真结果Fig.5 Collision Detection Algorithm simulation results

下面对上述数据采集过滤算法进行仿真检验,设置valueStep=5,tagmax=8,tagmin=0,当标签进入读写器范围后,经过8s左右的时间过滤模块触发标签出现操作,人为将标签多次短时间移出读写器范围,模拟信号干扰和波动的情况,并将另一标签从读写器范围内移过,读写器均未触发多余的标签出现和消失操作,读写器扫描标签数据如图6所示。

图6 读写器扫描标签数据模拟图Fig.6 Reader scans the tag data mimic diagram

将图6周期中出现的RFID标签编码为标为1,未出现的编码为0,这样,对每一个产品电子标签,其事件可以记录为一个01序的二进制串.对图6而言,tag1可编码为01001011,表示标签通过了读写器范围;tag2可编码为11011000,表示标签离开了读写器范围;tag3可编码为00000011,表示标签进入并停留在读写器范围中。

8 结 论

本文所提出的基于物联网的农产品可追溯系统,它具有高度自动化的特点。目前基于该方案开发的农产品可追溯系统已经在国内某农产品企业安装使用,今后将根据用户的反馈继续完善。

[1]Beno Calmels,Sebastien Canard, Mare Girault.2006.Low-Cost CryPtograPhy for Privaey in RFID Systems[C]//IFIP International Federation for Information Proeessing:238-250.

[2]D Brock.The Physical Markup Language(PML)-A Universal Language for Physical Objects[R].Technical Report MIT,MIT Auto-ID Center,2001.

[3]SSarma, DBrock,KAshton.The Networked Physical World[R].White paper MIT,MIT Auto-ID Center,2001.

[4]C Law K Lee,K Siu.2000.Effieient Memoryless Protoeol for Tag Identifieation[C]//Fourth Int'l Workshop Diserete Algorithms and Methods for Mobile ComPuting and Comm:75-84.

[5]Generation 2 standards[J].Compuier Standards&Interfaces,29(2):254-259.

[6]Chung HB,Mo H,Kim N,et al.An advaneed RFID system to avoid collision of RFID reader,using channel holder and dual sensitivities[J].Microwave and Optical Technology LEtters,2007,49(11):264-2647.

[7]Eom J B,Lee T J,Rietman R.An Effieient Framed-Slotted ALOHA Algorithm with Pilot Frame and Binary Selection for Anti-eollision of RFID Tags[J].IEEE Communications Letters,2008,12(11):861-863.

猜你喜欢

读写器电子标签标签
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
适用于高衰减汽车玻璃的电子标签方案与应用
标签化伤害了谁
科学家的标签
探寻“千万”的背后——写在金溢科技电子标签销量超1000万之际
基于视频抓拍读写器的高速公路防倒卡研究
ETC电子标签的自由流应用
基于固定条码与电子标签比对设备的设计
基于随机时隙的RFID读写器防冲突方法