【自动化】某小区入户门禁系统的设计_第1页
【自动化】某小区入户门禁系统的设计_第2页
【自动化】某小区入户门禁系统的设计_第3页
【自动化】某小区入户门禁系统的设计_第4页
【自动化】某小区入户门禁系统的设计_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业设计说明书(毕业论文)完整源代码及整套相关文件QQ68661508,完整电路设计图纸,程序设计源代码请联系本人,参见豆丁备注和信息。HTTP/WWWDOCINCOM/LZJ781219题目某小区入户门禁系统的设计学生姓名学号专业自动化班级自20113班指导教师某小区入户门禁系统的设计摘要随着现代人们生活水平的不断提高,对居住环境配套设施的要求也越来越高,智能门禁系统可以实现安全快捷的管理是住户们的一致心愿。本设计主要进行了以指纹识别模块为核心的智能入户门禁系统的软硬件设计,硬件部分主要由主控MCU、指纹识别模块、矩阵键盘输入模块、LCD12864液晶显示模块、DHT11温湿度传感器、电磁阀、蜂鸣器等组成,而上位机监控界面部分利用JAVA开发。智能入户门禁系统采用的主控单元为IAPSTC15F2K60S2,其内核为51,外围采用矩阵键盘和指纹模块进行输入,同时有温湿度传感器数据传给MCU进行处理,并且与上位机进行通信。当指纹模块处于读模式的时候,即检测指纹,如果在指纹库中找到当前指纹,则提示用户输入密码,将密码传到上位机比对,如果正确,则打开电磁阀所控制的门,如果是写模式的话,则创建用户,需要输入指纹,和创建密码,密码存储在上位机的数据库里。智能楼宇单元门禁系统通过指纹识别模块实现了对进入单元门的住户身份确认和实时记录,提高了小区的智能化管理水平。方便了住户进入单元门,保障了住户的安全。关键词门禁系统;指纹识别;监控系统ARESIDENTIALHOMEACCESSCONTROLSYSTEMDESIGNABSTRACTWITHTHEIMPROVEMENTOFLIVINGSTANDARDSOFMODERNPEOPLE,THEYHAVEHIGHERREQUIREMENTSOFTHELIVINGENVIRONMENTANDSUPPORTINGFACILITIES,INTELLIGENTACCESSCONTROLSYSTEMCANACHIEVESAFEANDEFFICIENTMANAGEMENTISTHEUNANIMOUSASPIRATIONOFTHERESIDENTSTHISDESIGNMAINLYCARRIESONTHEDESIGNOFTHEHARDWAREANDSOFTWAREOFTHEENTRANCEGUARDSYSTEMBASEDONTHEFINGERPRINTIDENTIFICATIONMODULEASTHECORE,THEDESIGNOFTHEHARDWAREPARTMAINLYCONSISTSOFMAINCONTROLMCUMODULE,AFINGERPRINTIDENTIFICATIONMODULE,MATRIXKEYBOARDINPUTMODULE,LCD12864DISPLAYMODULE,DHT11TEMPERATUREANDHUMIDITYSENSORS,ELECTROMAGNETICVALVE,ABUZZER,ETC,WEUSEJAVATODEVELOPPCPARTPROGRAMINTELLIGENTHOMECONTROLSYSTEMUSEIAPSTC15F2K60S2ASTHEMAINCONTROLUNITITSKERNELIS51,ANDWEUSEMATRIXKEYBOARDANDFINGERPRINTMODULEINPUT,ANDTEMPERATUREANDHUMIDITYSENSORDATATRANSFERTOTHEMCUFORPROCESSING,ANDCOMMUNICATIONWITHTHEHOSTCOMPUTERWHENTHEMODULEISINREADMODE,THEDETECTIONOFFINGERPRINT,IFTHEFINGERPRINTISFOUNDINTHEFINGERPRINTDATABASE,THEPROMPTOFTHEUSERTOENTERAPASSWORD,THEPASSWORDISTRANSMITTEDTOTHEUPPERCOMPUTERALIGNMENT,IFITSRIGHT,THENOPENTHEDOORIFITISINWRITEMODE,THENCREATEAUSER,WENEEDTOCOLLECTTHEFINGERPRINT,ANDINPUTTHEPASSWORD,PASSWORDWILLBEKEEPINTHEDATABASEOFTHECOMPUTERTHEINTELLIGENTBUILDINGUNITACCESSCONTROLSYSTEMISREALIZEDBYTHEFINGERPRINTIDENTIFICATIONMODULETOIDENTIFYANDRECORDTHEIDENTITYOFTHEHOUSEHOLDSENTERINGTHEUNITGATE,ANDIMPROVETHEINTELLIGENTMANAGEMENTLEVELOFTHEDISTRICTCONVENIENTACCESSTOTHEDOOROFTHEUNITTENANTS,THESECURITYOFTHETENANTSKEYWORDSACCESSCONTROLSYSTEMFINGERPRINTIDENTIFICATIONMONITORINGSYSTEM目录摘要IABSTRACTII第一章绪论311门禁系统研究背景312门禁系统研究意义4第二章系统总体架构521小区门禁系统需求分析522小区门禁系统硬件部分设计623小区门禁系统软件部分设计7231上位机软件部分7232下位机软件部分824小区门禁系统预期效果8第三章小区门禁系统的硬件设计931主控板设计932输入部分设计10321矩阵键盘模块10322指纹识别模块11323温湿度模块15324时钟模块1633输出部分设计17331液晶显示模块17332蜂鸣器模块20333电磁阀2134无线通信模块22第四章小区门禁系统的软件设计2641软件总体架构2642下位机设计27421读模式28422写模式2943上位机设计32431SPRINGMVC配置32432数据库配置34434RXTXCOMM包与WEBAPP的融合38第五章结论42参考文献45附录A电路原理图46附录B系统程序48致谢62第一章绪论11门禁系统研究背景小区智能门禁系统,是指对门的权限进行管理,应用十分的广泛,比如说现在的智能楼宇中,作为入口,门禁系统的作用相当明显。作为小区出入口的权限管理,首先为了防止非本小区的进入,必须对本小区的人赋予权限,而利用指纹模块作为门禁系统的入口,而且由于指纹的唯一性,可大大提高安全性,而随着社会不断发展,经济日益的繁荣,高楼大厦的增多,对门禁系统的需求也越来越大,由于出入人数巨大,所以有一个智能的门禁管理系统是非常的重要,指纹模块作为门禁的核心部分,而近些年,随着生物感应技术的发展,所以门禁系统得到了很好的发展。而作为智能建筑的一部分,智能门禁在我国于90年代才刚刚发展,但是速度相对较快,在沿海一带,智能建筑已经成为不可缺少的部分,但是内陆的一些地区,发展可能会相对较慢。而对于智能门禁,其应用领域,现在也不仅仅应用于出入门控制,现在越来越多的要求,比如考勤,安防,而在停车场等地方,也有非常多的应用。而对于门禁系统,其入口的选择也是十分的重要,现在市面上存在的大概有RFID,指纹识别等,各有各的优点。而智能建筑,作为一个新兴的而且非常有前途的一个发展分支,而且是一门交叉学科,既有建筑学的内容,又跟电气等智能设备有着密切的联系,其实这是作为信息发展的必然结果,现在科技的发展,越来越多的新技术应用到我们的生活中来,这便是其中的一个,随着各种形式的变化,但是核心技术却没有变,只是把这些技术应用到了新的领域,得到了新的应用,而在智能建筑中大量使用的是智能化的设备,比如建筑设备自动化系统,还有就是办公自动化系统,以及通信自动化系统,构成了智能建筑这样一个庞大的智能系统,每一个智能化设备都是其中的一个组成部分,保证着智能建筑的正常运转,而且作为智能建筑的入口,门禁始终都摆在非常重要的位置上。而作为门禁系统的研究,现在应该是已经来到了非常重要的时间段,对于未来的智能化设备发展,智能门禁的研究设计会在未来对智能化的有更多的信息共享,为人们的生活带来越来越多的乐趣,实现信息化的生活。12门禁系统研究意义“智能化生活”,怎么实现生活的智能化一直都是信息化工作者的共同目标,智能化生活意味着信息共享,现在比较流行的说法是大数据,数据共享意味着人们可以接收到更多的信息,接收更及时的信息,让人们可以有更多的选择,更方便快捷的信息处理方式。而智能化的建筑可以为我们的生活带来什么改变呢,智能建筑是通过大量的使用信息化的技术,网络技术以及自动控制技术,是为了让人们的生活更加的健康和方便,居住的环境更加的舒适和简单快捷,人们一直在为此而努力,所以这是智能化生活的最终目标,以及必然结果。而小区智能智能门禁系统的研究与设计,为的是更加让人们的出行家方便,保证小区人员的安全,为人们的出行提供更多的帮助,为压力大的人们生活提供更加便捷的出行选择。而随着我国安防产业的迅速发展,有越来越多的人们注意到了发展的重要意义,人们不断尝试不同的技术来使其增添特色,使得我国的安防技术得到了很好的发展,使得人们的生活越来越与此密不可分,而在小区的总体管理上,特别是智能小区中,智能门禁可以与多种技术结合使用,比如说对讲机系统,比如说视频通话系统,比起传统的单一功能的门禁系统,增添了多种信息处理技术,得到更高的技术集成,更好的服务于我们的生活,增添了不少的乐趣。而其也拥有美好的发展前景,和现在人们的提倡的科学发展观念有着相同之处,有了这一观念的支持,使得此技术发展有了长久的生命和活力。而智能门禁技术是最能贴近我们日常生活的安全系统,也更加的需要我们去研究和发展,而未来的智能化生活中一定离不开智能门禁技术,因为智能门禁技术是智能建筑的重要组成部分,而智能建筑使得人们的住更加的方便舒适,这一切的发展都与我们的生活息息相关,而且是更好的服务与生活,所以智能门禁的发展是非常的必要而且前景广阔,而正是在这种意义和发展前景下,本设计将对智能门禁系统进行分析和设计,将对这一领域所用到的技术和功能进行分析,以便更好的运用到这一技术,使得智能门禁系统有更好的发展。本文将从硬件设计到程序编写对智能门禁系统进行分析和设计,探索其可行性。第二章系统总体架构21小区门禁系统需求分析对于门禁系统的需求分析,作为门禁,我们的需求,首先肯定其主要功能是以怎么样的权限让人们进入和出去,也就是我们常常讲的入口,我们以什么作为入口,我选择的是指纹作为入口,原因很简单,因为每个人都有唯一的指纹,所以不存在重复,即唯一性或者单一性。除了以指纹模块作为入口,还是用到了矩阵键盘来输入密码,就好像我们登录网络账号的时候,当输入了用户名之后,还需要输入密码,而这里的指纹则相当于我们的用户名,先是在指纹库中找到了这枚指纹,即查找到用户存在,然后通过矩阵键盘输入密码,通过指纹序列从上位机中比对密码,如果密码正确,则打开门,整个门禁系统的认证过程结束。门禁系统自然是在门上,所以门上可能需要提供时间显示的功能,告诉人们现在是几点,时间显示功能则是为了丰富除自身功能之外的门禁的其他功能,方便了人们需要查看时间的需求和功能。然后就是人们可能除了时间之外,还需要了解当时的环境参数,本设计中加入了温湿度传感器,使得人们可实时的查看当时的温度和湿度,人们可根据当时的环境参数来决定属于自己的出行方式,更加的方便了出行的人。既然是门禁,肯定需要用到锁,本设计选择电磁阀作为作为门禁系统中的锁,与传统的锁不同,电磁阀根据电信号来进行控制,当电磁阀收到电信号之后,即动作,打开门,当电信号消失,则锁会锁上。然后是显示部分,我们采用LCD12864液晶作为显示部分,也主要是考虑到其可显示内容多,编程容易等特点,我们的传感器参数,指纹读取,指纹录入等时候的操作信息,和提示信息,都可以在液晶模块上显示,使得操作人员可以的进行人机互动,增加了可操作性,互动性,方便人们查看,更加的方便。然后是上位机部分,本设计采用上位机,上位机的编程语言为JAVA,而选择其作为上位机编程语言是因为其面向对象的特效,可以更好的进行编程,本设计是基于J2EE,即上位机是WEB端的,这样做的原因是因为人们只需要浏览器就可以登录本系统,然后来查看和管理自己的信息,管理员也可以在浏览器上对门禁系统的信息进行管理,对于网络发达的今天,这是非常方便的。下面是系统总体架构图,系统整体设计如图21所示。图21系统总体架构图22小区门禁系统硬件部分设计本对于门禁系统的硬件部分,我们以STC的IAP15F2K60S2,其核心为51,但是比起51多了很多硬件上的内容,使得有很多资源可以用,外围采用指纹模块和矩阵键盘模块作为输入,输出则采用LCD12864作为输出部分,通过液晶我们可以可以看到输出信息,比如说传感器的参数,还有关于检测指纹的各种信息都是通过液晶模块输出显示出来,如果读取指纹成功,或者录入指纹成功,我们可以听到来自蜂鸣器的不同的声音传递不同的信号,然后电磁阀根据不同的信号输出不同的状态。得到了根据指纹开门的这样一个效果。而与上位机通信采用的无线串口APC220模块,通过APC220则可以与上位机进行串口通信,达到数据传输的效果。下面是硬件部分设计构图图22硬件部分总体设计图23小区门禁系统软件部分设计关于软件部分的设计,分为上位机软件部分和下位机软件部分;231下位机软件部分关于下位机软件部分,下位机的编程语言为C,这也是大部分嵌入式设备用得最多的编程语言,编程环境是KEIL51,当下位机上电之后,不断的发送0X55向上位机,等待来自上位机的信号,如果等到来自上位机的信号,上位机将此时的时间传给下位机,下位机通过液晶将实时事件反应出来,并将环境参数和实时时间一并显示在液晶模块上,此时的模式是读取模式,而下位机一共分为两个模式,也就是读取模式和写模式,读取模式就是从模块中识别指纹,如果读取到指纹,就是从指纹库中读取指纹,如果读取到指纹,则提示用户输入密码,如果输入正确,则开门让用户进入,如果未读取出来,则读取错误,不能为用户打开门,而写模式的功能是说的是让当管理员在上位机上点击增加用户按钮的时候,根据指令创建新用户,首先需要录入新指纹,如果录取成功,则输入密码,然后按确定键则创建用户完成,这就是写模式的过程。下面是软件部分下位机流程图,图23软件部分下位机流程图232上位机软件部分每当上位机采用JAVA语言编写,基于J2EE,用SPRINGMVCJDBC编写网页,数据库采用的是MYSQL,提供对下位机的管理功能,当普通用户登录的时候,根据普通用户的权限只能看到关于自己的数据,即进出记录,还有就是可以修改密码,而每次修改密码的记录都记录在数据库里,而如果登录的是管理员,管理员则可以查看所有用户的登录记录,并可以增加或者删除一个用户,这是管理员的权限,而管理员则可以本系统中拥有最高的权限,当管理员点击增加用户按钮时,下位机收到增加用户指令,此时命令后,指纹模块开始录入指纹,如果指纹录入成功,则提示用户输入密码,如果都输入完成,则用户创建成功,下次用户进出的时候,则可以通过指纹读取和密码输入来完成门禁的进入了。下图是上位机软件设计框图,图24软件部分上位机流程图24小区门禁系统预期效果关于本系统的预期效果,对于本设计,希望看到的是上位机下位机协作的一个效果,当在上位机上进行点击操作时,下位机可进行相应的响应,根据上位机的不同下位机进行不同的操作,而上位机也可根据不同的指令和不同的操作来对数据进行存储,对数据库的操作也是本系统应该做的事情,而后台根据数据的内容对其查询,而系统的一切数据都存储数据库中,方便管理和处理,而对于预期效果,主要是想看到协同合作,看到协同协作的效果,而维系这一效果的是通过无线串口通信,通过无线串口通信进行数据交换,只要有数据的交换串口中得到数据,而保证数据的正常流通是达到预期效果的重要保障。第三章小区门禁系统的硬件设计31主控板设计监关于本系统的主控板的设计,我们采用的主控芯片是STC公司的新型产品IAP15F2K60S2,在本系统中的作用主要是控制各外围模块,然后与上位机进行通信,各外围模块包括,比如说指纹模块,矩阵键盘模块,温湿度传感器,电磁阀,蜂鸣器,以及LCD12864液晶模块,保证各个部分的正常工作,起到一个主控的作用。下面对本芯片做简短的介绍,简单的对其硬件做一个介绍1其内核首先还是51内核,所谓的内核指的是指令系统,即指令系统还是继承了8051的指令系统,并兼容51;2它是增强型51,单时钟周期,比普通单片机快7到12倍,增强型51因此得名3其工作电压为38V到55V42048字节的SRAM5其EEPROM,可擦写次数可达到10万次以上本设计正是采用其DIP40的封装,下图是其引脚图,图31IAP15F2K60S2引脚图由于其不需要外围的时钟电路和复位电路,所以方便很多。而对于整个系统的设计,则围绕MCU进行设计,首先需要考虑的是供电模块,我们只有给主控板供上电了才能保证系统的正常运转,电源模块的原理图如下图所示,图32电源模块原理图32输入部分设计输入部分分为矩阵键盘模块,还有指纹识别模块,还有就是以环境参数作为输入的温湿度传感器,还有作为时钟输入的DS1302时钟模块,下面一一举出321矩阵键盘模块为了满足本系统的输入需求,需要应用指纹模块来进行密码输入,以及一些功能键的输入,之所以使用的是矩阵键盘,首先是为了节省单片的I/O口资源,节省资源以便其他外设使用,在矩阵键盘中每行水平线和垂直线有交叉的地方,又不直接连接,这样一组I/O口可以有16个按键。对于矩阵键盘的检测方式为,作为一组I/O口,先把高四位,也就是矩阵的键盘的4行,拉高,给高电平,然后对矩阵键盘的低四位,作为电平检测输入,如果检测到某个脚为高电平,则此时这个键盘为按下了,则可以根据此得出键盘输入值,这就是矩阵键盘的检测方式。下面是本系统中矩阵键盘的原理图,图33矩阵键盘模块原理图322指纹识别模块关于指纹识别模块,我们采用FM70系列,FM70以高速DSP为核心,结合光学指纹传感器,具有指纹录入,图像处理,指纹比对,搜索,和模板存储等功能的智能模块,本模块具有以下特色反应灵敏,指纹适应性强,能获得较佳的图像质量;特定LED高亮光源,降低光衰,使用寿命更长,性能更持久耐用;二次开发简单,可根据模块提供的丰富指令,可自行开发出功能强大的指纹识别应用。其应用领域也十分的广泛,比如门禁系统,考勤机,权限许可等领域,其工作原理为手指表面的凹凸不平产生的纹路,会形成各种不同的图案,我信息处理中这是叫做特征,所以特征是唯一的,我们把一个人的指纹的特征值保存起来,然后需要比对指纹的时候,我们采集图像,生成特征,然后与指纹库里的存储的特征值进行一一比对。其主要技术参数有工作电压3870V背光颜色绿色工作电流SPRINGSERVLETORGSPRINGFRAMEWORKWEBSERVLETDISPATCHERSERVLETCONTEXTCONFIGLOCATIONCLASSPATH/SPRINGSERVLETXML1SPRINGSERVLETDO这段配置文件的大概意思是声明一个名为SPRINGSERVLET的DISPATCHERSERVLET,它将拦截任何以DO结尾的请求,然后找到CLASSPATH下的SPRINGSERVLETXML来加载BEAN对象,然后我们创建SPRINGSERVLETXML配置文件,然后是视图的返回,然后是关于视图的返回类型,由于CONTROLLER只是返回一个值,返回类型是INTERNALRESOURCEVIEWRESOLVER说了算,我们需要在SPRINGSERVLETXML中引入INTERNALRESOURCEVIEWRESOLVER类,配置文件如下,/WEBINF/JSP/JSP在BEAN中,我们看到有前缀和后缀,说明如果请求的是/WEBINFO/JSP下的JSP,则返回不带参数,例如,请求/WEBINFO/INDEXJSP,则返回/WEBINFO/INDEX,然后是访问静态文件的配置,静态文件在SPRINGMVC无法直接访问,在SPRING30之后的版本提供了MVCRESOURCES,这样就可以支持静态文件的访问,格式如下,这样就把/RESOURCES/映射给RESOURCEHTTPREQUESTHANDLER处理,LOCATION是指定静态文件地址,我们可以把项目中用到的JQUERY和BOOTSTRAP需要用到的一些JS和CSS,以及一些图片都放在这个目录下,然后在相应的JSP文件里边就可以调用了。然后是如果要完成对BEAN的创建,和自动依赖注入的功能,我们还需要对包中的所有类进行扫描,我们需要引入COMPONENTSCAN,具体XML配置如下,这样就可以引入基类的包,并且自动扫描包名,由于在项目中,如果需要使用注解映射,比如使用CONTROLLER形式的注解的话,即使用CONTROLLER,需要注解支持,我们需要对XML配置以引入对CONTROLLER、SERVICE、RESOURCE、REQUESTMAPPING等的注解支持,而能够自动注册DEFAULTANNOTATIONHANDLERMAPPING和ANNOTATIONMETHODHANDLERADAPTER这两个BEAN,而这两个BEAN是CONTROLLER注解的两个必须的BEAN。432数据库配置下面是关于数据库的配置,数据库是用得MYSQL,这也是市面上用的比较多的关系型数据库,很多大公司包括阿里都使用MYSQL来进行数据存储,下面对MYSQL进行简单的介绍,首先,MYSQL是关系型数据库,MYSQL将数据保存在表中,而不是一个很大的数据库中,这就是所谓的关系型数据库,MYSQL使用SQL语言查询数据库,完全兼容SQL标准,还有MYSQL是完全开源的,采用的是GPL开源协议,开源软件的好处在于每个人都可以为这个软件贡献自己的力量,无论在全球的任何一个地方,这也是MYSQL成功的一个原因之一吧,还有,MYSQL跨平台,无论你的工作环境是视窗系统,或者MAC,还是LINUX,MYSQL均提供支持,甚至在嵌入式系统中,除此之外,我们还对MYSQL的特性做如下总结MYSQL是一种关系型数据库MYSQL完全开源,属于开源软件MYSQL跨平台,用户众多MYSQL的编写语言为C/C用多种编译器进行了测试提供众多语言的应用程序接口提供了事务性和非事务性存储引擎以上是对MYSQL做简短介绍,我们在项目中如何使用,下面是在应用中如何使用的方法,JAVA中操作数据库的是JDBC,其英文全名为JAVADATABASECONNECTIVITY,JAVA数据库的连接,它的主要功能有完成对数据库的连接,和发送SQL语句,当然还有处理结果,这里的数据库指的是支持的所有的数据库,所以用JAVA编程不需要再针对各个数据库再编写专门的SQL语句,因为JDBC已经负责了底层的实现,WRITEONCE,USEANYWHERE,我们只需要加载相应的数据库的驱动包,然后架子啊相关驱动包,就可以使用JDBC使用相应的数据库,大大的减轻了编程的工作量,而且,用JAVA编写JDBC驱动程序是与数据库厂商无关的,是完全独立的,而JDBC的作用就是让JAVA编写出来的程序与数据库连接,祈祷一个中间桥梁的作用。要使用MYSQL,在WINDOWS下,先安装MYSQL的安装包,在安装过程中需要设置一些,比如管理员密码等,在安装完成之后,我们就可以在CMD窗口下访问数据库,安装完数据库之后,在本设计中,我们需要根据自己的需要先设计自己的数据表,根据项目名先创建自己的数据库,然后所有的数据表都会存在于这个数据库中,首先分析本设计中需要用到的哪些数据库需要存储的数据,当用户进出门禁的时候,我们需要对客户的进出时间进行记录,用户的用户名(指纹序列号),进出时间进行记录,创建ACCESS_RECORD数据表,创建完成之后其结构如下所示,|FIELD|TYPE|NULL|KEY|DEFAULT|EXTRA|USER_ID|VARCHAR4|NO|PRI|NULL|ACCESS_TIME|DATETIME|NO|NULL|先是创建一个用户ID的字段,然后是通过实践,然后用户和管理员就可以通过访问数据库得到出入的记录信息,由于提供用户修改密码的功能,所以每一次用户修改密码之后,数据库也会进行记录,我们创建名为PASSWORD_CHANGE_RECORD的数据表,其结构如下所示,|FIELD|TYPE|NULL|KEY|DEFAULT|EXTRA|USER_ID|VARCHAR4|NO|PRI|NULL|CHANGE_TIME|DATETIME|NO|NULL|表中记录的是修改的用户ID和修改时间,当然最重要的是存储用户名和密码的数据表,当玉壶创建,数据表中会增加一条数据,当删除用户的时候,数据表中相应的数据就会删除,同理,下位机指纹模块中存储的相应指纹信息也会被清除,同样,我们来看下此数据库的结构,|FIELD|TYPE|NULL|KEY|DEFAULT|EXTRA|USER_ID|VARCHAR4|NO|PRI|NULL|USER_PASSWORD|VARCHAR6|NO|NULL|字段信息为用户名和用户密码,用户登录都是靠查询本数据表中的信息来进行登录的,也是最为核心和最重要的数据表在本设计中。创建完数据表之后,就是相应的地方来使用数据,比如在页面登陆的时候,用户输入的用户名(指纹序列号)和密码会根据数据库里边的数据进行查询,登录页面如下图所示,图46登录页面用到的数据表主要是USER_INFO,让后在登陆成功之后,如果示意普通用户身份登陆的话,当用户查询自己的进出记录时,只能查询自己的进出记录,查询进出页面如下图所示,图47进出记录查询查询进出记录用到的数据表是ACCESS_RECORD,如果要修改自己密码,则用到PASSWORD_CHANGE_RECORD数据表,图48密码修改修改记录将存储在PASSWORD_CHANGE_RECORD数据表中,而密码修改过后将更新在USER_INFO数据表中,如果登录身份是ROOT,即管理员,增加用户操作将在USER_INFO表中增加数据,图49添加用户而管理员可以查询到所有用户的所有信息,包括出入记录和密码修改记录,查询页面如下图所示,图410用户查询关于数据库的配置和使用就是这些内容。433RXTXCOMM包与WEBAPP的融合最重要的串口操作,在JAVA中并没有自带的串口操作包,我们用到是RXTXCOMM包,这个包是关于串口操作的,我们从网上得到压缩包,解压得到在WINDOWS下开发的几个文件RXTXCOMMJAR、RXTXSERIALDLL、RXTXPARALLELDLL这三个文件,然后根据配置说明把RXTXCOMMJAR放在JAVA_HOMEJRELIBEXT下,然后把RXRXSERIAL放置在JAVA_HOMEJREBIN下面,然后在开发的IDE中加载RXTXCOMM包就可以了。配置完环境,就可以开始使用这个包里边的类了,在JAVA程序前边添加IMPORTGNUIO就可以使用RXTXCOMM了。此包支持I2C、LPRPORT、RAW、RS485、串口等通信方式,在本设计中主要用到的包括COMMPORTIDENTIFIER、SERIALPORT、SERIALPORTEVENTLISTENER等接口和属性。先说说本设计中串口程序需要用到的地方,首先在本设计中,串口程序肯定是要一直循环的,我们选择用线程,然后WHILE1大循环,这样使串口一直处于监听的状态,然后是关于串口的执行功能,我们仔细分析功能,在下位机上电之后,下位机会一直发送字符联络上位机,如果上位机的APACHE服务器未开启的时候,下位机是无法得到回信的,所以下位机会一直联络上位机知道服务器启动,然后我们启动服务器,后台通过扫描串口的端口号,然后打开下位机的指定串口,打开之后就可以接收到下位机传过来的数据,根据刚开始的接收到的联络字符得知下位机还没初始化,即还没有收到初始化的时间,如果下位机没有收到初始化的时间,会一直卡在初始化的界面,无法进行下一步,除非得到初始化时间,然后服务器后台程序发送当前的时间,时分秒年月日给下位机,下位机接收到这些数据之后,把数据赋给DS1302让它初始化,然后下位机进入初始化的界面,真正进入读取的模式,上位机此时也进入了监听的状态。此过程的流程图如下图所示,图411上位机初始化下位机流程图程序一直都是一个大循环,而且一直处于监听状态,当有数据来到的时候根据数据信息判断,然后查询数据库,得到结果,或者从网页前台传来的命令也通过串口程序操作。然后是串口程序怎么与WEBAPP结合使用的问题,先来具体的功能分析,我们需要在APACHE服务器启动之后,串口程序开始执行,而且网页上的操作也要反应到串口程序这里来,那串口程序怎么嵌入到整个的WEB应用中去,我们需要引入SERVLETAPI包,由于项目是MAVEN管理的,在POMXML中需要先加入依赖,ORGTUCKEYURLREWRITE252加入依赖以后,我们需要在WEBXML中引入监听器类,ORGSPRINGFRAMEWORKWEBCONTEXTCONTEXTLOADERLISTENER然后新建一个类实现SERVLETCONTEXTLISTENER,在接口中有两个类需要实现,分别是VOIDCONTEXTDESTORYDSERVLETCONTEXTEVENTSCEVOIDCONTEXTINITIALIZEDSERVLETCONTEXTEVENTSCE我们在CONTEXTINITIALIZED中引入串口程序,这样就可以初始化并一直监听串口,串口程序就与WEB项目结合在一起了。第五章结论对于本次设计,从选题到最后的软件硬件完成,经历了近三个月时间,中间也出现过卡壳的情况,也遇到过一筹莫展的情况,但是,从来没想过要放弃,每次接触新的东西都感觉有很大的收获,是一次学习的机会,是丰富自己知识的一次机会,因为通过查阅资料,不断的思索与探究,总是可以用时间堆积出来的吧,在这里也是想提醒自己,在以后的工作生活中,如果遇到不能解决的难题,一定要多思考,想的多了,自然会出现解决办法,思考问题的可能出现错误的地方,要学会总体考虑的这样思路,学会这样的大局观,每一环都可能出现问题,根据设计中出现的问题或者BUG,然后得出是哪里出的问题。然后是,谈一下关于门禁的前景问题,前景是有,而且很好,我是非常看好门禁的发展前途的,作为一个不算新兴的产品,之所以有着持久的生命力,是因为门禁系统与城市建设,现在高楼越来越多,比如建筑的发展,比如说只要有进出口的地方,比如地铁,大厦,车库等的地方,都是门禁应用的场合,现在的高楼大厦越来越多,进出大厦就必须要安装门禁来设置用户的权限,这些都是发展的机会,在一些不是很严密的场合,或者不需要精确身份的场合,比如停车场和一些小区等,就可以采用RFID,射频识别来进行门禁的管理,而需要精确比对的地方,就比如说现在的身份证需要录入指纹信息在身份证里边,这都是应用到的地方,所以本设计是符合现在的发展趋势的,我们应该加大研究力度,让更多新型的技术可以应用于指纹模块中。而作为门禁系统的研究,现在应该是已经来到了非常重要的时间段,对于未来的智能化设备发展,智能门禁的研究设计会在未来对智能化的有更多的信息共享,为人们的生活带来越来越多的乐趣,实现信息化的生活。而现在的门禁系统比起以往的门禁系统已经有太多的不同,主要表现为集成度更高,因为现在大多数门禁系统都是基于嵌入式系统开发,集成度越来越高,采用的技术也越来越多,比如,数据传输技术,通讯技术,视频传输技术,以及安防技术,所以,这些都是可以继承在门禁系统中,则表现为高度集成化,说明门禁系统的技术性也越来越高,开发出越来越好的产品。作为智能建筑的一部分,作为智能建筑的入口,智能门禁系统尤为重要,只有把好入口这一关,才能让其余的部分更好的运转,更好的工作,这是智能建筑最基础的一环,也是最重要的一环,而智能建筑又是实现智能化生活的具体表现,所以可见智能门禁是多么的重要,这些都是发展的机遇。而在技术方面的总结则更加的感概,昨日经历的BUG还历历在目,通过自己一点点的试探,亲自的一个个解决掉难题,这是一种收获的过程吧,这是一种慢慢积累的过程,首先是是下位机方面,总的来说下位机就两个模式,一个是读模式,一个是写模式,当读模式的时候,下位机则一直待命,如果监测到指纹,而且在指纹库中监测到该指纹,则再比对密码,如果也正确,则门禁系统打开锁,反之则不行,而写模式是增加用户的过程,创建用户,既要录入指纹,指纹录入成功后,需要为用户设置密码,都设置成功,则用户创建成功,此时上位机数据库中存入该用户的指纹序列号和密码,下次指纹比对则比对的是指纹序列号,而在上位机方面,在启动服务器之后,则上位机真正的开始工作起来,此时如果下位机也上电,下位机的通讯信号发送到上位机之后吗、,上位机根据信号,向下位机发送时间等数据,让下位机开始计时,然后是上位机的操作,上位机可操作网页,让用户的一些信息一一显示,而以不同的身份登入则显示的内容不同,管理员拥有最高权限,而一些功能按钮,比如说新建用户就是上位机电机网页上的按钮控制下位机进行一系列指令执行的,而上位机的编程语言是JAVA,这也让编程更加容易,写软件的时候一定要在项目开始前做好准备和计划,也就是做好需求分析吧,知道每一步需要的是什么,然后接下来该做什么,这样一步一步的来,才不会导致手忙脚乱,只有这样按顺序的开发下去,才能保证最后项目的顺利完工。关于用网页操作串口通信的尝试,至少以前很少见到这种形式,也不知道可不可行,其实也算不上什么新的尝试,因为虽然是JSP的网页页面,但是说白了,后台逻辑还是用JAVA语言写的,只要是JAVA就可以操作串口,所以JSP页面操作串口也是可以的,但是这中间还涉及到串口数据与服务器通信的问题,但是在本设计中,并没有网络传输数据,算是都在本地操作的吧,所以不存在网络传输的问题,但是如果是实际应用中,则要复杂的多,因为涉及到先把本地数据通过串口通信传到本地服务器,然后中间通过网络传输到远程服务器,然后人们才能通过浏览器进行浏览网页并做一些操作,而网络通信,设计到服务器租用,网络传输的问题,而在本设计中由于是本地操作都忽略了这些问题,但是实际应用中,这些都是不可忽略的问题。一直都觉得如果写软件的话,有一点硬件的知识会觉得不那么抽象,觉得是一个实际存在的东西,总之,什么都了解一点的话对自己还是有帮助的,但是这样好像就是万金油一样,什么都会一点,什么都不精通,但是最好还是要重点培养一样吧,这样才不会迷茫,最重要的是找准自己的方向。关于软件方面的总结,这是硬件直接与JAVA语言进行对话的例子,也算是一种尝试吧,会有一点编程难度,但是总体来说把JAVA的面向对象特性应用到硬件上是一种不错的尝试,也丰富了自己的硬件。总体来说本设计是一个不错的尝试,效果也不错。参考文献1郭天祥新概念51单片机C语言教程入门、提高、开发、拓展全攻略M,北京电子工业出版社,20092赖麒文8051单片机C语言彻底应用M,北京科学出版社,20023王晓明电动机的单片机控制M,北京北京航空航天大学出版社,20024肖金球,冯冀增强型51单片机与仿真技术M,北京清华大学出版社,20115康华光电子技术基础(数字部分)M,北京高等教育出版社,20036谈世哲PROTELDXP2004电路设计基础与典型范例M,北京电子工业出版社,20077朱飞,杨平AVR单片机C语言入门与典型实例M,北京人民邮电出版社,20098郑灵翔等嵌入式系统设计与应用开发M,北京北京航空航大大学出版社,20069刘乐善微型计算机接口技术及应用M,武汉华中科技大学出版社,2004,1461519彭同明单片机原理及应用M,北京中国电力出版社,200510杨雅军嵌入式操作系统在工业控制中的应用D,河北华北水利水电学院,2006年11吴霄多MCU试验平台和智能家居控制的开发与应用D,同济大学电子与信息工程学院2009年12田捷指纹识别技术的新进展D中国科学院自动化研究所复杂系统实验室生物特征研究中心,2006年13郭进复合指纹识别技术定量示踪流域泥沙来源D,中国科学院大学,2014年14尹义龙自动指纹识别技术的发展与应用D,南京大学电子科学与工程系,2002年15陈金国基于ARM9的指纹识别门禁系统D,杭州电子科技大学机械工程学院,2009年16戴平阳指纹识别技术研究进展D,厦门大学计算机科学系,2002年17谢健阳指纹识别系统的设计与实现,哈尔滨工业大学计算机科学与技术学院模式识别研究中心,2006年18王崇文一种基于模式匹配的指纹识别方法,重庆大学光电工程学院,2002年19杨磊基于STM32的指纹识别系统设计与实现,杭州电子科技大学新型电子器件应用研究所,2011年20孙玉明基于MATLAB的指纹识别系统的研究与实现,兰州交通大学电子与信息工程学院,2009年21ZHAOJUAN基于DSP的指纹识别系统原理与应用,中国地质大学,2004年附录A电路原理图图A1主控板图A2APC220附录B系统程序(部分)上位机PACKAGECOMFINGERPRINTUARTIMPORTJAVAIOIMPORTJAVATEXTSIMPLEDATEFORMATIMPORTJAVAUTILIMPORTGNUIOIMPORTCOMFINGERPRINTDAOBASECONNPUBLICCLASSFINGERPRINTIMPLEMENTSRUNNABLE,SERIALPORTEVENTLISTENERSTATICCOMMPORTIDENTIFIERPORTIDSTATICENUMERATIONPORTLISTOUTPUTSTREAMOUTPUTSTREAMINPUTSTREAMINPUTSTREAMSTATICSTRINGFEEDBACKSTRINGSERIALPORTSERIALPORTTHREADREADTHREADVARGLOBALVARGLOBALNEWVARGLOBALBOOLEANISPOWERONFALSEPUBLICFINGERPRINT/BASECONNBASECONNNEWBASECONNPORTLISTCOMMPORTIDENTIFIERGETPORTIDENTIFIERSWHILEPORTLISTHASMOREELEMENTSPORTIDCOMMPORTIDENTIFIERPORTLISTNEXTELEMENTIFPORTIDGETPORTTYPECOMMPORTIDENTIFIERPORT_SERIALIFPORTIDGETNAMEEQUALS“COM1“SYSTEMOUTPRINTLN“COM1START“IFSERIALPORTNULLTRYSERIALPORTSERIALPORTPORTIDOPEN“SUNDER“,2000CATCHPORTINUSEEXCEPTIONESYSTEMOUTPRINTLNEIFSERIALPORTNULLTRYINPUTSTREAMSERIALPORTGETINPUTSTREAMCATCHIOEXCEPTIONESYSTEMOUTPRINTLNETRYSERIALPORTADDEVENTLISTENERTHISCATCHTOOMANYLISTENERSEXCEPTIONESYSTEMOUTPRINTLNESERIALPORTNOTIFYONDATAAVAILABLETRUETRYSERIALPORTSETSERIALPORTPARAMS9600,SERIALPORTDATABITS_8,SERIALPORTSTOPBITS_1,SERIALPORTPARITY_NONECATCHUNSUPPORTEDCOMMOPERATIONEXCEPTIONESYSTEMOUTPRINTLNETRYOUTPUTSTREAMSERIALPORTGETOUTPUTSTREAMCATCHIOEXCEPTIONESYSTEMOUTPRINTLNEREADTHREADNEWTHREADTHISREADTHREADSTARTPUBLICVOIDRUNWHILETRUETRY/SYSTEMOUTPRINTLN“RUNINBEFORELOOP“WHILEISPOWERON/SYSTEMOUTPRINTLNVARGLOBALGETVARA/THREADSLEEP200BASECONNBASECONNNEWBASECONNINTMAXIDBASECONNQUERYMAXIDSYSTEMOUTPRINTLN“MAXID“MAXIDSTRINGMSG“EF01FFFFFFFF010008543602“ADDHEX4,MAXID“00“ADDHEXMAXID4,0X95SYSTEMOUTPRINTLN“MSG“MSGSENMSGMSGVARGLOBALSETVARA0/THREADSLEEP20000THREADSLEEP100/SYSTEMOUTPRINTLN“RUNINAFTERLOOP“CATCHINTERRUPTEDEXCEPTIONESYSTEMOUTPRINTLNE/SYSTEMOUTPRINTLN“RUNOUTLOOP“PUBLICVOIDSERIALEVENTSERIALPORTEVENTEVENTSWITCHEVENTGETEVENTTYPECASESERIALPORTEVENTBICASESERIALPORTEVENTOECASESERIALPORTEVENTFECASESERIALPORTEVENTPECASESERIALPORTEVENTCDCASESERIALPORTEVENTCTSCASESERIALPORTEVENTDSRCASESERIALPORTEVENTRICASESERIALPORTEVENTOUTPUT_BUFFER_EMPTYBREAKCASESERIALPORTEVENTDATA_AVAILABLEBYTEREADBUFFERNEWBYTE20TRYWHILEINPUTSTREAMAVAILABLE0INTNUMBYTESINPUTSTREAMREADREADBUFFERFEEDBACKSTRINGPRINTHEXSTRINGREADBUFFERSYSTEMOUTPRINTLNFEEDBACKSTRING/IFFEEDBACKSTRINGEQUALS“0000000000000000000000000000000000000000“ISPOWERONFALSE/IFFEEDBACKSTRINGINDEXOF“55“0SYSTEMOUTPRINTLN“模块已上电“CALENDARCALCALENDARGETINSTANCESTRINGSECOND“,MINUTE“,HOUR“,DATE“,MONTH“,YEAR“SIMPLEDATEFORMATSIMPLEDATEFORMATNEWSIMPLEDATEFO

温馨提示

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

评论

0/150

提交评论