基于PDA的RFID手持机开发研究
扫描二维码
随时随地手机看文章
射频识别(RFID)是一种非接触的自动识别技术,它能通过射频信号自动识别目标对象并获取相关数据。RFID系统由3部分组成:读写器(Reader)及天线(Antenna)、标签(Tag)和RFID后台应用管理系统。与其他自动识别技术相比,RFID技术具有可远距离、多目标识别、可反复读写、适应场合广和智能化程度高等优点,已越来越多地应用于金融、保险、身份认证、公共交通、物流、仓储及会员管理等领域。在RFID现场应用中,通常的方法是直接在装置上或者通过后台系统来进行操作,然后将数据上传并进行处理。但由于PC机和笔记本电脑体积较大,存在携带、供电不便等问题,在实际环境中应用时受到诸多制约。来源一卡通世界。而PDA(掌上电脑)是一种比笔记本电脑还要小得多的个人信息处理设备,其数据处理、信息管理和电子商务等功能完善。将RFID和PDA结合起来应用,不仅保持了PDA的原有功能,而且还具有了对射频卡的读、写能力,能充分利用PDA的便捷、易操作、大屏幕、手写输入等特点,形成具有高可靠性、低功耗、操作简单、模块化设计的智能掌上数据处理终端设备,同时还能提供丰富的应用软件资源和硬件接口等。基于PDA的RFID采集装置可以方便操作人员的工作,大大提高现场工作效率,为用户提供方便高效的业务移动处理模式,是现代数据采集、电子管理的发展方向,同时在PDA上亦能方便、快捷地进行二次应用开发。
1 RFID读写模块介绍
本文所使用的硬件设备之一是符合ETSI(欧洲电信标准协会)规范的超高频(UHF)RFID读写模块,它具有高性能、安全、低功耗等特点,能读写EPC C1G1(产品电子代码)、ISO 18000—6B和IS018000-6C等多种协议的标签。该模块能工作在862~955 MHz的频段,具有多种通信方式,能读取1~2.5 m范围内的超高频电子标签。天线部分通过MMCX(连接器)母头与RFID模块进行连接。在此类嵌入式系统开发过程中常需要解决设备间的通信问题,相对于其他类型的接口,串行通信仍然是最基本、最常用的通信方式。本文利用在WinCE系统下提供的通用串口驱动程序来实现设备间的数据通信。
2 基于PDA的软件开发
2.1常用工具软件及开发流程
PDA常用的操作系统有WinCE和Linux。WinCE系统下的开发工具软件主要有:C、C#、Java,Embedded Visual Basic和Embedded Visual C++等;而Linux系统下一般用C语言来进行开发。本文作者是在WinCE系统下进行软件开发的。系统开发流程如图1所示。
2.2 系统所具备的功能模块
在PDA上开发RFID系统需要实现的功能模块主要有4个:端口配置、端口配置信息、标签信息和标签盘点。系统模块功能图如图2所示。
来说,端口配置的内容大多是固定的,包括端口名COMl或COM2、波特率、数据位、奇偶校验及停止位。在打开串口之前首先应进行端口配置的设置,设置完毕后再连接或断开连接。
端口配置信息包括除端口配置外的标签协议信息、工作模式、射频频率及射频功率等。标签协议信息可包括常用的几种RFID协议,如EPC G2和IS018000—6B等,并可选择设置同时读取几种不同协议的标签;工作模式根据循环读取模式的不同读取单张或多张标签;射频功率由RFID模块所确定。本文作者使用的是超高频的RFID模块,其频率为916.5 MHz;射频功率在10----27 dBm范围内可调。
3关键技术的实现
3.1接口与通信问题
3.1.1接口问题
本文作者使用的PDA是HP ipAQ,由于大部分PDA采用的是RS232电平(士12 V),而RFID模块使用的是TTL电平(0~5 V),尽管都是串口,都有TX/RX端点,但二者电压不同,不能直接相连,否则会烧掉RFID读写模块,因此需要使用转接口来实现转换,PICl6F84是PDA的接口芯片,与转换芯片相连,再连接到RFID模块的接口(目前也有PDA支持TTL电平)。
3.1.2 PDA与RFID模块间通信的实现
设备间串口通信[33过程如下:
(1)打开串口。使用串口之前,首先应使用CreateFile函数打开串口,返回一个串口句柄,并确认使用的是COMl还是COM2。
(2)串口配置。打开串口后用SetComm State函数进行端口配置,包括波特率、数据位、工作模式和射频频率等。
(3)读写串口。通过ReadFile和WriteFile函数来读写串口,读和写的超时时间由SetCommTimeouts函数设置。
(4)设置串口事件。用SetCommMask函数设定要查找的一个或多个串口事件。
(5)接收串口数据。接收数据的同时,PDA向RFID模块发送连接报文;当PDA接收到正确的模块返回报文后,PDA与模块连接成功。此时PDA与RFID模块之间可以进行正常的串口通信。
(6)关闭串口。在通信结束后,PDA向RFID模块发送断开连接报文,并关闭接收串口数据的线程,调用CloseHandle函数来关闭串口句柄,释放资源。
PDA与RFID模块在串口通信过程中进行设置、参数和信息记录的上传和下载过程的流程如图4所示。
本文所使用的RFID读写模块的部分命令如表1所示。
3.2数据库的选择及同步问题
在PDA的应用开发研究中,由于需要进行PDA与PC机数据的交互[4],因此数据库的选择、维护和不同数据库间的同步问题显得非常重要。目前在PDA的Win CE系统上可以使用的数据库有:Pocket Access、SQL Sever CE和Oracle9i Lite等。Pocket Access只提供对一组表的存储和访问,由于缺乏报表、存储查询以及表之间的关系,因此并不常用,它只适合于地址本、通讯录之类的小容量数据库应用。
Oraclegi Lite提供基础架构和应用程序服务,可以发布使用各种移动设备的安全和个性化的应用程序。它是Oracle9i AS的附加软件,对Ora—clegiAS Wireless进行了完善,提供了完整简单的集成化移动电子商务框架。来源一卡通世界。Oracle9i Lite包括两个主要组件:Mobile Server和移动开发工具包。对于使用Oracle基础框架的企业,建议使用该数据库,以便获得更高的稳定性和服务。
SQL Server CE可以说是目前功能较全面、性能较稳定的移动数据库,它提供的关系数据库所占空间很小,但包含了一个查询处理器和一些合并复制功能,能执行大部分SQL查询处理,支持大部分SQL语句,而且为移动计算应用进行了很多优化和取舍,大大加快了SQL语句的执行速度,提高了在低CPU频率、低内存情况下运行的性能。SQLServer CE还能与SQL Server 2000较好地配合,只要通过少量的代码就能实现移动数据库到服务器的数据连接。从某种意义上讲,SQL Server CE就是SQL Server 2000的一个简化版本。本文选用的就是该数据库。
目前可以利用RDA(Remote Data Access,远程数据存取)和Replication(复制)来完成与PC机的SQL Server 2000[51数据库的存取交换。由于PDA对PC机访问必须通过因特网信息服务器(IIS)进行,因此安装好SQL Server CE后需要在IIS上安装SQL CE Server Tool,并配置连接SQLServer 2000。由于已有不少关于SQL Server CE与SQL Sever 2000配置的文章,本文不再赘述。
4 实现结果
图5和图6所示为在WinCE系统下进行调试并实现RFID功能的图示。图5为端口配置示意图。图6为资产盘点示意图,反映了扫描到的标签相关信息,从而完成了在PDA上实现RFID识别和处理功能。此外还需要将PDA、RFID读写模块及天线进行封装,使其真正一体化。
5 基于PDA的RFID手持机与传统RFID手持机的比较
在完成了基于PDA的RFID手持机开发后,我们将其与传统的RFID手持机产品进行比较,能更直观地看到两者各自所具有的特点及优势,具体见表2。
6 总结与展望
本文实现了PDA与RFID模块的结合应用,研究了应用PDA开发RFID系统的关键问题。虽然目前PDA价格相对较贵,导致基于PDA的RFID手持机成本偏高,但由于PDA本身功能强大,且具有较大的升级和功能扩展空间,因此基于PDA的RFID手持机具备普通RFID手持机无法比拟的优势。这种结合模式已经在烽火通信科技股份有限公司的产品中得到应用,同时通过对该过程的分析研究,可以类比完成将一块RFID芯片移植到其他个人信息处理设备中,因此具有较高的实际应用价值。