基于RFID的校园自行车管理系统

2012-08-10 03:40李新煜曾春晖蒲力萌
通信技术 2012年11期
关键词:线程射频服务器

李新煜,曾春晖,蒲力萌

( 电子科技大学 通信与信息工程学院,四川 成都 611731)

0 引言

高校校园中自行车被盗事件时常发生,这些事件并没有得到有效的解决。究其主要原因是校园中各类自行车数量多,难以辨认,难以定位,即使被盗也难以认定车辆归属[1]。

本系统使每一辆自行车都具备一个独一无二的身份即射频识别(RFID,Radio Frequency IDentification)标签,同时车主也有一张与之匹配的校园IC卡。车主在存取车时必须刷卡,通过对车辆和IC卡(饭卡)信息的读取、对比,系统便会判定此次存取操作的合法性,再根据结果的不同做出相应的反应。若有非法的取车操作,系统会通过现场的报警装置和接收设备,通知保卫处和门卫,有助于嫌疑人的抓获,避免了车辆的丢失。

1 系统结构

1.1 系统总体网络结构

如图1所示,整套系统分为若干个节点和一个中央服务器,每个节点在实际环境中代表一个停车场。各节点通过RFID射频设备收集自行车的信息并通过接触式天线读取用户IC卡数据;最后通过以太网传递给服务器。服务器汇总各个自行车停放的数据,进行数据的存储和比对,将反馈信息通过校园网络传送到各个监测终端,通过一系列指令控制各节点执行相应的操作。

图1 系统总体网络结构

1.2 节点实现结构图

一个节点的结构如图 2所示。各个节点通过RFID射频读卡器检测自行车内的智能芯片,并存储相关数据;同时 IC卡读卡器通过天线读取学生的IC卡(饭卡)信息。节点通过控 制的 ARM用以太网将信息发送至服务器并接受反馈数据,执行相关的提示或报警操作。

图2 端系统实现结构

1.3 服务器框架结构

服务器接收各节点数据并将数据与数据库中记录进行比对,反馈一系列操作指令给各节点。具体服务器处理信息流程图如图3所示。

图3 服务器处理信息流程

2 开发平台简述

2.1 硬件平台

2.1.1 RFID模块

RFID技术的基本工作原理是标签进入磁场后,接收阅读器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息(Passive Tag);或者由标签主动发送某一频率的信号(Active Tag),解读器读取信息并解码后,送至中央信息系统进行有关数据处理[2]。由于RFID射频天线和标签分为多种标准,本套系统的RFID模块采用了远望谷公司的XCRF-502C 固定式射频读写器,此读写器工作在 902-928Mhz频段,有效检测范围为 10米。

2.1.2 嵌入式模块

由于在本系统中嵌入式模块主要担负信息传输和控制的功能,并不需求高速运算和大量数据缓存,因此采用了以ARM2440 为核心的开发方案。

嵌入式模块在ARM2440核心的外围添加了以太网口用于与服务器进行通信;LCD显示屏用于实时显示提示信息;蜂鸣器用于应急报警;I2C总线接口用于与IC读卡模块进行通信,串口用于与 RFID射频模块通信。

2.1.3 IC读卡器模块

IC读卡器天线采用Philips MFRC522 原装芯片设计读卡电路,该模块使用51单片机驱动读卡器检测IC卡信息并使用I2C总线将数据会传到ARM主控芯片上。

2.2 软件平台

2.2.1 服务器开发

因为本系统中的服务器不光要担负起与硬件通信的功能还要有一套完善的图形界面,因此本系统采用Visual Basic 2010作为服务器的开发平台。

Basic是一种简单且易于编写和维护的语言,而 VB提供了一系列空间和皮肤插件可以方便的开发出一套人性化的UI界面。在与硬件连接方面。VB提供了网口控件winsock[3]控件可以方便的与ARM连接通信;同时VB提供了丰富的API接口与数据库进行数据通信。

2.2.2 数据库开发

考虑到开发的复杂程度,本系统采用了入门级的数据库Access数据库。Access[4]是微软公司推出的基于 Windows的桌面关系数据库管理系统(RDBMS,Relational Database Management System),是 Office系列应用软件之一。Access能够存取 Access/Jet、Microsoft SQL Server、甲骨文软件公司(Oracle),或者任何 ODBC 兼容数据库内的资料,具有良好的兼容性。

3 关键技术应用

3.1 RFID的设计和实现

3.1.1 RFID的设计

固定式RFID终端的工作原理如图4所示[5],终端发射高频电磁波激励射频标签,产生回馈数据。RFID在本系统中主要用于识别自行车车辆信息,每辆自行策划都会有一块很小的射频标签置于车座下方,射频终端周期性的扫描周围的标签信息并刷新缓存区数据。RFID终端扫描逻辑流程如图4所示。

图4 RFID终端扫描逻辑流程

3.1.2 RFID的实现[6]

本系统采用由远望谷公司出产的 XCRF系列读写器,利用读写器附带的读写软件,对RFID卡的信息进行读取和写入操作。读写器通过串口与ARM核心板相连接。当射频终端检测到射频数据后会将数据自动缓存,并通过串口以自定义的帧格式发送给ARM。一帧数据的结构如图5所示。

图5 RFID读卡设备帧数据结构

3.2 数据库的设计

数据库在本系统的主要任务是记录用户存取自行车时RFID所读取到的信息,以便日后查询。需要记录的有时间、停车地点、存∕取、自行车号、车主姓名、学号等。由于自行车号与车主姓名、车主姓名与学号都是唯一对应的关系,而且在一定的时间内是相对固定不变的,不需要每次都重复记录,但为了管理方便,这些信息能在系统界面上显示出来是很有必要的,因此本系统用关系型数据库的设计,通过将几张小表组合成大表的方式来减少需要记录的数据。

关系数据库(Relational Database)是一个被组织成一组正式描述的表格的数据项的收集,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。本系统中数据库如图6所示。

图6 关系数据库

采用关系型数据库的设计可以很好的简化存取自行车时所要记录的数据,避免了数据库的冗余,也提高了数据库的灵活性和扩展性。如果以后需要增加显示的信息,只需要继续添加小表,再把他设计进行组合,而不需要重新设计数据库。

3.3 通信设计

为了使软件具有真正的使用价值,除了要保证软件的网络通信可以准确快捷的收发信息,还要保证在多用户同时使用网络资源时服务器不会因为协议设计的不当或者逻辑错误出现假死的情况;同时当单个用户数据量较大时要保证用户数据不会在传输过程中丢失或错位。

3.3.1 套接字通信[7]

本信息管理系统会涉及到传输大量数据信息,为了尽量避免错误,采用稳定性较高的流套接字形式作为网络通信的基础。所有发送的信息将被编码并以信息流的形式上传到网络。区分不同应用程序进程间的网络通信和连接,主要依靠3个参数:通信的目的IP地址、使用的传输层协议(TCP或UDP)和使用的端口号。为保证通信的稳定,信息管理系统采用TCP 协议。

3.3.2 多端访问

为了使软件具有实用的特性,软件采用了异步的通信方式。打开服务器的网络连接以后,服务器处于监听状态。当有请求进入时,服务器为这个请求开辟一个独立的线程,分配独立的端口进行网络通信,同时服务器回到监听状态处理其他连接请求。客户端接入服务器以后,开始发送数据,每次数据发送完毕发送信息主动切断通信,释放网络资源,服务器收到信息后断掉与客户端的连接。 为保证多端通信不会给服务器造成太大的压力,设定服务器允许同时连接数上限为100个。线程分配流程如图7所示。

图7 线程分配流程

3.3.3 通信协议

通信协议(Communications Protocol)是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。

为了保证信息管理系统中各项指令和数据都可以准确无误的传达,系统使用了一系列自定义的帧格式;具体几类常用帧如图8、图9所示。

图8 数据帧(节点发往服务器)结构

图9 控制帧(服务器发往节点)结构

接收端以字符的形式收到一帧字段,利用文本处理函数检查是否包含标识符,如果包含某个标识符,就可确定这短信息是命令还是数据;之后利用文字处理函数以&为界限分段提取相应数据和命令。最后服务器根据预先设定的逻辑利用数据和命令进行相关操作。

3.3.4 委托技术[8]

委托是可用于调用其他对象方法的对象。它们有时被称为类型安全函数指针,因为它们与其他编程语言中所使用的函数指针相似,但不同于函数指针。Visual Basic .NET 跨线程操作有两种方式,委托和设置线程为cross型。相比之下委托技术更加可靠和稳定因此本系统采用委托技术进行跨线程的操作。

VB.NET委托函数的使用分为几个部分:声明事件、引发事件、编写事件处理程序,从而把时间处理程序和事件联系起来。当一个线程收到一条来自客户端的信息时,通过委托函数,这条信息的内容便可以显示在服务器的一个列表中。

4 结语

目前RFID的技术已经在许多领域都取得了不小的成功。相信同样得技术在校园自行车管理领域中也将发挥重要作用,本文简单介绍了如何通过嵌入式系统将射频系统和服务器连接构成一套完整的自行车管理系统。由于采用了模块化设计,同样的一套系统只要稍加改进就可以在众多其他领域得到应用。

[1] 罗春彬,彭龑,易彬.RFID技术发展与应用综述[J].通信技术,2009,40(12):112-114.

[2] 胡建国.智能 RFID标签芯片理论与实现[D].广州:中山大学,2010.

[3] 王艳平.Windows 网络与通信程序设计[M].北京:人民邮电出版社,2009:48-120.

[4] 徐丽萍.RFID系统读写器与电子标签硬件结构分析[J].通信技术,2012,45(08):118-119.

[5] Feddema, Helen.Access 2007 VBA[M].[s.l.]: John Wiley & Sons Inc.,2007:90-143.

[6] 远望谷公司.远望谷系列 RFID设备技术手册[C].深圳:远望谷公司,2009.

[7] BEHROUZ A. Forouzan TCP/IP Protocol Suite Fourth Edition[M].[s.l.]:Higher Education,2008:432-498.

[8] Fred Barwell, Richard BlairProfessinoal.VB.NET Fifth Edition[M].[s.l.]: Wrox Press, 2011:70-86.

[9] 王珺吉,王新征,汪松,等.基于 RFID的军事物资管理系统[J].信息安全与通信保密,2011(02):64-66.

猜你喜欢
线程射频服务器
5G OTA射频测试系统
基于C#线程实验探究
关于射频前端芯片研发与管理模式的思考
基于国产化环境的线程池模型研究与实现
通信控制服务器(CCS)维护终端的设计与实现
线程池调度对服务器性能影响的研究*
PowerTCP Server Tool
得形忘意的服务器标准
ALLESS转动天线射频旋转维护与改造
计算机网络安全服务器入侵与防御