文献标识码: A
文章编号: 0258-7998(2013)01-0031-03
无线射频识别RFID(Radio Frequency IDentification)技术又称为电子标签技术,具有非接触、可批量读写、可重复利用等特点[1],使其在食品溯源系统中得到了广泛运用。随着食品溯源系统的广泛应用,系统集成规模越来越大,从单个的商场、农贸市场逐步扩大到区县甚至是城市。在分布式食品溯源系统中,RFID中间件在食品溯源应用和RFID阅读器之间扮演着承上启下的关键角色[2]。由于其具有体积小、成本低、部署方式灵活等优点,嵌入式RFID中间件非常适合在食品溯源系统中应用。
根据嵌入式的特点,本文设计了分层的轻量级嵌入式RFID中间件ERM(Embedded RFID Middleware)模型,并在嵌入式平台上实现了该ERM中间件。
1 分布式食品溯源系统
利用嵌入式RFID中间件来构建分布式应用系统简单而快速[3]。分布式食品溯源系统如图1所示。溯源系统从左至右分别涉及食品流通的4个环节:生产、加工、物流、销售。而系统自下而上可以分为3个部分:
(1)信息采集模块:包括食品电子标签和终端设备,二者都构成一个典型的RFID应用系统,主要完成食品的识别和EPC 码的采集和预处理。本系统采用超高频RFID技术,符合ISO180000-6C(EPC Global Class1 Gen2)协议。食品生产厂家将含有全球唯一的EPC码和商品信息存储在电子标签中,并将其附着在食品的包装上;食品通过各个环节时,标签在经过阅读器的感应区域后,会自动被阅读器捕获;经过防碰撞机制和安全认证后,阅读器会将标签信息阅读到终端设备,这样就实现了自动化的食品信息采集。
(2)嵌入式中间件:作为食品溯源系统的中间设备,其主要完成对终端设备的管理、数据信息采集、处理、保存和上传到溯源平台服务器等功能。中间件从RFID原始数据中解析出时间、商户信息、流通状况和溯源码(EPC码)等信息,将信息存入中间件数据库并通过远程网络接口上传到服务器平台。
(3)溯源平台服务器:通过以太网接收食品相关信息并进行处理和应用。溯源平台服务器通过专用网与政府监控服务器连接,政府监管部门可以及时地发现和追踪食品安全问题。消费者则可以根据销售溯源码,通过短信、电话方式或进入本地溯源网站,查询食品流通记录,以保障消费者的有效追溯权利。
分布式食品溯源系统通过RFID技术和嵌入式中间件,在互联网的基础上构建了物联网信息服务系统[4],保障了食品溯源的有效性和可靠性。
2 嵌入式中间件硬件设计
为了实现高性能、低成本的嵌入式中间件,采用了高性价比的硬件设计方案。
如图2所示,中间件硬件主要由ARM主控模块(AT91SAM9260)和外围器件组成。同时,选用大容量的存储器方案,包括64 MB的SDRAM、32 MB的Flash存储器,以及可支持扩展至4 GB的Micro SD卡。此外,还包括以下各个功能模块:以太网接口和GPRS模块,用于连接溯源平台服务器;阅读器接口包括ZigBee 传输模块、RS485模块和 RS232模块,终端设备可以通过3种方式与中间件通信;外设接口包括USB接口和串口,用于安装适配器驱动和复制存储器数据到其他设备;LCD屏和键盘用于用户与中间件交流,可以在中间件设备上管理终端设备和查询相关信息;电源模块为各部分电路供电,中间件可以使用外接适配器或电池供电。
3 嵌入式中间件软件设计
中间件操作系统采用ARM-Linux2.6,在Linux Kernel启动后,对外设进行初始化,运行数据库SQlite3,然后调用各模块,生成各线程级的任务。根据EPCglobal标准体系的建议[5]并结合嵌入式的特点,设计了适合嵌入式的RFID中间件ERM。ERM的系统整体架构由终端接口层、逻辑处理层、应用集成层组成,如图3所示。
3.1 终端接口层
中间件架构最下层为终端接口层,其为各种类型的终端设备接口,负责把物理的硬件设备抽象为中间件的终端对象[6]。
中间件为每个终端配备一个适配器,不同种类的终端设备对应于不同类型的适配器,并且中间件可以动态地添加和删除适配器。适配器可以直接与终端设备的阅读器通信,收集标签数据然后送往阅读器接口。从阅读器接口出来的数据为统一格式的原始数据,从而保证了不同类型的阅读器可以完整地传送数据到中间件。终端管理模块主要完成不同终端的注册验证和管理控制。中间件可以通过配置终端对象的Driver、Rule、Dispatcher等参数,对不同的终端进行管理控制和数据读写。
3.2 逻辑处理层
作为中间件的核心层,逻辑处理层主要完成对终端数据的缓冲、过滤、事件处理和事件驱动控制等功能,其处理流程如图4所示。
逻辑处理层主要包括数据处理和事件处理两个部分。数据处理部分主要根据数据过滤规则,处理各种数据冗余,包括完成数据校验、数据合法性验证、删除重复和错误的信息等[7]。而事件处理部分主要根据业务规则,从数据中提取各种基本事件并判断事件类型,然后处理各种基本事件并执行相应的任务,形成相关的报告文件。
3.3 应用层
中间件架构最上层是应用层,用于提供各种应用接口。本系统主要包括本地的用户界面和远程网络接口。本地用户接口便于用户在中间件上控制各种终端对象和查看相关信息,远程网络接口方便服务器远程控制中间件和终端设备。中间件将根据服务器协议要求把数据封装成为XML(可扩展标记语言)格式,并以TCP方式发送给溯源平台服务器。为了方便中间件的管理和升级,中间件内嵌FTP和Telnet 服务程序。对外提供的标准接口为中间件提供了良好的扩展性和兼容性。
4 性能测试
经试验测试,本文设计的中间件具有如下性能:
(1)体积小,部署地点接近于数据现场。该中间件尺寸为:160 mm×80 mm×40 mm,重量大约800 g(含电池),与普通的手持式设备大小接近。
(2)功耗低。最大功耗为15 W,由于采用了屏保、待机和睡眠等节能技术,平均功耗在12 W以下。
(3)系统占用资源较少,性能较高。首先将中间件通过以太网与PC测试主机连接,在PC主机上打开cmd命令行窗口,输入Telnet 10.2.5.0(中间件IP),即可远程登录中间件;然后输入root,切换到根用户,再运行top指令。测试得到中间件性能如表1所示。
由表1可知,核心的system内存只有859 KB,加上外部中断和远程访问等进程,CPU占用率不足55%,占用内存总共不到1.5 MB,其余为用户的缓冲和处理所占用的资源和空闲资源。由此可见,该中间件系统正常运行所需的资源非常小,适合资源有限的嵌入式环境。
中间件技术是分布式食品溯源系统的中枢,它不仅能屏蔽RFID阅读器的多样性和复杂性,还能进行EPC信息的采集和处理,为各种应用提供集成平台,从而促使更丰富、更广泛的RFID应用[8]。本文针对嵌入式特点,研究了分层的嵌入式RFID中间件ERM模型,从硬件和软件两方面论述了嵌入式RFID中间件系统的设计和实现。经测试,该中间体积小、能耗低、占用资源少、性能高。
参考文献
[1] Fan Wenbing,Cao Xiaoguang,Chen Yan.RFID middleware standardization and implementation[J].Microcontrollers & Embedded System Application,2008(1):16-18.
[2] 李波,谢胜利,苏翔.嵌入式RFID中间件系统的研究与实现[J].计算机工程,2008,34(15):92-94.
[3] 禇伟杰,田永民,李伟平.基于SOA的RFID中间件集成应用[J].计算机工程,2008,34(14):84-86.
[4] 宁焕生,张瑜.中国物联网信息服务系统研究[J].电子学报,2006,34(12A):2514-2517.
[5] 胡清,詹宜巨,黄小虎.基于RFID企业物联网及中间件技术研究[J].微计算机信息,2009(7-2):158-160.
[6] BENCHINI A,CIMINO M,MARCELLONI F,et al.Patterns and technologies for enabling supply chain traceability through collaborative e-business[J].Information&Software Technology,2008,50(4):342-359.
[7] DERAKHSHAN R,ORLOWSKA M E,Li Xue.RFID data management:challenges and opportunities[C].IEEE International Conference on RFID.Washington:IEEE Press,2007:175-182.
[8] 李珍香,张宇翔.嵌入式RFID中间件的设计与实现[C]. Proceedings of 2010 International Conference on Services Science,Management and Engineering(Volume 2),2010.