- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
RFID中间件的标准化与实现方法
摘要:介绍RFID中间件的概念;基于系列高频读写器的企业级局域网的串口和TCP/IP两种通信接口协议格式,通过建立底层数据通信接口组件、设备网络接口组件、设备参数接口组件、对标签读写操作接口组件和数据库接口组件5个接口组件,提出一种对RFID中间件进行标准化的思路;并实现了对RFID中间件的标准化,为RFID中间件应用系统的开发打下了基础。
目前,面对各式各样RFID(Radio Frequency Identification)的应用,企业有待解决的首要问题是如何将现有的系统与不断更新的RFID读写器连接。这个问题的本质就是企业的应用系统与硬件接口的问题。因此,通透性就是整个应用的关键。正确抓取数据、确保数据读取的可靠性,以及有效地将数据传送到后端系统都是必须考虑的问题。
传统应用程序与应用程序之间的数据通透是通过中间件架构实现的,并发展出各种服务器应用软件,因此,中间件的架构解决方案就成为了RFID应用中一项极为重要的核心技术。本文讨论的就是RFID中间件标准化的一个解决方案。
1 RFID及中间件概述
1.1 RFID概述
RFID技术的基本工作原理是:标签进入磁场后,接收读写器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息(passive tag,无源标签或被动标签),或者主动发送某一频率的信号(active tag,有源标签或主动标签);读写器读取信息并解码后,送至中央信息系统进行有关数据处理。
1.2 中间件概述
中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务,衔接网络上应用系统的各个部分或不同的应用,以达到资源共享、功能共享的目的。在具体实现上,中间件是一个用API(Application Programming Interface)定义的软件层,具有强大的通信能力和良好的可扩展性。
目前,针对不同的应用,涌现出了各具特色的中间件产品。根据在系统中所起的作用和采用的技术不同,中间件大致分为以下几种:
① 数据访问中间件(Data Access Middleware,DAM): 所有中间件中应用最广泛、技术最成熟的一种。
② 远程过程调用中间件(Remote Procedure Call,RPC): 在客户/服务器计算方面,比数据访问中间件又迈进了一步。
③ 面向消息的中间件(MessageOriented Middleware,MOM): 适用于需要在多个进程之间进行可靠的数据传递的分布式环境,是中间件中惟一不可缺少的,也是销售额最大的中间件产品。
目前流行的MOM中间件产品有IBM的MQSeries和BEA的MessageQ等。
2 RFID中间件标准化的设计思想
2.1 RFID中间件
RFID中间件是一种面向消息的中间件。其中信息(information)是以消息(message)的形式,采用异步(asynchronous)的方式从一个程序传送到另一个或多个程序,传送者不必等待回应。它的作用主要体现在3个方面:
① 控制RFID读写设备按照预定的方式工作,保证不同读写设备之间配合协调;
② 按照一定规则过滤数据,筛除绝大部分冗余数据,将真正有效的数据传送给后台信息系统;
③ 保证读写器和企业级分布式应用系统平台之间的可靠通信。
RFID中间件扮演RFID标签和应用程序之间的中介角色。在应用程序端使用中间件所提供的一组通用的应用程序接口(API)就能连接到RFID读写器,从而读取RFID标签数据。这样一来,即使存储RFID标签情报的数据库软件或者后端应用程序增加,或改由其他软件取代,或读写RFID读写器种类增加等情况发生,应用端不需修改也能处理,避免多对多连接的维护复杂性问题。
2.2 RFID中间件标准化的基本设计思想
针对读写器在各种应用软件中的应用,对RFID读写器通信指令、组件封装形式和SDK方式进行了标准化,形成RFID标准组件。RFID标准组件是连接标签读写器、控制器和企业应用程序之间的标准化软件接口程序集合。它具有分布式结构,以层次化组织、管理数据流,从而有效增加了软件的可重用性,简化了上位机应用软件的开发,提高了应用软件的可靠性和稳定性。
本文中所要设计的中间件需要包括如下功能:提供RS232/485串口通信接口组件、TCP/IP、UDP网络通信接口组件,搜索读写器、配置读写器参数接口,读取、设置标签数据接口以及对数据库操作。该中间件的架构如图1所示。
图1 RFID中间件的架构图
3 高频工业读写器系列
本系统中所使用的读写器是深圳普诺玛公司的高频工业读写器系列,包含PRR8160、PRR8152和PRR8032 三种读写器。它们可对符合ISO/IEC15693标准的电子标签进行数据的读/写操作;具有RS232、RS485、TCP/IP多种通信方式;可同时对多个数据块进行读/写操作;具有继电器输出、外接显示屏功能和防冲撞读写功能;采用ABS工程材料外壳,可应用于需要防水、防尘、防油污、防腐蚀等各种恶劣工作环境中。下面简单介绍这几种RFID读写器,重点介绍PRR8160读写器。
3.1 PRR8160读写器
PRR8160是一款应用于工业流水线上,进行数据采集、流水线控制、跟踪管理的可编程智能数据终端机。它具有TCP、UDP、RS232多种通信方式;具有极强的现场编程功能,适应性极强。其系统采用两级联网结构,采用UDP协议进行通信,即管理主机通过访问生产数据输入终端机所在的IP地址,对终端机进行数据访问和参数设置。设备工作状态采用联机工作方式: 设备将得到的用户的完整操作记录保存在RAM内,并主动上传到管理主机。如果设备没有接收到上位机的正确返回响应(超时时间N可由用户定义),则设备将再次上传,直至成功为止;一旦设备得到用户的新的完整操作记录,则原有的RAM记录将被转移到Flash内存储。工作时若网络断开,终端机可以自动存储工作的记录;当网络连接正常后,自动上传数据。
设备支持ARP、ICPM(ping)、IP、UDP网络通信协议,数据传输方式默认采用UDP协议,不支持数据包分组操作。数据编码方式采用HEX的数据格式操作,所有通信数据采用"以太网CRC校验"方式,即采用报头—报尾所有的协议数据按十六进制做累加,对256取模后的十六进制数作为校验位上的数据。其中,UDP层加的校验位称为"UDP校验",应用数据层则再加"校验和"位。应用数据层的通信协议格式如下:
其中:数据长度为有效数据报文的长度;校验和为整个数据报文的校验位。有效数据部分的报文格式为:
类型编号|数据|……|类型编号|数据
终端机检测到的打包数据格式为:
打包数据格式 =‘#’+步骤1检测结果 + # +功能号 +型操作类型号 +‘#’ +步骤2检测结果+ # +功能号+操作类型号 +…… +‘#’+步骤N检测结果 +功能号 +操作类型号‘#’
每个检测步骤中的检测结果之间用‘#’号间隔。
3.2 PRR8032及PRR8152读写器
PRR8032是一款具有专利外观设计的表面嵌入式多功能中距离读写器。其读写距离最大为23 cm,具有防冲撞电子标签读写功能,可同时对10张电子标签的多个数据块进行操作。
PRR8152符合ISO15693标准的高频工业读写设备,可选RS232、RS485以及TCP/IP通信格式,适用于需要防水、防尘、防油污、防腐蚀等各种恶劣工作环境。
4 软件设计与实现
4.1 软件设计
RFID中间件标准化划分为5部分: 底层数据通信接口组件、设备网络接口组件、设备参数接口组件、对标签读写操作接口组件和数据库接口组件。各接口组件既相对独立,又密切联系。其中,本中间件的操作标签是符合ISO/IEC 15693协议的电子标签。
底层数据通信接口组件: 负责数据通信的链路层和物理层,是读写器与应用软件通信的物理基础;在应用逻辑上,与应用通信协议无关。所以,底层数据通信应独立设计相对固定的接口,与高层应用分离。
设备网络接口组件: 为客户提供连接通信链路上的RFID读写器信息。
设备参数接口组件: 提供更改读写器工作参数的接口,实现设备管理功能。
对标签读写操作接口组件:为读写器实时工作时提供与计算机通信的接口,两者在用户和使用功能上相对对立,也可独立设计。
数据库接口组件: 实现对后台数据库的操作,为RFID中间件的开发软件提供标准的函数接口。
按照模块的应用层次和应用对象的不同独立进行设计,既降低了系统的复杂性,同时又能提高系统的稳定性和重用性。
4.2 软件实现
软件设计在Windows环境下,利用Visual C++ 6.0开发RFID中间件,实现读写器与计算机之间的企业局域网的通信;后台数据库选用SQL Server 2000,接口函数最后被封装成dll文件。
DLLIMPORTLONG OpenConnect(int nComType,char*Param)//打开一个通信连接
DLLIMPORTLONG CloseConnect(long hHandle)//关闭通信连接
DLLIMPORTLONG WriteConnect(long hHandle,
BYTE *byBuffer, int nSize, const char *strToIP = NULL, int nToPort = 0,BOOL bBroadcast = FALSE)//从通信连接发送数据
DLLIMPORTLONG ReadConnect(long hHandle,
BYTE *byBuffer,int nSize, char * chIpFrom = NULL,
int *nPortFrom = NULL)//从通信连接读取接收到的数据
long DetectAllDevice(int &iDevCnt, char *chData)//侦测网络中所有基于TCPIP相连接的设备(或者TCP/IPRS485转换器),返回网络中网络设备的网络配置信息
DLLEXPORT SetDeviceParameters(char* strDevMacAddr, char *strNewMacAddr,char *strDevIP, char *strSubnet, char *strGateWay,char *strRemoteIP, int remotePort,
int localPort,long baudRate, BYTE bParity, BYTE bProtocol)//设置设备网络配置信息
BOOL CPrr8152Deal::ReadMultiBlocks(long hConnect, BYTE byAddr, BYTE byMode, char *chUID, BYTE byBeginBlock, BYTE byBlocks, BYTE &byDB_N, BYTE &byDB_Size, char *chData, BYTE byDataFormat)//读取标签的多个数据块
BOOL CPrr8152Deal::WriteMultiBlocks(long hConnect, BYTE byAddr, BYTE byMode, char *chUID, BYTE byBeginBlock,BYTE byBlocks, BYTE byDBSize, char *chWriteData, BYTE byDataFormat)//写标签的多个数据块
5 结论
RFID中间件标准化完成了对底层数据通信接口组件、设备网络接口组件、设备参数接口组件、对标签读写操作接口组件、数据库接口组件5个接口组件的标准化,为第三方的企业级软件应用提供了基础。该RFID中间件在上海生猪收购管理系统和深圳普诺玛公司生产制成管理系统中已经得到了应用,并取得了良好的市场效果。
参考文献
[1] 王永红,王志坚,艾萍. 基于中间件技术的设备管理系统的设计与实现[J]. 计算机应用与软件,2006(4):6668.
[2] 刘丽华,董天临. 基于以太网接口的RFID中间件软件设计[J]. 单片机与嵌入式系统应用,2006(7): 1012.
[3] 赵辉,叶子青. Visual C++系统开发实例精粹[M]. 北京:人民邮电出版社,2005.
[4] 陈丽华. RFID中间件设计与关键技术的研究[D]. 南宁: 广西大学,2006.
范文兵(副教授、博士),主要研究方向为中间件及物流系统。
作者:范文兵 曹晓光 陈燕 曹小玲 来源:《单片机与嵌入式系统应用》