[硕士论文精品]基于rfid的开放式门禁系统的设计与实现_第1页
[硕士论文精品]基于rfid的开放式门禁系统的设计与实现_第2页
[硕士论文精品]基于rfid的开放式门禁系统的设计与实现_第3页
[硕士论文精品]基于rfid的开放式门禁系统的设计与实现_第4页
[硕士论文精品]基于rfid的开放式门禁系统的设计与实现_第5页
已阅读5页,还剩59页未读 继续免费阅读

[硕士论文精品]基于rfid的开放式门禁系统的设计与实现.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要摘要RFID射频识别技术是利用射频来识别装有标签物体的技术,是一种非接触的自动识别技术,该技术已经应用在很多领域,例如,医药,航天,建筑和油设备维护,汽车工业和零售业,在大幅度地提高管理和运作效率的同时,降低企业运营成本。本文基于电科院自拟项目,设计实现了基于RFID的开放式门禁系统,它由RFID阅读器模块、阅读器控制模块、IO通信模块、消息处理模块以及搜索模块五个模块组成。由于使用的NFC9501M阅读器是一款只具备串口通信的被动式RFID阅读器,因此,设计了一个基于LPC2378微处理器的阅读器控制系统,并且在外围增加了RTC实时时钟、片外FLASH、红外对射模块和液晶显示模块,它的主要功能一是识别是否有人出入大门,二是在读取标签信息的同时,验证合法性,并将合法的用户数据显示在液晶屏幕上,三是将读取到的数据进行平滑过滤,四是如果是非法用户,则通过蜂鸣器长鸣予以警告,五是按照自定义的通信协议实时地将有效的TAG标签数据和读取的时间发送到上位机。在上位机端,与阅读器控制模块通信的是IO通信模块,该模块主要的功能是解析从阅读器控制模块上传送的数据,并把他封装成一个实例对象,并由消息处理模块将该对象以JMS消息规范进行处理,以供企业应用系统对进出门用户信息进行处理。最后以LUCENE索引技术为基础,为业务处理层提供了一套通用的建立索引库文件和搜索API,使得能够在千万级数据搜索时间小于10秒。该开放式门禁系统主要的功能一是RFID阅读器工作频率是915MHZ,能够实现长距离地读卡;二是不需要用电锁关门来控制出入;三是NFC一9501M阅读器集成了防碰撞算法,同一时间能够识别多张标签。关键词开放式门禁,LPC2378微处理器,JAVA消息服务,LUCENE索引ABSRACTRFIDRADIOFREQUENCYIDENTIFICATIONOBJECTS谢MTAGS。WHICHISANONCONTACTBEENAPPLIEDINMANYFIELDS,SUCHAS,EQUIPMENTMAINTENANCE,AUTOMOTIVEANDMANAGEMENTANDOPERATIONALEFFICIENCYATREDUCEDTECHNOLOGYUSESRADIOFREQUENCYTOIDENTIFYAUTOMATICIDENTIFICATIONTECHNOLOGYITHASMEDICAL,AEROSPACE,CONSTRUCTIONANDOILRETAILITCANBEINTHEGREATLYIMPROVEDTHESAMETIME,OPERATINGCOSTSALSOCANBEINTHISTHESIS,BASEDONTHEPROPOSEDPROJECTFROMTHEPALEST,RFIDBASEDOPENACCESSSYSTEMISDESIGNEDANDIMPLEMENTEDITCONTAINSREADERCONTROLMODULE,10COMMUNICATIONMODULE,MESSAGINGMODULEANDSEARCHMODULEASTHEREADEROFNFC9501MISAONLYSERIALCOMMUNICATIONANDPASSIVEREADER,MICROPROCESSORBASEDLPC2378READERCONTROLSYSTEMISDESIGNEDASWELLASANINCREASEINTHEEXTERNALRTCREALTIMECLOCK,CHIPFLASH,WITHINFRAREDMODULEANDLIQUIDCRYSTALDISPLAYMODULEITCANIDENTIFYWHETHERSOMEONEISOUTOFTHEDOORANDCANREADTHETAGINFORMATIONATTHE。SANLETIME,ITCALLALSOFILTERTHEDATABYGIVENORDER,ANDONCHIPFLASHTHATHASBEENKEPTBYLEGITIMACYOFDATAVALIDATIONFINALLY,ITSENDSTAGDATAANDTHETIMEINFORMATIONINREALTIMEVIALANTOHOSTCOMPUTERINACCORDANCEWITHCUSTOMCOMMUNICATIONPROTOCOLS,ENABLINGTHECAPTUREANDVERIFYATTENDANCEDATAONTHEHOSTCOMPUTERSSIDE,IOCONTROLMODULECOMMUNICATESWITHTHECONTROLMODULEOFREADERSTHEMAINFUNCTIONOFTHISMODULEISTOPARSEFROMAREADERONTHECONTROLMODULETOSENDTHEDATA,ANDCONVERTITINTOAPACKAGEOBJECTBYTHEMESSAGEPASSINGMODULEOBJECTSTOJMSJAVAMESSAGESERVICEMESSAGESFORDELIVERYSPECIFICATIONSFORENTERPRISEAPPLICATIONSYSTEMS,BUSINESSPROCESSINGINTHISTHESIS,USINGLUCENEINDEXINGTECHNOLOGYFORBUSINESSPROCESSPROVIDESACOMMONLIBRARYFILEINDEXINGANDSEARCHINGAPI,ANDMAKESITPOSSIBLEINTHE10MILLIONDATASEARCHTIMEOFLESSTHAN10SECONDSTHEOPENACCESSSYSTEMMAINFUNCTIONSFIRSTLY,FORTHERFIDREADERSOPERATINGFREQUENCYIS915MHZ,ITCANBEACHIEVEDOVERLONGDISTANCES;SECONDLY,ITDOESNOTUSEELEC虹DILICLOCKSTOCONTROLACCESS;THIRDLY,FORTHEREADEROFNFC一9501MINTEGRATEDIIABSTRACTANTICOLLISIONALGODTHM,ITISABLETOIDE而匆MORETHANONELABELATTHESAMETIMEKEYWORDSOPENACCESSSYSTEM,LPC2378MICROPROCESSORS,JAVAMESSAGESERVICE,LUCENEIII图目录图目录图LLRFD系统基本架构图1图2一L基于JDBC的存储框架7图22JMS结构8图23JMS主要接口和工作流程9图24一个集成LUCRE的典型应用11图31总体的系统框图12图32ADS12主界面13图33ADX调试窗口13图34阅读器控制模块框图14图35软件运行模式18图36基于I_TCOSII系统的任务18图37TASKLISTCN任务流程20图38TASKRECV任务流程图21图39TASKCOMSEND任务流程图O22图310阅读器控制模块与阅读器的交互过程一23图311TASKHANDLELD任务流程图24图312TASKMODESWITCH工作流程26图313LCD显示效果27图314ECLIPSE主界面。28图315READWRITECLIENTAGENT的类图29图316COMMANDDATA类图29图317TAGLNFOR类图30图318TAGLNFORCONVERTER与MESSAGECONVERTER关系33图319TOPICMSGPRODUCER与QUEUEMSGPRODUCER类图34图320TOPICMSGCONSUMER与QUEUEMSGCONSUMER类图34图321LUCENE程序基本流程图36图322INDEXMANAGER接口和INDEXANDSEARCH抽象类的关系37图3。23演示系统程序主界面39图目录图41系统信息管理界面40图42RFID实时监控4L图43阅读器控制管理模块相应的显示图41图44管理模式查询脱机数据界面41图45管理模式下阅读器管理模块LCD显示42图46单机测试结果45图47联机测试结果46图48LUCENE搜索模型。47图49LUCENETEST类图。47图410INSERTDATA方法的流程图48附图L基于RFID开放式门禁管理系统阅读器工作频段915MHZ。56表目录表目录表31命令包通用格式15表32命令单元组成格式15表33通信命令列表O16表34应答标志编码定义16表35上报数据格式17表36片外FLASH地址空间分配25表37LUCENE索引核心类36表38LUCENE搜索核心类36表夺L测试结果厶43表42平均响应时间测试结果44表43LUCENE测试数据表48表44索引库和数据库的对比49表45搜索性能对比49I缩略语对照表缩略语对照表RFDRADIOFREQUENCYIDENTIFICATIONEPCELECTRONICPRODUCTCODESPISERIALPERIPHERALINTERFACEJMSJAVAMESSAGESERVICEJ2EEJAVA2PLATFORMENTERPRISEEDITIONJDBCJAVADATABASECONNECTIVITYADSARMDEVELOPERSUITERTCREALTIMECLOCKSQLSTRUCTUREQUERYLANGUAGEU氏RRUNIVERSALASYNCHRONOUSRECEIVETTRANSMITTER射频识别技术中文称为产品电子代码高速同步串行口JAVA消息服务JAVA2平台企业版JAVA数据库连接ARM开发工具实时时钟结构化查询语言通用异步接收发送装置独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特另;J加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。签名厶习翌日期驯B年月EL论文使用授权本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。保密的学位论文在解密后应遵守此规定签名艋孳导师签名窒麦垒日期加P年6月F日第一章绪论11RFID技术概述第一章绪论RFID技术是利用射频识别装有标签物体的技术,是一种非接触的自动识别技术。一个完整的RFID系统包括阅读器,标签,中间件和应用系统软件组成21。阅读器完成标签数据的功能;中间件则提供阅读器数据与企业应用系统软件之间的通信接口,将前端采集的数据封装成应用系统软件可以识别和利用的信息,实现数据的传递4。7】应用系统软件是企业实现业务逻辑的软件集合。图11RFID系统基本架构图在RFID实际应用中,电子标签被附着于被识别物体的表面或者内部,当带有电子标签的物体经过读写器的读写范围时,读写器自动地将电子标签中存储的信息读取出来,并通过网络或串口等交付到计算机服务系统,计算机通过既定的业务逻辑进行处理,实现企业自动化信息管理的目的【21。RFID技术拥有很多优点,第一,RFID标签具有容量大、体积小、可复用和寿命长等特点;第二,RFID系统能提高现有体系的读写效率,增加企业运营的精确性,加速企业的信息化进程;第三,不需要让标签处于可视状态、阅读器可以同时读取多个标签信息、可以工作在恶劣的环境中、读取距离范围分布很广从2EM到15M,从而RFID技术改变了条形码系统;第四,支持移动识别、定位以及长期跟踪管理PJ。RFID技术已经应用在很多领域【2】,例如,医药,航天,建筑和油设备维护,电子科技大学硕士学位论文汽车工业和零售业,在大幅度地提高管理和运作效率的同时,降低运营成本。RFID,产业对促进经济可持续发展、增强公共安全与国防安全、提升社会信息化水平、提高人民生活质量等方面有着深远的影响,具有战略性的重大意义。12课题研究背景“安全防范”是一个既古老而又现代的话题,它与人们的日常工作、生活息息相关。随着信息化与数字化时代的来临,特别是RFID技术的发展,一种新的安防技术数字化安防”异军突起,近年来发展十分迅猛。“数字化安防”是相对传统安防而言的,它与采用数字化技术处理的传统安防也有所不同。以入侵防盗报警系统、视频监控系统为代表的传统安防技术产品,从产生到现在,对维护社会公共安全起到了巨大的作用,但传统的安防技术产品也有其应用的局限性,如往往只能做到被动报警与事后分析,远远不能满足人们的需要等。“数字化安防”从流动目标个体的数字化信息切入,以识别目标的数字化编码信息、数字化特征信息为技术核心,采用主动的方法,从加强日常事务管理入手,对人员流动、物品流动、信息流动和资金流动等,自动进行监控管理,并能快速进行判断。对符合条件的流动请求予以放行,对不符合条件的流动请求予以拒绝,并发出报警信息。同时它还能全方位地记录,以数字方式存储各种流动与报警信息。它的出现,从根本上改变了人们对安全与管理的传统观念,极大地改善了安防工作条件,提高了工作效率。在全球范围内,安防技术领域的数字化趋势锐不可挡,传统技术面临挑战。电科院是一个及产学研为一体的研究部门,与电子科技大学的其它院系不同,有很多研究课题是军方的保密项目,同时建立了独立的保密网,独立的数据中心,有更严格的监控保密要求,结合当前UHF频段的远距离RFID识别技术,提出了开放的门禁管理系统【8】。13课题研究现状及意义目前门禁系统在向网络化、高智能化、高集成化方向发展,具体表现在以下几个方面【914】1基于TCPIP的门禁系统门禁系统的网络化使得用户能够实时控制、响应和管理。传统的以RS485总2第一章绪论线通讯方式进行组网的门禁系统在数据传输距离上有着天然的限制理论距离只有1200米,在连接距离达到极限时,时间响应不能满足实际需求,而且与流行的以太网不能融合,需要重新补线,增加企业的二次投资在大型企业的门禁系统中,此种通信方式更是有其局限性,而基于TCPIP的门禁系统,用户可以在其原有网络的基础上进行,极大程度上节约成本,以太网技术日益成熟,用户理论上可以在任何地方管理其门禁系统。2生物识别技术门禁系统利用生物识别技术进行身份认定,安全、可靠、准确。生物识别技术产品均借助于现代计算机技术实现,很容易配合电脑和安全、监控、管理系统整合,实现自动化管理。3高安全性数据传输的门禁系统由于基于TCPIP的门禁系统的数据要求在INTEMCT上传输,因此,防止黑客的入侵是门禁系统必须要考虑的问题,提高数据传输的安全性能将成为以后发展的一个重点。4门禁系统的集成门禁系统与监控、防盗报警、对讲系统的整合是大势所趋。门禁系统与报警系统的数据差异性较小,因此在控制器中已经实现集成报警系统;而与监控系统的集成,主要还是依靠在软件中采取两者联动的方式;与对讲系统的集成,是通过在门禁控制器中加入对讲模块的方式来开发。因此,开发多功能、多技术集成的门禁系统将是门禁市场发展的另一个重点。传统的门禁系统在应用于大人流量的场所中产生的问题1读写距离受限,基本在几厘米到十几厘米之间,甚至更小;2键盘式门禁着密码遗失或被盗用等问题;3当大流量人群需要依次进出门,影响工作效率。因此,针对门禁系统现有问题,本课题设计实现了基于RFID的开放式门禁系统的设计与实现,它实现了大流量标签读写、远距离读写、记录人员信息以及远程控制等功能。开放式门禁系统做到了开放式人性化管理,并融入了“数字化安防”的理念,保证了人员出入的身份认证,同时考虑到通过人员的身份特殊性,如果采用近距离持卡刷卡进出模式,在礼节和实施性上都不可取。开放式门禁系统并不需要用电锁关门来控制出入,此时可以适当降低安全度,来达到快速通过和检测验证的目的。因此,进行基于RFID的开放式门禁系统的研究,对智能建筑中安防控制系统的研究具有重要的意义。3电子科技大学硕士学位论文14研究内容与论文安排该RFID系统包含RFID阅读器、阅读器控制模块、IO通信模块、消息处理模块以及搜索模块。阅读器控制模块是以LPC2378微处理器为核心,并在外围增加了RTC实时时钟、片外FLASH、红外对射模块和液晶显示模块,能够识别是否有人出入大门,在读取标签信息的同时,验证合法性,并将合法的用户数据显示在液晶屏幕上,将读取到的数据进行平滑过滤,最后按照自定义的通信协议通过局域网实时地将TAG标签数据和读取的时间发送到上位机,如果是非法用户,则通过蜂鸣器长鸣予以警告。在上位机端,与阅读器控制模块通信的是IO通信模块,该模块主要的功能是解析从阅读器控制模块上传送的数据,并把他封装成一个实例对象,并由消息处理模块将该对象以JMS消息规范进行处理,以供企业应用系统对进出门用户信息进行处理。最后以LUEENE索引技术为基础,为业务处理层提供了一套通用的建立索引库文件和搜索API,使得能够在千万级数据搜索时间小于10秒。此系统拓展NFC一9501M阅读器这样的串口读写设备,使其具备了网络功能,为上层业务应用提供了统一的接口,使开发企业应用程序减少复杂度,企业可以根据应用增加其他的类型的阅读器模块,而不影响上层的应用程序,只需要更新底层驱动程序。本文的主要内容和安排如下所示T第一章绪论,介绍了RFID技术,课题研究背景、现状及意义,本文研究内容与论文安排;第二章基于RFID的开放式门禁系统的相关技术与模块,介绍了新力量公司的NFC9501M阅读器模块的特点和功能,GCOSII操作系统和LPC2378微处理器,J2EE规范以及LUCENE索引技术;第三章基于RFID的开放式门禁系统的设计与实现,提出了RFID系统的总体框图,并对各个模块的设计与实现进行了详细的描述;第四章RFID系统测试,对第三章设计的门禁考勤系统进行了测试,包含功能验证和性能测试;第五章全文总结,对本文系统设计方法进行总结,分析了本系统的特点和不足,并对今后课题的进一步研究提出了自己的一点看法。4第二章基于RFID的开放式门禁系统的相关技术和模块第二章基于RFID的开放式门禁系统的相关技术和模块21RFID阅读器模块本课题的RFID阅读器采用深圳新力量公司的NFC9501M阅读器模块,该模块支持IS0180006B6C协议和EPCCLASS1GEN2协议,支持防碰撞算法,进行多卡识别,最大读写距离为8M,工作频率为902MHZ928MHZ,可由软件设置广谱跳频或定频,最大RF输出功率30DBM,功耗不大于5W,标签识别模式按照顺序接收控制读取标签,单个标签识别时间小于8MS,读取写入标签时间为每8字节不大于5MS,每4字节写写入不大于25MS,支持UARTRS232、IZC和SPI通讯,通讯模块分为两层,分别为物理层和数据链路层IS。物理层完成信号的比特数据发送与接收,物理层应符合RS一232规范要求,1位起始位、8位数据位、1位停止位、无奇偶校验,波特率9600BPS、19200BPS、38400BPS、57600BPS、115200BPS可选,阅读器上电或复位后初始波特率为9600BPS,可发送命令改变读写器通信波特率,当与器传输发生错误时,读写器波特率回复为9600BPS。数据链路层具体规定命令和响应帧的类型和数据格式,帧类型分为命令帧、响应帧、读写器命令完成响应帧,该模块提供40种帧格式。22嵌入式技术221LPC2378微处理器LPC2378是一款基于ARM7的微处理器,它包含了10100METHERNETMAC接口、4个UART、2路CAN通道、1个SPI接口、2个同步串行端口、1个12S接EL、3个I2C接口和一条MINIBUS总线【15】,它的主要特性如下ARM7TDMIS处理器,可在高达72MHZ的频率下运行;以太网接口具有16KB静态RAM;两个AHB系统,可同步进行ETHEMETDMA、USBDMA及从片内FLASH执行程序的操作,执行这些功能时不会产生竞争;5电子科技大学硕士学位论文具有外部存储控制器,具备8位数据16位地址并行的总线,支持诸如FLASH,和SRAM的静态设备;一3个12C接口位于APB总线上,具有标准的端口引脚而不是特殊的开漏I2C引脚一标准的ARM测试调试接口,与现有工具兼容。2221TCOSII操作系统ITCOSII是专门为计算机的嵌入式应用设计的,是一个基于优先级调度的抢占式的实时内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务问的通信和同步等基本功能,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB16】。TCOSII可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分【R71。核心部分是操作系统的处理核心,包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。任务处理部分中的内容都是与任务的操作密切相关的。包括任务的建立、删除、挂起、恢复等等。LXCOSII中的最小时钟单位是TIMETICK时钟节拍。任务延时等操作是在这里完成的。任务同步和通信部分为事件处理部分,包括信号量、邮箱、邮箱队列、事件标志等部分;主要用于任务间的互相联系和对临界资源的访问。与CPU的接口部分是指I_TCOSII针对所使用的CPU的移植部分。由于PCOSII是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根据具体CPU的具体内容和要求作相应的移植。23J2EE规范J2EE是美国SUN公司为了开发安全、可靠、可扩展、高效复用的企业级应用系统而提出的一套现行技术规范。它定义了开发企业级应用的各种服务,开发能够部署和运行J2EE兼容的应用程序的应用服务裂1引。例如,开源框架WEBLOGIE和JBOSS等。6第二章基于RFLD的开放式门禁系统的相关技术和模块231JDBC数据库连接JDBC是一种基于XOPEN的SQL命令集接口,它由一组用JAVA语言编写的类和接口组成,使得程序员可以建立一个与数据库无关、与平台无关的编程接口来建立数据库应用程序。SQL的主要功能是和各种数据库建立联系以及进行沟通,是关系数据库管理体系的标准语言,目前绝大多数的关系数据库系统都支持SQL语言标准。典型的JDBC数据库存取框架如下图所示1241图21基于JDBC的存储框架图21中主要包含数据源组件、SQL访问组件、SQL参数和结果集处理组件四大模块。其中,数据源组件主要负责数据库连接管理;SQL访问组件负责数据库服务器的交互查询、更新、存储过程调用等;在整个框架中,凡是涉及到SQL语句参数的处理都交给SQL参数组件;结果集处理组件模块负责处理从存储过程或查询操作返回的结果数据。232JAVA消息服务20221JMS提供了一个通用的API供JAVA开发者使用,可以在一个可靠的事务化环境中生产、交换和使用异步企业消息,它提供了与厂商无关的特性,这样JAVA客户就可以使用一种通用的标准API来实现消息处理解决方案。遵守JMS技术规范,7电子科技大学硕士学位论文并且允许JAVA应用程序使用JMSAPI访问它们的消息处理软件提供者称为JMS提供者,流行的JMS提供者包括IBM公司的MQSERIES、BEA公司的WEBLOGIE、JBOSS公司的JBOSSMQ以及开源社区的AETIVEMQ等。2321JMS结构JMS定义了一个API,可供JAVA客户用来访问消息处理系统提供的相关设施,JMS应用程序主要由消息处理提供者、使用消息处理提供者交换信息的JMS客户以及它们交换的一组消息组成,JMS提供者负责实现由JMSAPI定义的接口。图22显示了JMS的结构。图22JMS结构JMS并不是彼此连接起来以发送消息的。实际上,它们都连接了一个中央消息处理提供者,然后向一个目的地发送消息,而提供者负责把消息发送给在相应目的地位置侦听的JMS客户,从而JMS提供了一种松散耦合的结构。2322JMS工作流程JMS高度依赖JNDI命名服务来提供跨各厂商实现的可移植性,JMS应用程序包括JMS客户、JMS提供者、JMS消息和JMS管理的对象。管理的对象包括连接工厂和目的地。客户使用连接工厂来创建通向消息处理提供者的物理连接,目的地用来指出消息发送接收的地址,消息处理提供者提供了连接工厂和目的地的实现。JMS客户查找到连接工厂之后,就可以用它们来创建连接,这些连接代表的就是通向消息处理服务器的物理连接,使用它们来创建一个或多个会话,从而创建消息、消息生产者和消息的消费者。消息的消费者和生产者是针对特定的目的8第二章基于RFID的开放式门禁系统的相关技术和模块地创建的,分别用于接收和传送消息。消费者Z甘匕L,够以异步方式在目的地侦听消息或者进行模块读取。图23显示了JMS的主要接121以及消息发送步骤。晕苎匝壅土产生消费I7“”“LF塑昼I接收二一发送一一一一一一一DE目STI的NA地TIONI一一一一一一一图23JMS主要接EL和工作流;晕2323JMS消息处理模式JMS支持两种消息交换模式端对端模式POMTTOPOINT,P2P和发布订阅模式PUBLISHSUBSCRIBE,PUBSUBOP2P消息处理使用了队列的概念,消息生产者发送JMS消息给队列,在这些对列中,有一些消息接收者正在以同步或者异步方式进行侦听。客户把消息发送给特定的队列,旦另一个客户从队列中读取到相应的消息,其它客户就无法再访问这些消息。在PUBSUB消息处理模式中,消息按照主题来发送,客户接收发给该主题的消息,与P2P模式不同的是一个主题可以由多个客户共享,也就是说可以由多个客户消费同一条消息。2324JMS消息JMS客户之间交换的消息是JMS应用服务程序中的主要组件。JAVAXJMSMESSAGE接口用于表示消息,JMS消息支持多种数据类型的内容模型,如对象、文本、字节流和映射等。提供者负责实现由JMS定义的消息接口,也可以使用会话对象来创建消息。JMS消息分为三部分消息头、消息属性和消息体。消息头包含很多预定义字段,用来存放客户和提供者用来识别和路由消息的值;消息属性提供与其他消9电子科技大学硕士学位论文息传递系统的兼容性,或者创建消息选择器;消息体使得你可以以不同形式发送和接收消息,并实现现有的消息传递兼容性。2325ACTIVEMQACTIVEMQ是APACHE出品,最流行的,能力强劲的开源消息总线。ACTIVEMQ是一个完全支持JMSL1和J2EEL4规范的JMSPROVIDER实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位,有着诸多优点1多种语言和协议编写客户端,支持JAVA、C、C和C群等流行的语言,并且支持OPENWIRE、STOMPREST、WSNOTIFICATION和XMPP,AMQP等应用协议;2对SPRING的支持,ACTIVEMQ可以很容易内嵌到使用SPRING的系统里面去,而且也支持SPRIN920的特性;3通过了常见J2EE服务器如GERONIMO,JBOSS4,GLASSFISH,WEBLOGIC的测试,其中通过JCA15RESOURCEADAPTORS的配置,可以让ACTIVEMQ可以自动的部署到任何兼容J2EE14商业服务器上;4支持多种传送协议TCP、SSL、NIO、UDP、JGROUPS和JXTA;5支持通过JDBC和OUMAL提供高速的消息持久化;6从设计上保证了高性能的集群、客户端服务器和点对点;7可以很容易得调用内嵌JMSPROVIDER进行测试。24LUCENE索引技术LUCENE是一个高性能的I可扩展的信息检索工具库,能够融入到应用程序中以增加索引和搜索功能【23】。它提供了一套简单却十分强大的核心API,使得用户不需要对全文检索和搜索的机制理解很深,使用LUCENE几个类就可以将它集成到应用程序中,增加搜索和索引的功能。LUCENE只是一个JAVA库,对于不同的索引和搜索内容是通用的,LUCENE相对于其他搜索程序优势很大。LUCENE只是一个软件库,并不具备搜索应用程序的完整特征,只关注与文本的搜索和索引,并能出色的完成任务,它用简单易用的API隐藏了复杂的索引和搜索操作的实现过程,因此可以使应用程序专注于自身的业务逻辑【241。10第二章基于RFID的开放式门禁系统的相关技术和模块图24一个集成LUEENE的典型应用LUCENE可以对任意可以转换为文本格式的数据进行搜索和索引,它并不关心数据的来源、格式、编程语言,只要可以把它转换成文本格式,就可以用LUEENE进行搜索和索引,例如远程WEB服务器上的网页、本地的文本文件、WORD文档、PDF文档或者其他一切能够从中提取文本信息的数据格式。还可以用LUCENE来索引存储在数据库中的数据,从而使应用程序能够为用用户提供其他很多数据库所不具备的全文索引搜索功甜25粕】。25本章小结本章主要介绍了与后续RFID系统模块化设计的相关技术和模块,包括了NFC9501M阅读器、LPC2378微处理器的功能特性、弘COSII操作系统、J2EE规范和LUEENE索引技术。电子科技大学硕士学位论文第三章基于RFID的开放式门禁系统设计与实现31RFID系统总体框架该RFID系统总体设计框图如下图所示。标签翼H壤读陆刮模襞器FI坎搽錾H翼H鹾局域网霎伴信险刮鬟模LI服万块I业务处L一索引库理R1数据库图31总体的系统框图搜索接口在前向模式中,阅读器控制模块通过红外对射模块识别是否有人经过大门,如果RFID阅读器收到的数据不是合法用户或未收到数据,则蜂鸣器连续响铃给予警告,如果是合法用户,则蜂鸣器短鸣,并将数据进行平滑过滤,通过自定义的通信协议,将数据由局域网传送到IO通信模块,它提取有效的数据信息,并封装成JMS消息,业务处理部分侦听到有消息到达时,启动相应的线程,进行业务处理。在后向模式中,用户可以通过发送命令,通过同样的链路修改阅读器控制模块的配置和更新FLASH上的数据等。搜索模块则为业务处理层提供了索引和搜索的接口,在数据量激增的时候,搜索效率也能得到保障。32阅读器控制模块设计与实现321开发工具阅读器控制模块采用嵌入式C语言编程,在ADS集成开发环境下开发,控制12第三章基于RL的开放式门禁系统设计与实现底层设备的运转,ADS是全套的实时开发软件工具,编译器生成的代码密度和执行速度优异,可快速低价地创建ARM结构应用。ADS包括三种调试器ARMCXTCNDCDDVBUGGCR,AXD向下兼容的AP,MDCBUGGCTFORW洫DOW鲥恨MDCBUGGCRFORUNIX和ARM符号调试器其中AXD不仅拥有低版本ARM调试器的所有功能,还新添了图形用户界面,更方便的视窗管理数据显示,格式化和编辑以及全套的命令行界面。ADS对汇编、C,C、JAVK支持的均很好,是目前最成熟的ARM开发工具【1”。瓮,。LI74”寰毒强“墓鬻;警登”“一。一箍巨置强订弘,;搿撼TL嚣姥,、葛。M蔷;I;T盘磊芸二,。嚣锚饕;N;F;一;图32ADSL2主界面J函蜊蝌到I蔷列茧AL舔I赢J刮F蔷JIEII目LAI吲IQ_划口闻刊蚵曼IIL_1咖“I“一B自T”I“N一N“MH一,_C一“ITR“MX_HM岫1NK“”QM一M口一J戮蕊I。誓,I。_纂纛;茹姑茹盘嚣M”爿RI1一。0;“圈30ADX调试窗口13电子科技大学硕士学位论文322系统功能框图阅读器控制模块的总体框架如下图所示。婴SPI总线总线图34阅读器控制模块框图该模块以飞利浦LPC2378微处理器为核心,它通过UART与RFID阅读器连接,控制RFID阅读器的读写和操作频率;通过12C总线与RTC连接,用于读取当前的时间信息;通过直连的方式控制液晶显示,用于显示读取的标签信息;通过SPI总线与片外FLASH相连,该FLASH存放合法用户的信息和脱机模式下存放的离线打卡数据;通过网络接口实现与外界的通信,对采集的数据按照通信协议封装成应用层数据;通过外部中断引脚连接红外对射模块,红外线发射器发射的红外线受人体阻挡而被反射,接收器无法接收到红外线,接收器工作状态发生改变,产生一个中断【UJ。该模块的工作流程在主动上报模式中,微处理器控制RFID阅读器的采集频率,一旦接收到有效数据,LPC2378产生一个中断,将读取到的数据与FLASH中合法的用户进行比较,如果合法,则控制蜂鸣器短鸣,并在液晶屏幕上显示打卡人的信息,同时读取实时时钟的时间信息,按照323节的通信协议对数据进行封装,经由局域网发送到上位机,如果非法,则蜂鸣器长鸣给予警告,如果红外对射模块检测到了有人经过,而在5秒内未收到合法用户数据蜂鸣器也将长鸣。在被动接收命令模式中,允许用户发送命令配置该模块的口和掩码地址信息,更新FLASH的数据和同步RTC时间等。14第三章基于RFID的开放式门禁系统设计与实现323通信协议为了阅读器控制模块和上位机的IO通信模块要完成顺利通信,必须依据需求分析定义通信协议。一个完整的命令包由起使标志单元、命令单元、结束标志单元三部分组成,其编码统一使用ASCII码。详见表31。表31命令包通用格式起始标志单元命令单元结束标志单元【命令头命令体】1BYTE10BYTE变长1BYTE起始标志单元L字节长度,表示一个完整数据包分组起始标志,固定为ASCII字符【,0X5B;命令单元由命令控制头和命令体两部分组成。命令控制头包括协议版本号、数据报M、命令编号、应答标志4个字段组成,共12个字节。命令体包括起始标志位、命令体数据及结束标志位组成,命令数据长度不定。命令单元的组成格式见表32;结束标志单元1字节长度,表示一个完整数据包分组结束标志,固定为ASCII字符】0X5B。下表显示命令单元详细的组成格式。表32命令单元组成格式命令头命令体版本号数据报ID命令编号应答标志起始命令数据结束2BYTE4BYTE2BYTE2BYTE命令编号命令的唯一标识,其详细定义如下表所示。15电子科技大学硕士学位论文表33通信命令列表命令编号含义流向命令数据备注10终端主动上报终端PC见表3520查询终端基本信息PC终端空空21设置终端M和端口PCO终端IP端口号19216852202022时间同步PC终端日期时间2009041017300530查询用户数据PC_终端空空050209020000000031更新用户数据PC_终端标签号姓名何军M“管理模式”32切换模式PCO终端单个字符R“实时模式”O一“脱机模式”40查询脱机数据PCO终端空空41清空脱机数据PCO终端空空1“单卡180006B”2“多卡180006B”42设置读卡模式PC_终端一个字符3“单卡180006C”4一“多卡180006C”数据报ID随机生成数据报D,标识数据报唯一性。应答标志作为命令的主动发起方,该字段添0。被动接收方对该字段不解析、不处理。如果作为应答消息,该字段作为应答标志。如果该字段非“00”,则表明最近收到的命令无法处理或出错。主发起方收到对方应答标志非“00”的应答后,对“命令体”不解析、不处理。只有应答标志为“00”,“命令体长度”和“命令体”才有意义。应答标志编码详细见表34。表3_4应答标志编码定义编码含义00成功01命令编号错02校验错A0其它错误FF最后包成功16第三章基于RFID的开放式门禁系统设计与实现命令数据当阅读器控制模块向IO通信模块传送RFID标签数据和时间时,其数据格式如下表。表35上报数据格式参数名长度字节描述TAGID变长TAG标识分隔符11日期1020081201分隔符1I时间51301分隔符1,一组数据的结束TAGID变长TAG标识分隔符11日期1920081201分隔符1I时间51301分隔符1,一组数据的结束例如,主动上报数据的基本格式为0123562121121212121200904101930,10000865DDEFL2009041111130,上层应用程序接收到该数据串,并按此协议提取有用的数据信息,即打卡的时间和日期信息;从PC到阅读器控制模块的配置命令的命令数据根据命令编码的不同而不同,如表33所示。324程序设计本模块的程序基于心OSII操作系统,分为三种模式,分别是脱机模式、实时模式和管理模式,从而有效地管理RFID阅读器。脱机模式是当没有连接到网络或者在实时模式发送指令数次不成功时自动触发,此时将读取到得合法RFID数据和读取时间保存在片外FLASH中,直到有SOCKET连接被检测到就自动转到管理模式,由于该模式的存在,阅读器控制管理模块才得以在网络异常时也能正常工作;在管理模式中,上层应用程序可以发送配置命令、更改模式或者处理FLASH上的离线数据;在实时模式中,该模块把经过滤的RFID数据立即上传到上层应用程序,以待进一步处理,如果发送数次不成功,则自动转入脱机模式。其转换图如下图所17电子科技大学硕士学位论文不。发送指令数次不成功图35软件运行模式利用TTCOSII操作系统的多任务特性实现该三种模式之间的切换、控制外围器件和控制RFID阅读器工作,其主任务的流程图如下图所示。图36基于COSII系统的任务硬件初始化包含液晶显示器初始化和LPC2378功能引脚初始化等;1TCOSII操作系统初始化,包括操作系统时钟节拍和清空就绪任务结构表世守;TASKLISTEN任务负责监听上位机的SOCKET连接;TASKTCPRECV任务上位机中IO通信模块与阅读器控制模块通信线程,每创建一个连接就启动该任务,负责从IO通信模块接收并解析协议数据;TASKCOMSEND任务用于周期地向RFID阅读器发送读命令,兼容两种格式的读命令;TASKHANDLELD任务处理RFID阅读器的相应帧,并解析响应帧,获取标签唯一标识ID1R第三章基于RFID的开放式门禁系统设计与实现TASKMODESWITCH任务负责三种模式的切换,并相应地分配每个模式拥有的权限;TASKLCDDISPLAY任务用于显示待机时的时间信息,每秒刷新一次。3241统一驱动接口本课题充分借鉴驱动封装思想,尤其针对只具备串口通信能力的阅读器设备,通过统一的封装,以便兼容多种不同类型的RFID阅读器产品,该模块的统一驱动接口保存在READERDRIVERH头文件。1VOIDREADCMDUINT8READTYPE该函数向阅读器发送读命令,本课题中,该函数通过调用ZLGUART通信库函数来实现,实现向NFC9501M阅读器发送读命令数据,在该头文件中,宏定义几组READTYPE的取值,如下所示DEFINESINGLEYIWANBA6B0X01单卡180006B识别模式DEFINESINGLEYIWANBA6C0X02多卡180006B识别模式DEFINEMULTIYIWANBA6B0X03单卡180006C识别模式DEFINEMULTIYIWANBA6C0X04多卡180006C识别模式2VOIDWRITECMDUINT8DATA,UINT8WRITETYPE该函数向阅读器发送写命令,WRITETYPE字段允许取值和意义与READTYPE字段的一样;3VOIDCONFIGCMDUINT8DATA,UINT8CMDTYPE该函数用于向阅读器发送配置命令,例如设置阅读器RS232波特率、复位阅读器、设置工作参数和固件升级等命令,每个配置命令与一个宏定义相对应。4UINT8ANALYSEDATAUINT8SOURCE,UINT8RESULT该函数用于解析阅读器响应帧数据,第一个参数表示返回数据帧所存储的首地址,第二个参数代表解析之后数据存放的首地址,如果解析成功则返回L,否则返回0。本课题实现了对读命令响应帧的解析,从响应帧中提取标签ID。3242TASKLISTEN任务设计该任务是以服务器模式来编写,采用TCP协议进行通信,如果有连接则返回一个有效套接字,否则处于等待状态。该模块使用的是ZLGIP通讯函数库【15舶】,它是周立功单片机发展有限公司自主开发的基于TCPIP通信协议的程序包,该任务的工作流程如下图所示。19电子科技大学硕士学位论文图37TASKLISTEN任务流程该任务首先一个创建网络套接字,它是一个UNSIGNEDCHAR类型,默认无连接时的值为0,然后将该创建的SOCKET对象绑定到本机的口地址和端口上,客户端根据该口地址和端口号来实现通信,最后服务器侦听客户端的连接,调用ACCEPT0函数使该套接字做好接受客户连接的准备,连接成功则创建接收线程,接收程序可以调用TCP协议RECV0和SEND0函数进行数据的发送和接收。3243TASKRECV任务设计客户端连接上阅读器控制模块后,由监听线程启动TASKRECV任务,该任务主要完成数据的接收和对接收到的数据进行解析,直到客户端手动断开连接或者由于网络故障引起的断路。其工作流程图如下。20第三章基于RFID的开放式门禁系统设计与实现YN图38TASKRECV任务流程图接收并分析从IO通信模块的数据,如果客户机一直不断开连接,该线程可以保持接收和处理数据状态,解析数据由HANDLETCPOI函数完成,它主要的功能是完成解析符合323小结所述通信协议的数据包,并把协议数据存放到SPROTOCOLSTMCT结构体中,SPROTOCOLSTRUCT结构体的定义如下。STRUCTSPROTOCOLSTRUCTUINT8VERSION2;UINT8PACKAGELD4;UINT8COMMANDNO2;UINT8RESPONDFLAG2;UINT8COMMANDBOBY;21电子科技大学硕士学位论文它分别存储了表32所示的版本号、数据包ID、命令编号、应答标志和命令数据,然后根据协议版本号和命令编号采取不同的操作。3244TASKCOMSCND任务设计该任务通过串口直接与NFC。9501M阅读器进行通信,控制着读写命令和读写频率,其任务优先级最高,在发送阶段其他任务无法剥夺其对MCU的使用权,阅读器返回的标签数据在UART中断服务函数里进行处理,该任务的流程如下图。图39TASKCOMSEND任务流程图首先任务开始判断当前的读卡模式,上位机发送命令编号为41来设置读卡模式,模式判断完后,就一直在发送读命令,而无需重新判断模式,因此,每次设置就重新挂起任务并启动任务。通过任务的延时调度来控制读卡的频率,经试验证明,读卡频率影响着NFC一9501M阅读器读写距离,所以此参数需要经过多次调试才能得出最佳效果,图39所示的读卡频率是每秒钟发送10次读命令,一来该任务占用MCU时间不会太长,提高

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论