物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

基于RFID访问数据中间件的设计

作者:不详
来源:电子技术
日期:2016-12-09 13:58:29
摘要:基于RFID 访问数据的中间件,运行在各种不同环境不同功能的设备中.这些设备通过RFID读取器或者GPRS 网络获得RFID tag 是一个2 进制序列,并不能直接被识别、处理和储存.无论它们的RFID tag 的内容和格式如何不同,运行的环境有何差别,它们都需要一个中间件来将RFIDtag 的2 进制序列转化成自身需要的若干个长度和数据类型各异的数据,然后再进行显示、处理或者储存.文中的中间件,使用了标准的C/C+ + 编写,可以运行在各个支持C的环境中,支持对RFIDtag 进行任意的定制,获取RFID tag 并且按照定制的要求,转化成1 组数据,直接写入到某个连续的buffer ,或者通过ADO 技术写入指定的数据库。
关键词:RFID中间件

  RFID 是射频识别技术的英文(Radio Frequency Identification ,RFID)的缩写[ 1 ] ,又称电子标签,射频识别技术是20 世纪90 年代开始兴起的一种自动识别技术,射频识别技术是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术. RFID 射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境.RFID技术可识别高速运动物体并可同时识别多个标签,操作快捷方便[ 2 ] .

  中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源.中间件位于客户机/ 服务器的操作系统之上,管理计算资源和网络通讯.是连接两个独立应用程序或独立系统的软件.相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息.执行中间件的一个关键途径是信息传递.通过中间件,应用程序可以工作于多平台或OS 环境.简单的说,中间件是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议.针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现[ 3 ] .

  RFID是2005 年建议企业可考虑引入的10 大策略技术之一,而中间件(Middleware) 可称为是RFID运作的中枢,因为它可以加速关键应用的问世,这样关键的应用软件(Killer Application)才能迅速推广.本文结合‘基于RFID汽车防盗系统的设计与实现’课题,利用RFID 技术来解决汽车盗抢问题.主要是设计1 个通过上层传达的格式信息对接收到的RFID进行解析和传递的中间件.

  1 基于RFID 访问数据的中间件的功能和设计

  中间件是1 种可复用软件,工作在系统层面和应用层面之间,为上层的应用程序提供统一的服务接口,为下层不同的硬件或软件提供不同数据接口,从而兼容了不同的硬件和软件,对上层屏蔽了这些差别,以便于上层进行简单方便的应用.可以看出,中间件是解决上述问题的最好形式.本文中设计的中间件,即是兼容了所有RFID tag 的获取途径,对上层屏蔽了这些不同器件的差别.同时接受上层的定制,获得具体的RFID tag 的格式信息,包括长度,某几位对应的数据类型等.根据具体的定制,中间件将RFID tag 解析成一组不同数据类型的数据.最后,根据需求的不同,将这组数据按不同的方式返回上层(图1) .

基于RFID访问数据中间件的设计

图1 基于RFID访问数据的中间件的功能

  图1 中可以看到,获取RFID tag 的不同途径包括几类.第一是不同类型的RFID读取器,它们直接从一个RFIDLable 上读取其tag .一般来说,在不同的应用中,才会用到不同类型的RFID 读取器.第二是GPRS 网络,或者internet 网络,或其他无线或有线网络.大部分RFID读取器是分散的,可能无法通过有线网络互连,大部分时候采用GPRS 网络互相通信.网络传递中,RFID 信息的传递还是以解析的RFID tag 的形式传递更为方便,效率高,纠错也容易.第三种获取途径,包括一些其他不常用的途径,如上层直接传递1 个RFID tag 要求解析等等。

  中间件本身的功能是接受上层软件的定制信息,然后将RFID tag 分解成1 组数据.定制信息的内容,包括RFID tag 的长度,其中包含字段的数目和每个字段的长度,以及每个字段应该转换成何种数据类型.这种可以接受定制的特性,是中间件可以复用的本质,保证了在不同的应用当中都可以凭借几个简单参数额传递得到需求的功能.

  上层对于RFID tag 解析后的数据可能有不同的应用,例如显示,处理,储存等等.这些不同的应用,可以简单的分为2 类.一是直接使用,例如显示,处理,这些需求中,对于解析后的数据进行直接的操作即可.二是储存,最常见的是写入数据库.总的来说,本文中设计的中间件需要有以下3个功能:

  (1)兼容各种RFID tag 的获取途径;

  (2)接受定制,解析RFID tag ;

  (3)根据不同的需求对解析后的数据进行返回

  2 基于RFID 技术的访问数据的中间件的算法及其实现[ 4]

  2 .1 RFID 的获取

  RFID tag 是一个2 进制序列.为了储存这个2 进制序列,需要一个具体的数据类型.本文中,使用了一个unsigned long 数组来进行储存.这个数组是不定长,动态生成的,用一个unsigned long * 指示其启示地址,用一个int 型变量指示其长度.不同CPU 的字长不同,所以一个unsignedlong 的位数也不同.本文中,软件取sizeof(unsigned long) * 8 来自动处理不同字长的问题.本机的CPU 是32 位字长,在XP 环境下,sizeof(unsignedlong) * 8 = 32 .

  对一个n 位的RFID tag ,n 除以sizeof ( unsigned long) * 8 向上取整就得到了unsigned long 数组的长度.RFID tag 顺次的放在这个数组中,如果数组最后一个unsigned long 有多出的位用0 填补.

  有两种形式来获取RFID tag .

  一是由上层传递.上层直接传递一个unsigned long * ,由此给出了RFID.这个功能也许并不常用到,大部分时间还是由下层获取RFID tag[ 5 ] .另外就是由RFID 读取器获取RFID tag ,上层只告知读取器的类型(实现约定好编号) .由中间件根据读取器的类型,调用相应的API 来获取RFIDtag ,再转化成统一的格式[ 6 ] .具体来说可以由以下如下形式的函数获取RFID tag :

  bool getid (int n ,//RFID tag 的位数

  int t ,//RFID读取器的类型

  unsigned long data[]//返回地址)

  具体上,针对不同类型的读取器,也就是不同的参数t ,要分别编写程序分支.

  2 .2 RFID 的解析算法流程图

  把一个RFID tag 解析成要求的格式的流程如图2 .

基于RFID访问数据中间件的设计

图2 RFID 解析算法流程图

  3 中间件的应用:基于RFID 技术的汽车监控系统

  汽车盗抢和监控目前已经成为社会关注的1 个重要议题,利用RFID 技术来解决汽车盗抢问题是当前监控系统研究的一个热点.实际上防范汽车的盗抢,就是汽车的监控问题,也就是能在各个地方,方便,自动化的追踪到过往的汽车信息的问题.利用RFID技术,这一设想并不难实现.

  传统上,汽车的监管是使用的车牌号系统.实际上车牌号并不是汽车的惟一性标识,套牌车并不少见,伪造车牌也很容易,发动机号码才是一辆汽车的惟一标识,但是很明显发动机号码不容易监控.经常能见到的在使用的汽车监控系统有两种.一是经常可以看到警察使用的,基于数据库和无线网络的,通常是一个笔记本电脑通过无线上网,使用车牌号在远程服务器中查询汽车的车主,外观,交通记录等等.这种监管系统不但无法实现自动化,而且处理速度缓慢,需要人工操作,如果用于追踪犯罪车辆几乎是无法实现,或者反映不够快的.第二种是公路收费站的管理系统,最早使用的是传统的纸制票据业务进行的管理:入口处拿票,出口处付款;现在大部分公路使用了IC 卡或者射频卡(这应用了RFID 技术,但是并没有把ID 和汽车绑定在一起) ,通过数据库管理,实际上这管理的不是车而是经过收费站的每张卡.

  把这两种方式结合起来,也就是,给每个汽车1个RFID用于识别,由此可以构成整个汽车监控系统.每辆汽车拥有1 个RFID,类似1 个射频卡,其中的ID 是汽车的惟一标识,包含简要的车辆信息.各个需要监控和管理的地方,安装RFID 读卡器,通过有线或者无线的方式连接数据库和远程控制系统,同时可以执行简要的控制功能.这种监控措施可以存在于各个地方:收费站,路口的红绿灯,停车场,社区出入口,或者是手持的移动终端,可以在任何位置检测过往车辆的信息.

  毋庸置疑,这种系统的效率更高,几乎实现了完全自动化.RFID技术的特性保证了它的可靠性,大功率的RFID读取器,可以在几米到几十米的范围内1 次读取数10 个RFID.在安全性上,伪造RFID比伪造车牌需要更高技术,而且如果需要的话,RFID可以有1 个加密部分用来进行验证.

  4 结束语

  本设计的应用是以‘基于RFID 技术的汽车监控系统’为背景的.整个系统利用RFID 技术,给每个车辆配发一个RFID Lable ,通过在各个位置的路边机具和手持终端的RFID 读取器,可以随时读取过往车辆的信息,以此达到在任意位置对车辆进行监控的目的.同时通过GPRS 网络,各个路边机具和手持终端都可以将读取到的RFID 信息发送给远程的数据库和控制系统做进一步处理,并且可以接收远程控制系统的命令做出一定的监控行为,整个系统实现了在一定程度上的自动化监控.

  参考文献:

  [ 1] COMWARE 株式会社.RFID 的现状和发展趋势[M] .北京:人民邮电出版社,2 00 7 .

  [ 2] (德)Klaus Finkenzelle .射频识别技术.第3 版.[M] .北京:电子工业出版社,2 00 6 .

  [3 ] 张云勇.中间件技术原理与应用/高等学校教材[M] .北京:清华大学出版社,2 00 6 .

  [ 4] 姜波.Windows CE .Net 程序设计[M] .北京:机械工业出版社,2 00 7 .

  [ 5] 同济大学.Windows CE 嵌入式系统[M] .北京:北京航空航天大学出版社,20 06 .

  [ 6] Richard Barnett ,Larry O’Cull and Sarah Cox . 嵌入式C编程与Atmel AVR[M] .周俊杰译.北京:清华大学出版社,200 3 .

  :如需转载,必须注明来源和作者,保留文中图片和内容的完整性,违者将依法追究。