




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内蒙古科技大学本科生毕业设计说明书(毕业论文)全套设计加扣3012250582 题 目:某小区入户门禁系统的设计学生姓名:学 号:专 业:自动化班 级:自2011-3班指导教师: 65内蒙古科技大学毕业设计说明书(毕业论文)某小区入户门禁系统的设计摘 要随着现代人们生活水平的不断提高,对居住环境配套设施的要求也越来越高,智能门禁系统可以实现安全快捷的管理是住户们的一致心愿。本设计主要进行了以指纹识别模块为核心的智能入户门禁系统的软硬件设计,硬件部分主要由主控MCU、指纹识别模块、矩阵键盘输入模块、LCD12864液晶显示模块、DHT11温湿度传感器、电磁阀、蜂鸣器等组成,而上位机监控界面部分利用Java开发。智能入户门禁系统采用的主控单元为IAPSTC15F2K60S2,其内核为51,外围采用矩阵键盘和指纹模块进行输入,同时有温湿度传感器数据传给MCU进行处理,并且与上位机进行通信。当指纹模块处于读模式的时候,即检测指纹,如果在指纹库中找到当前指纹,则提示用户输入密码,将密码传到上位机比对,如果正确,则打开电磁阀所控制的门,如果是写模式的话,则创建用户,需要输入指纹,和创建密码,密码存储在上位机的数据库里。智能楼宇单元门禁系统通过指纹识别模块实现了对进入单元门的住户身份确认和实时记录,提高了小区的智能化管理水平。方便了住户进入单元门,保障了住户的安全。关键词:门禁系统;指纹识别;监控系统内蒙古科技大学毕业设计说明书(毕业论文)A residential home access control system designAbstractWith the improvement of living standards of modern people, they have higher requirements of the living environment and supporting facilities, intelligent access control system can achieve safe and efficient management is the unanimous aspiration of the residents.This design mainly carries on the design of the hardware and software of the entrance guard system based on the fingerprint identification module as the core,the design of the hardware part mainly consists of main control MCU module, a fingerprint identification module, matrix keyboard input module, LCD12864 display module, DHT11 temperature and humidity sensors, electromagnetic valve, a buzzer, etc., we use java to develop PC part program.Intelligent home control system use IAPSTC15F2K60S2 as the main control unit. Its kernel is 51, and we use matrix keyboard and fingerprint module input, and temperature and humidity sensor data transfer to the MCU for processing, and communication with the host computer.When the module is in read mode, the detection of fingerprint, if the fingerprint is found in the fingerprint database, the prompt of the user to enter a password, the password is transmitted to the upper computer alignment, if its right, then open the door; if it is in write mode, then create a user, we need to collect the fingerprint, and input the password, password will be keep in the database of the computer.The intelligent building unit access control system is realized by the fingerprint identification module to identify and record the identity of the households entering the unit gate, and improve the intelligent management level of the district. Convenient access to the door of the unit tenants, the security of the tenants.Keywords: access control system; fingerprint identification; monitoring system内蒙古科技大学毕业设计说明书(毕业论文)目 录摘 要IAbstractII第一章 绪 论31.1 门禁系统研究背景31.2 门禁系统研究意义4第二章 系统总体架构52.1 小区门禁系统需求分析52.2 小区门禁系统硬件部分设计62.3 小区门禁系统软件部分设计72.3.1 上位机软件部分72.3.2 下位机软件部分82.4 小区门禁系统预期效果8第三章 小区门禁系统的硬件设计93.1 主控板设计93.2 输入部分设计103.2.1 矩阵键盘模块103.2.2 指纹识别模块113.2.3 温湿度模块153.2.4 时钟模块163.3 输出部分设计173.3.1 液晶显示模块173.3.2 蜂鸣器模块203.3.3 电磁阀213.4 无线通信模块22第四章 小区门禁系统的软件设计264.1 软件总体架构264.2下位机设计274.2.1 读模式284.2.2 写模式294.3上位机设计324.3.1 SpringMVC配置324.3.2 数据库配置344.3.4 RXTXcomm包与webapp的融合38第五章 结论42参考文献45附录A 电路原理图46附录B 系统程序48致谢62第一章 绪 论1.1 门禁系统研究背景 小区智能门禁系统,是指对门的权限进行管理,应用十分的广泛,比如说现在的智能楼宇中,作为入口,门禁系统的作用相当明显。作为小区出入口的权限管理,首先为了防止非本小区的进入,必须对本小区的人赋予权限,而利用指纹模块作为门禁系统的入口,而且由于指纹的唯一性,可大大提高安全性,而随着社会不断发展,经济日益的繁荣,高楼大厦的增多,对门禁系统的需求也越来越大,由于出入人数巨大,所以有一个智能的门禁管理系统是非常的重要,指纹模块作为门禁的核心部分,而近些年,随着生物感应技术的发展,所以门禁系统得到了很好的发展。而作为智能建筑的一部分,智能门禁在我国于90年代才刚刚发展,但是速度相对较快,在沿海一带,智能建筑已经成为不可缺少的部分,但是内陆的一些地区,发展可能会相对较慢。而对于智能门禁,其应用领域,现在也不仅仅应用于出入门控制,现在越来越多的要求,比如考勤,安防,而在停车场等地方,也有非常多的应用。而对于门禁系统,其入口的选择也是十分的重要,现在市面上存在的大概有RFID,指纹识别等,各有各的优点。而智能建筑,作为一个新兴的而且非常有前途的一个发展分支,而且是一门交叉学科,既有建筑学的内容,又跟电气等智能设备有着密切的联系,其实这是作为信息发展的必然结果,现在科技的发展,越来越多的新技术应用到我们的生活中来,这便是其中的一个,随着各种形式的变化,但是核心技术却没有变,只是把这些技术应用到了新的领域,得到了新的应用,而在智能建筑中大量使用的是智能化的设备,比如建筑设备自动化系统,还有就是办公自动化系统,以及通信自动化系统,构成了智能建筑这样一个庞大的智能系统,每一个智能化设备都是其中的一个组成部分,保证着智能建筑的正常运转,而且作为智能建筑的入口,门禁始终都摆在非常重要的位置上。而作为门禁系统的研究,现在应该是已经来到了非常重要的时间段,对于未来的智能化设备发展,智能门禁的研究设计会在未来对智能化的有更多的信息共享,为人们的生活带来越来越多的乐趣,实现信息化的生活。 1.2 门禁系统研究意义“智能化生活”,怎么实现生活的智能化一直都是信息化工作者的共同目标,智能化生活意味着信息共享,现在比较流行的说法是大数据,数据共享意味着人们可以接收到更多的信息,接收更及时的信息,让人们可以有更多的选择,更方便快捷的信息处理方式。而智能化的建筑可以为我们的生活带来什么改变呢,智能建筑是通过大量的使用信息化的技术,网络技术以及自动控制技术,是为了让人们的生活更加的健康和方便,居住的环境更加的舒适和简单快捷,人们一直在为此而努力,所以这是智能化生活的最终目标,以及必然结果。而小区智能智能门禁系统的研究与设计,为的是更加让人们的出行家方便,保证小区人员的安全,为人们的出行提供更多的帮助,为压力大的人们生活提供更加便捷的出行选择。而随着我国安防产业的迅速发展,有越来越多的人们注意到了发展的重要意义,人们不断尝试不同的技术来使其增添特色,使得我国的安防技术得到了很好的发展,使得人们的生活越来越与此密不可分,而在小区的总体管理上,特别是智能小区中,智能门禁可以与多种技术结合使用,比如说对讲机系统,比如说视频通话系统,比起传统的单一功能的门禁系统,增添了多种信息处理技术,得到更高的技术集成,更好的服务于我们的生活,增添了不少的乐趣。而其也拥有美好的发展前景,和现在人们的提倡的科学发展观念有着相同之处,有了这一观念的支持,使得此技术发展有了长久的生命和活力。而智能门禁技术是最能贴近我们日常生活的安全系统,也更加的需要我们去研究和发展,而未来的智能化生活中一定离不开智能门禁技术,因为智能门禁技术是智能建筑的重要组成部分,而智能建筑使得人们的住更加的方便舒适,这一切的发展都与我们的生活息息相关,而且是更好的服务与生活,所以智能门禁的发展是非常的必要而且前景广阔,而正是在这种意义和发展前景下,本设计将对智能门禁系统进行分析和设计,将对这一领域所用到的技术和功能进行分析,以便更好的运用到这一技术,使得智能门禁系统有更好的发展。本文将从硬件设计到程序编写对智能门禁系统进行分析和设计,探索其可行性。第二章 系统总体架构2.1 小区门禁系统需求分析对于门禁系统的需求分析,作为门禁,我们的需求,首先肯定其主要功能是以怎么样的权限让人们进入和出去,也就是我们常常讲的入口,我们以什么作为入口,我选择的是指纹作为入口,原因很简单,因为每个人都有唯一的指纹,所以不存在重复,即唯一性或者单一性。除了以指纹模块作为入口,还是用到了矩阵键盘来输入密码,就好像我们登录网络账号的时候,当输入了用户名之后,还需要输入密码,而这里的指纹则相当于我们的用户名,先是在指纹库中找到了这枚指纹,即查找到用户存在,然后通过矩阵键盘输入密码,通过指纹序列从上位机中比对密码,如果密码正确,则打开门,整个门禁系统的认证过程结束。门禁系统自然是在门上,所以门上可能需要提供时间显示的功能,告诉人们现在是几点,时间显示功能则是为了丰富除自身功能之外的门禁的其他功能,方便了人们需要查看时间的需求和功能。然后就是人们可能除了时间之外,还需要了解当时的环境参数,本设计中加入了温湿度传感器,使得人们可实时的查看当时的温度和湿度,人们可根据当时的环境参数来决定属于自己的出行方式,更加的方便了出行的人。既然是门禁,肯定需要用到锁,本设计选择电磁阀作为作为门禁系统中的锁,与传统的锁不同,电磁阀根据电信号来进行控制,当电磁阀收到电信号之后,即动作,打开门,当电信号消失,则锁会锁上。然后是显示部分,我们采用LCD12864液晶作为显示部分,也主要是考虑到其可显示内容多,编程容易等特点,我们的传感器参数,指纹读取,指纹录入等时候的操作信息,和提示信息,都可以在液晶模块上显示,使得操作人员可以的进行人机互动,增加了可操作性,互动性,方便人们查看,更加的方便。然后是上位机部分,本设计采用上位机,上位机的编程语言为Java,而选择其作为上位机编程语言是因为其面向对象的特效,可以更好的进行编程,本设计是基于J2EE,即上位机是web端的,这样做的原因是因为人们只需要浏览器就可以登录本系统,然后来查看和管理自己的信息,管理员也可以在浏览器上对门禁系统的信息进行管理,对于网络发达的今天,这是非常方便的。下面是系统总体架构图,系统整体设计如图2.1所示。图2.1系统总体架构图2.2 小区门禁系统硬件部分设计本对于门禁系统的硬件部分,我们以STC的IAP15F2K60S2,其核心为51,但是比起51多了很多硬件上的内容,使得有很多资源可以用,外围采用指纹模块和矩阵键盘模块作为输入,输出则采用LCD12864作为输出部分,通过液晶我们可以可以看到输出信息,比如说传感器的参数,还有关于检测指纹的各种信息都是通过液晶模块输出显示出来,如果读取指纹成功,或者录入指纹成功,我们可以听到来自蜂鸣器的不同的声音传递不同的信号,然后电磁阀根据不同的信号输出不同的状态。得到了根据指纹开门的这样一个效果。而与上位机通信采用的无线串口APC220模块,通过APC220则可以与上位机进行串口通信,达到数据传输的效果。下面是硬件部分设计构图:图2.2 硬件部分总体设计图2.3 小区门禁系统软件部分设计关于软件部分的设计,分为上位机软件部分和下位机软件部分;2.3.1 下位机软件部分关于下位机软件部分,下位机的编程语言为C,这也是大部分嵌入式设备用得最多的编程语言,编程环境是Keil 51,当下位机上电之后,不断的发送0x55向上位机,等待来自上位机的信号,如果等到来自上位机的信号,上位机将此时的时间传给下位机,下位机通过液晶将实时事件反应出来,并将环境参数和实时时间一并显示在液晶模块上,此时的模式是读取模式,而下位机一共分为两个模式,也就是读取模式和写模式,读取模式就是从模块中识别指纹,如果读取到指纹,就是从指纹库中读取指纹,如果读取到指纹,则提示用户输入密码,如果输入正确,则开门让用户进入,如果未读取出来,则读取错误,不能为用户打开门,而写模式的功能是说的是让当管理员在上位机上点击增加用户按钮的时候, 根据指令创建新用户,首先需要录入新指纹,如果录取成功,则输入密码,然后按确定键则创建用户完成,这就是写模式的过程。下面是软件部分下位机流程图,图2.3 软件部分下位机流程图2.3.2 上位机软件部分每当上位机采用Java语言编写,基于J2EE,用SpringMVC+JDBC编写网页,数据库采用的是MySQL,提供对下位机的管理功能,当普通用户登录的时候,根据普通用户的权限只能看到关于自己的数据,即进出记录,还有就是可以修改密码,而每次修改密码的记录都记录在数据库里,而如果登录的是管理员,管理员则可以查看所有用户的登录记录,并可以增加或者删除一个用户,这是管理员的权限,而管理员则可以 本系统中拥有最高的权限,当管理员点击增加用户按钮时,下位机收到增加用户指令,此时命令后,指纹模块开始录入指纹,如果指纹录入成功,则提示用户输入密码,如果都输入完成,则用户创建成功,下次用户进出的时候,则可以通过指纹读取和密码输入来完成门禁的进入了。下图是上位机软件设计框图,图2.4 软件部分上位机流程图2.4 小区门禁系统预期效果关于本系统的预期效果,对于本设计,希望看到的是上位机下位机协作的一个效果,当在上位机上进行点击操作时,下位机可进行相应的响应,根据上位机的不同下位机进行不同的操作,而上位机也可根据不同的指令和不同的操作来对数据进行存储,对数据库的操作也是本系统应该做的事情,而后台根据数据的内容对其查询,而系统的一切数据都存储 数据库中,方便管理和处理,而对于预期效果,主要是想看到协同合作,看到协同协作的效果,而维系这一效果的是通过无线串口通信,通过无线串口通信进行数据交换,只要有数据的交换串口中得到数据,而保证数据的正常流通是达到预期效果的重要保障。第三章 小区门禁系统的硬件设计3.1 主控板设计监关于本系统的主控板的设计,我们采用的主控芯片是STC公司的新型产品IAP15F2K60S2,在本系统中的作用主要是控制各外围模块,然后与上位机进行通信,各外围模块包括,比如说指纹模块,矩阵键盘模块,温湿度传感器,电磁阀,蜂鸣器,以及LCD12864液晶模块,保证各个部分的正常工作,起到一个主控的作用。下面对本芯片做简短的介绍,简单的对其硬件做一个介绍:1.其内核首先还是51内核,所谓的内核指的是指令系统,即指令系统还是继承了8051的指令系统,并兼容51;2.它是增强型51,单时钟周期,比普通单片机快7到12倍,增强型51因此得名3.其工作电压为3.8v到5.5v4.2048字节的SRAM5.其EEPROM,可擦写次数可达到10万次以上本设计正是采用其DIP-40的封装,下图是其引脚图,图3.1 IAP15F2K60S2引脚图由于其不需要外围的时钟电路和复位电路,所以方便很多。而对于整个系统的设计,则围绕MCU进行设计,首先需要考虑的是供电模块,我们只有给主控板供上电了才能保证系统的正常运转,电源模块的原理图如下图所示,图3.2 电源模块原理图3.2 输入部分设计输入部分分为矩阵键盘模块,还有指纹识别模块,还有就是以环境参数作为输入的温湿度传感器,还有作为时钟输入的DS1302时钟模块,下面一一举出:3.2.1 矩阵键盘模块为了满足本系统的输入需求,需要应用指纹模块来进行密码输入,以及一些功能键的输入,之所以使用的是矩阵键盘,首先是为了节省单片的I/O口资源,节省资源以便其他外设使用,在矩阵键盘中每行水平线和垂直线有交叉的地方,又不直接连接,这样一组I/O口可以有16个按键。对于矩阵键盘的检测方式为,作为一组I/O口,先把高四位,也就是矩阵的键盘的4行,拉高,给高电平,然后对矩阵键盘的低四位,作为电平检测输入,如果检测到某个脚为高电平,则此时这个键盘为按下了,则可以根据此得出键盘输入值,这就是矩阵键盘的检测方式。下面是本系统中矩阵键盘的原理图,图3.3 矩阵键盘模块原理图3.2.2 指纹识别模块关于指纹识别模块,我们采用FM-70系列,FM-70以高速DSP为核心,结合光学指纹传感器,具有指纹录入,图像处理,指纹比对,搜索,和模板存储等功能的智能模块,本模块具有以下特色:反应灵敏,指纹适应性强,能获得较佳的图像质量;特定LED高亮光源,降低光衰,使用寿命更长,性能更持久耐用;二次开发简单,可根据模块提供的丰富指令,可自行开发出功能强大的指纹识别应用。其应用领域也十分的广泛,比如:门禁系统,考勤机,权限许可等领域,其工作原理为手指表面的凹凸不平产生的纹路,会形成各种不同的图案,我信息处理中这是叫做特征,所以特征是唯一的,我们把一个人的指纹的特征值保存起来,然后需要比对指纹的时候,我们采集图像,生成特征,然后与指纹库里的存储的特征值进行一一比对。其主要技术参数有:工作电压:3.8 7.0v背光颜色:绿色工作电流:65ma窗口面积:14.5*19.4mm匹配方式:对比方式(1:1) 搜索方式:(1:N)特征文件:256Bytes模板文件:512Bytes指纹容量:1000枚上位机接口:UART(TTL电平)波特率:9600*N(N = 112)外型尺寸:54*20*20.5mm模块是先与单片机进行通信的,然后单片机再与上位机进行通信的方式,模块的接口引脚图与下图所示,图3.4 指纹模块引脚图我们可以看到除去电源脚之外,就是TXD与RXD的串口通信脚,就是典型的UART接口,其对应实物图如下, 图3.5 指纹模块实物图下面对本模块的系统资源进行简单介绍,首先是模块的缓冲区,它拥有一个72个字节的图像缓冲区ImageBuffer,和两个512个字节大小的特征文件缓冲区CharBuffer1和CharBuffer2,用户根据自己的需要来选择自己的需要用到的缓冲区域,那既然是缓冲区,所以在短电时是不保存的,而图像缓冲区是用于存放图像数据供模块内部图像处理用,而特征文件缓冲区用于存放指纹特征文件,也可以存放模板特征文件,在模块的Flash区域,有一段存储区用于存放指纹模板,即指纹存放区,在指纹库中,根据指纹库容量,有序号,分别是从0到N-1,所谓的指纹查找也就是查找指纹的序列号,找到了序列号,也就匹配到了指纹,对于系统参数的配置,首先由于是UART通信,所以需要波特率控制,控制与上位机进行通信时候的波特率,然后是模块地址,由于可能系统中可能存在不止一个指纹模块,所以指纹模块需要有一个识别地址,在与上位机通信的时候,发送的数据包中就需要包含地址信息,所以地址是非常的重要,除此之外,它的默认地址是)0xffffffff,用户可根据自己的需要设置自己的地址,而地址信息是断电保存的,接下来就是通信协议,我们是通过上位机对模块发送数据包,然后模块会返回数据包的形式来进行通信,既然是通信,则需要一定的数据形式,数据包有统一的包头,然后整个数据包包含表头,地址,包标识,包长度,包内容,最后是校验和,数据包格式表如下图所示,图3.6 指纹模块数据包格式表按照功能不同,有不同的系统指令,发出指令包,就会有应答包,指令包有上位机发给指纹模块,指纹模块在收到指令之后执行一定的操作,然后做出应答,即发回应答包,而应答包也是有一定的数据格式。下图是指纹模块接口与单片机连接的原理图,图3.7 指纹模块与单片机连接原理图3.2.3 温湿度模块关于温湿度模块,首先需要介绍的是温湿度传感器DHT11,它是一款含有已校准数字信号,输出的温湿度复合传感器,它应用专门的数字采集 ,和湿度温度传感器技术,这样可以确保读取的精度,和传感器的稳定性,适用于长期使用的场合,其可靠性非常的高,其主要包含元件有两个,一个是电阻式感湿元件,另一个是NTC测温元件,所以其优点有反应快,抗干扰能力强,而且性价比十分的高,其技术参数主要包括:供电电压:3.3到5.5v输出:单总线的数字信号测试范围:湿度20到90RH,,湿度0到50摄氏度测量精度:湿度+-5%RH,温度+-2摄氏度其应用领域也分布在各个不同的领域,比如家电领域,工业领域,等领域,更加说明其久经考验,能够经得起实际应用的考验,而单总线的设计则对单片机的资源得到更多的剩余,而且单总线也可以节省单片机的资源。也使得编程更加的方便,人们只需要操作这根总线即可以读取温湿度的数据,下面是DHT11模块的实物图,图3.8 DHT11实物图而在主控板中与单片机相连的原理图如下,图3.9 DHT11与单片机连接原理图3.2.4 时钟模块由于系统中需要用到时钟显示的功能,现在市面上用的较为广泛的是DS1302时钟管理芯片。关于DS1302的介绍,DS1302是达拉斯公司推出的低功耗的实时时钟管理芯片,可以对时分秒年月日,甚至周,进行及时,所以单片机只需要给它初始化,然后定时刷新就可以通过显示设备得出实时的时间了。关于DS1302的实现实时计时的工作原理,它采用三线的形式与单片机进行同步通信,即SCLK,I/O,RST,其采用突发方式一次传送多个字节的时钟信号进行的方式,其内部有一个31x8的用于存放数据的RAM区域,其引脚排列采用双电源排列,其中VCC2为主电源,VCC1为单片机断电之后维系芯片工作的备用电源,只要VCC2大于VCC1,则芯片是通过VCC2给芯片供电,下面是DS1302引脚图,图3.10 DS1302引脚图之所以DS1302能够管理年月日时分秒周,是因为芯片本身有与此相关的7个寄存器,存放着数据位为BCD码形式,在控制指令字输入后的下一个SCLK时钟的上升沿时,数据,写入DS1302,数据输入从低位即位0开始。在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到7。下面是DS1302模块与单片机连接的原理图,图3.11 DS1302模块原理图3.3 输出部分设计关于系统输出部分,主要包含的模块有LCD12864液晶显示屏,还包括蜂鸣器对信息进行提示,以及电磁阀对发出的开门信号的响应,都是输出:3.3.1 液晶显示模块性作为系统的显示单元,我们选用LCD12864,作为一款应用十分广泛的显示设备,之所以叫做12864是因为它是128*64的点阵数简称。其基本参数有:供电电源:3到5.5v显示分辨率:128*64连线方式:4线串行/8线并行显示方式:STN,半透,正显存储温度:-20 - 60工作温度:0 - 55其引脚结构为除一组8为数据引脚外,有电源引脚,芯片片选脚,读写使能信号,读写选择信号,数据指令选择信号,以及复位信号引脚,其引脚图如下,图3.12 LCD12864引脚图而实物图如下,图3.13 LCD12864实物图当并行操作时基本时序为:读状态 输入:RS=L,R/W=H,E=H 输出:D0D7=状态字写状态 输入:RS=H,R/W=H,E=H 输出:无写指令 输入:RS=L,R/W=L,D0D7=指令码 输出:D0D7=数据写数据 输入:RS=H,R/W=L,D0D7=数据,E=高脉冲 输出:无忙标志位,BF标志提供内部工作情况,BF=1时表示此时忙,不能接受外部数据和命令,而BF=0时相反。当接线方式为并行连接时,其时序图如下,图3.14 时序图对于12864的显示坐标图,12864最多可以显示16*4个字符,而对于汉字显示字符,其显示坐标为:图3.15 12864显示坐标图根据坐标地址写入,即可在对应坐标显示相应字符。下面是LCD12864接入单片机的原理图,如下图所示,图3.16 12864与单片机连接原理图3.3.2 蜂鸣器电路关于蜂鸣器的介绍,首先是种类,蜂鸣器可分为有源和无源两种蜂鸣器,其区别在于两者,有源蜂鸣器需要加上电源和正负极然后蜂鸣器内部会自己震荡发声的,而无源蜂鸣器不需要加上电源,需要的是加上交流信号。本设计采用的是有源蜂鸣器,有源蜂鸣器的优点在于更加的易用,更加适合现在的系统,只需要加上电源和驱动信号,而说到驱动信号,由于单片机本身的驱动能力有限,所以需要加上外加的驱动芯片来驱动蜂鸣器工作,而本设计采用的是ULN2003驱动芯片,下面对本芯片做简单的介绍,ULN2003为7组NPN复合晶体管组成由于其可以较强的驱动电流,所以其最高可产生500mA的灌电流,同时也能承载最高50v的电压,所以只需要给芯片接入电源,然后接入驱动驱动信号,则可以输入较强的驱动电流,而ULN2003一共7组这样的驱动接口,其引脚图如下,图3.17 ULN2003引脚图所以如果要驱动蜂鸣器,只需要把单片机驱动蜂鸣器的I/O口接入IN脚,然后蜂鸣器的正极接入OUT,负极接GND即可,控制单片机引脚即可让蜂鸣器发声,风不同频率的声音,只要驱动电流够足,那么就能让蜂鸣器正常工作。下面是鸣器与ULN2003连接的原理图,图3.18 蜂鸣器原理图3.3.3 电磁阀关于电阀,在本设计中用到的电磁阀是,先是关于电磁阀的介绍,电磁阀是用电磁信号来控制的工业设备,所谓的电磁信号,我们都知道磁场可以有电场来产生,在现在的工业自动化的应用场景中出现应用得比较多,我本设计中用到的电磁阀首先是由单片机产生电信号,电信号产生磁场,磁场吸引电磁阀中的磁体进行运动,举例来说,对于本设计来说,刚开始在待定状态的时候,系统中没有给电磁阀的电信号,此时电磁阀处于待命状态,而且电磁阀中也没有电信号,所以此时磁体并不运动,但是当指纹识别成功,单片机对电磁阀发出电信号,此时电磁阀中产生磁信号,吸引磁体运动,这即是电磁阀运动的整个过程。和上一节的蜂鸣器一样,我们无法用单片机直接驱动电磁阀锁,单片机的驱动电流太小,我们需要给它增加驱动电流,我们由于ULN2003总共有7组驱动接口,我们的电磁阀锁业也连接在ULN2003上,电磁阀锁一头接地,一头接在ULN2003上,下面是电磁阀实物图,图3.19 电磁阀实物图下面是电磁阀与驱动芯片和单片机连接的原理图,图3.20 电磁阀连接原理图3.4 无线通信模块本考虑到传输距离以及传输数据的便捷性,我们采用APC220来作为本设计的无线传输模块,之所以选择APC220作为我们无线通讯的模块,是因为考虑到在门禁系统中长距离的信息传输,而APC220具有长距离传输的特性,APC220是半双工微功率无线传输的模块,在模块本身已经嵌入了高速的单片机和高性能射频模块,所以其抗干扰能力非常的强,而且传输距离十分的长,除此之外,APC220有多个频道可以选择,可配置其参数,比如说波特率,其应用领域主要有智能建筑,汽车电子中的无线遥控,甚至工业级的无线控制,以及各种家电的无线控制,都可以进行,之所以有如此广泛的应用领域,是因为其具有以下特点:传输距离长,可达到1km大于100个频道可以选择UART串口通信方式编程简单方便工作频率范围为418455MHz超大的数据缓冲区APC220由于其功能强大,体积小等特点,非常适合在嵌入式系统中使用,由于模块内有一个256字节的数据缓冲区域,所以理论上模块具有每次最多传输256字节数据的能力,除此之外,由于APC220提供的是UART通信方式,并且模块具有多种波特率可以选择,1200/2400/4800/9600/19200/38400/57600七种速率可以选择,而对于整个模块内部原理图如下,图3.21 APC220内部原理图下面对模块接口的引脚进行介绍,引脚号名称含义1GND地2VCC电源脚3EN电源使能4RXD输入脚5TXD输出脚6AUX收发提示输出7SET参数设置引脚号名称含义1GND地2VCC电源脚3EN电源使能4RXD输入脚5TXD输出脚6AUX收发提示输出7SET参数设置图3.22 APC220引脚介绍而在本应用中只作为无线串口使用,参数值全部使用默认值,无线模块为一对,所以一端插在电脑上,一端在下位机上,当有串口数据需要发送的时候,则使用本模块发送,其接口示意图如下,图3.23 APC220连接示意图而我们在控制板上的原理图如下,图3.24 APC220与单片机连接原理图硬件部分的设计原理及设计理念即说到这里,下面是软件部分的介绍,即硬件部分的实现。第四章 小区门禁系统的软件设计4.1 软件总体架构在设计完硬件部分之后,来到软件部分,调试软件应该会花更多时间吧。如果硬件设计是搭建好框架,那么软件设计即是赋予它生命。关于总体的架构,在开始编程之前,我们首先要对编程的整个框架有所了解,对整个编程的思路需要了解清晰,对本设计中要实现的功能做一个清晰的分析,所以刚开始的时候对需要实现的功能画出框图,下面是本设计功能框图,图4.1 门禁系统框图在整个软件架构中,下位机采用c语言给单片机编程,编程环境为Keil,上位机的编程语言为Java,之所以选择Java,是因为其面向对象,以及在Jsp页面中,在其后台可用Java操作串口。首先是下位机方面,芯片方面选择IAP15F2K60S2是因为有着更多的资源可用,更加容易的电路,其最小系统可不加时钟电路和复位电路,因为这在芯片里边都已经集成了,所以会节省很多步骤,用户可根据自己的需要设置晶振频率。对于整个软件框架的设想,下位机协调各个模块正常工作,需要从传感器读取参数,需要读取实时时钟,还要随时监听串口发过来的指令,为了保证各个部分能够协调工作,软件开始一定要做好各功能需求,然后按需求去编写代码,就比如说下位机,我们采用的是模块化编程,这样做的目的是互不影响,这样由于其他模块影响本模块出错的几率就小很多,降低了耦合性。而对于上位机的架构,如果采用的是java语言开发,现在J2EE开发用得最多的MVC框架就是SpringMVC,本次设计采用J2EE作为后端框架,所谓的MVC框架,M代表Model,V代表View,C代表Controller,之所以把需要这样的框架是因为,要把逻辑代码与显示页面分开,这样Jsp页面在网页上显示,然后逻辑代码由Spring负责,达到了MVC分离的效果,更加易于管理和维护,与显示页面的分离,正是做到了这一点。而JSP页面的呈现除了MVC框架之外,还需要前端框架和数据库,跟于前端框架是为了页面更好看或者更易用,而如果人为的一点点写这这些前端代码,可能代码量很大,而且兼容性很差,这时候可能我们就需要成熟的前端框架,而Bootstrap就是这样的一个框架,只要在页面中引入相关的js和css文件就可以使用这个框架,如果是在线项目,还可以引入相关CDN,然后是数据库的选择,由于之前有用过MySQL,相对熟悉,所以选择MySQL作为本次设计的数据库。在前期的策划,以及需求弄清楚之后,就要开始编写和调试代码了,期间可能还会遇到各种问题,但是只要坚持,bug就一定能够解决的。4.2 下位机软件总体架构刚开始肯定是要先调试下位机的,首先列举出我们需要用到的模块,在我们的计划中使用的模块包括最主要的指纹模块,矩阵键盘,DHT11温湿度传感器,电磁阀,以及LCD12864液晶显示器,下面将一个一个的介绍如何使用。首先根据需求画出下位机具体的流程图,如下图所示,图4.2 下位机流程图如图所示,下位机一共分为两个模式,一个读模式,一个是写模式,都是与指纹库相关,读模式即从指纹库中读取指纹,而写模式是新增用户,即从添加指纹到指纹库中,下面想仔细分析这两种模式的编码流程。4.2.1 读模式先分析读模式,这是下位机最重要的模式,大多数时候下位机都是处于读模式下,即只需要识别即可,当处于该模式下的时候,一直是处于一种循环的状态,因为无法自动识别指纹,本模块不具备此功能,所以需要一定时间循环指纹识别这一命令,由于指纹模块是需要发送数据包执行相关命令的,所以下位机需要一直发送这一数据包给指纹模块,达到一致循环的效果,下面介绍一下次命令,如果需要搜索指纹库的话,首先需要录取指纹图像,然后根据录取的指纹图像生成特征,最后根据特征来去整个指纹库里边搜索此指纹是否存在,这就是读模式,但这还不是全部,因为我们在确认该指纹存在于指纹库中时,说明此指纹此前是注册过的用户,所以我们还需要验证用户的密码,然后提醒用户输入密码,然后密码正确的话才能打开门禁,如果指纹不正确就不会进行往后的过程,下面通过流程图来说明这一过程,下位机读模式流程图所示,图4.3 Read Mode流程图4.2.2 写模式该模式处于大循环中,除非下位机接到上位机传来的Write写命令,否则一直处于一个循环下,如果接到写命令,将进入一个循环嵌套中,Write命令是由上位机发出,当管理员在上位机的JSP管理页面点击添加用户按钮之后,下位机将会执行添加用户的操作,关于添加用户,由于是要求必须有指纹和六位数字格式的密码,所以指纹模块将会先录入指纹,然后经过模块处理,确定这是一枚未注册过的指纹之后,然后提示用户指纹录入成功,需要输入密码,然后用户按照提示输入密码,如果密码格式符合要求,那么用户将注册成功,而且下次用户就可以凭借这枚指纹进出门禁,在用户添加成功的同时,在PC端的数据库将会增加一条数据,这条数据就是用户的指纹序列号,和密码这两行内容,而用户将可以使用指纹序列号作为用户名,自己创建的密码作为密码,登录这个上位机的网页页面,查看与自相关的内容,比如说自己的进出记录,甚至可以修改自己的密码,由于网页登陆密码与门禁进出密码是统一的,所以修改此密码,门禁进出密码也改变了,用户将可以使用改变过的密码登录门禁,没有任何影响,下面将会同样画出流程图来表示这一过程,下面是Write模式流程图,如下图所示,图4.4 Write模式流程图下位机开发的IDE是Keil 514,对于51系列单片机,基本都用Keil开发,为了让软件开发起来更容易,为了使项目更加的清晰,我们采用的模块化编程,这样做也是分离开来吧,不同的模块,简历新的C文件,需要调用的时候,只要包含头文件之后就可以调用,非常的简单和方便,看起来也非常的清晰,本项目包含的模块包括LCD12864、DS1302时钟模块、温湿度传感器模块、指纹模块、和蜂鸣器调用模块、键盘模块、串口通信模块、延时函数模块的C文件构成,项目结构图如下,图4.5 下位机项目结构图下位的软件设计架构就说到这里,而要使一个系统正常工作,是需要下位机和上位机协调工作的,本设计联系上位机与下位机的纽带就是串口通信,而我们实现串口通信的是APC220。4.3 上位机软件总体架构说完下位机,下面是上位机的软件架构。与一般的串口上位机监测不同,这次采用的是Java语言来编写上位机,在Windows平台下,比较主流的语言还是C#吧,如果写上位机的话,在Java中,JDK并没有包含串口通信的包,需要额外添加,如果需要串口通信的话,这在Java中倒也不难实现。对于Java来说,现在最火的应该是J2EE和Android了吧,而现在的企业应用更是不用说了,SSH三大框架是J2EE的主流之选,而在本设计中,即用到了SpringMVC的框架,下面先介绍一下框架吧。4.3.1 SpringMVC配置它是一个基于DispatcherServlet前置控制器的MVC框架,每当浏览器发出请求的时候,最先访问到的都是DispatcherServlet,也就是说DispatcherServlet是负责转发每一个请求的,转发到Handler,Handler处理之后再发给相应的视图和模型,但是DispatcherServlet始终是一个servlet,所以需要在web.xml中配置,配置文件xml如下,spring-servletorg.springframework.web.servlet.DispatcherServletcontextConfigLocation classpath:/spring-servlet.xml1spring-servlet*.do这段配置文件的大概意思是声明一个名为spring-servlet的DispatcherServlet,它将拦截任何以.do结尾的请求,然后找到classpath下的spring-servlet.xml来加载bean对象,然后我们创建spring-servlet.xml配置文件,然后是视图的返回,然后是关于视图的返回类型,由于Controller只是返回一个值,返回类型是InternalResourceViewResolver说了算,我们需要在spring-servlet.xml中引入InternalResourceViewResolver类,配置文件如下, /WEB-INF/jsp/ .jsp 在bean中,我们看到有前缀和后缀,说明如果请求的是/WEB-INFO/jsp下的jsp,则返回不带参数,例如,请求/WEB-INFO/inde
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国鸭舌市场供需现状及投资战略研究报告
- 2025版商服用房买卖合同含售后服务保障与纠纷解决机制
- 2025版社交媒体平台内容营销合作合同
- 2025版高速公路沿线积雪清理及交通安全保障合同
- 2025版家居装修材料区域代理销售合同
- 2025年度大型企业集团并购重组合同
- 2025年度汽车维修厂维修车间技术员劳动合同范本
- 2025年企业内部知识产权保密合作协议范本
- 2025年典当担保与创业投资合同
- 2025年定制化吊顶安装与维修一体化服务合同
- 2025年广西专业技术人员继续教育公需科目(三)答案
- 羊奶的营养价值(课堂PPT)
- 水轮发电机的基本结构课件
- 《空气动力学》配套教学课件
- 技术交流-太钢不锈钢产品介绍
- 完整版医院体检报告范本
- 外研社Join-in-新版五年级上册全册教案
- 彭静山针灸秘验
- 《销售管理实务》ppt课件汇总(完整版)
- 生育服务证办理承诺书空白模板
- 壳寡糖功能课件
评论
0/150
提交评论