版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE基于STM32的智能门禁管理系统的设计目录4701摘要 I12203前言 132766第1章系统的总体设计与原理分析 250351.1门禁系统的组成 2118761.2门禁系统的工作原理 2291601.2.1指纹识别技术的概述 2280341.2.2指纹识别技术原理 2257811.3门禁系统结构框图 3193971.4软件开发环境 320621第2章系统硬件设计方案 4298142.1系统电路图 444562.2STM32微控制器 45732.3指纹识别模块 7296152.3.1指纹传感器的介绍 7170752.3.2指纹传感器电路设计 8240742.4指示灯模块 8234392.5蜂鸣器模块 931317第3章系统软件设计方案 1015863.1软件介绍 10244463.2程序流程图 10319043.3上位机软件程序设计 1128473.3.1添加成员信息 11192343.3.2验证指纹功能 12125543.3.3删除功能 145163第4章系统测试结果 16225714.1系统运行 16554.2指纹模块添加指纹 16141744.3指纹模块验证指纹 1786294.4指纹模块删除指纹 1867124.5程序界面展示 185444结论 205330参考文献 21PAGEPAGEII摘要当今社会飞速发展,智能化成为了当前的主流应用。门禁也迎来了发展,变得越来越先进,门禁是保护人民生命和财产安全的一道重要防线,起到了防护作用。为了满足当今社会人们对安防的需求,设计出了一种STM32的智能门禁管理系统的研究方案。该系统以STM32为核心,搭载了AS608指纹识别传感器、有源蜂鸣器、LED灯等外设,实现了录取指纹、识别指纹及删除指纹等功能。智能门禁系统下位机通过指纹进行识别,实现门禁开启,上位机接收数据,与数据库进行对比,控制下位机的门禁开启。智能门禁是门禁系统发展的方向,解决了安全防范的问题。满足了人们对美好生活的向往,更加安全稳定。关键词:STM32;门禁系统;指纹识别前言从人类有财产开始,我们都会保护我们的个人财产,方法就是通过门锁。门锁也会防止小偷和外来人员进入我们的家,但是使用的都是普通的机械式门锁。这种门锁始终都离不开钥匙,而且每把门锁需要一把与之相对应的钥匙[1]。这样对人员的数量要求会变多,门锁的数量也会越来越多。导致钥匙变多,还会给小偷制造偷窃机会或者不小心丢失,安全性低。后来经过发展诞生了电子锁门禁系统,主要是磁卡锁、密码锁,更加方便。减少了钥匙的数量和使用,一定程度上提高了出入口的安全和便捷性[2]。但也有一些弊端,电磁卡容易出现损坏、消磁等不良现象的发生,密码锁容易被破解,电磁门禁卡的外貌形状相似,容易混淆等情况。经过科技的发展,诞生出了新一代门禁系统,它就是指纹门禁系统。该系统的解锁方式是通过识别指纹来解锁,效果更加安全,更加便捷,解决了钥匙过多、门禁卡消磁、忘记密码的烦恼。它是在电子、机械、光学、生物识别技术、计算机技术等新技术的基础上开发出来的[1],它是当今社会很优秀的一个创造品。门禁系统已发展成为现代化、智能化以及有多种多样的功能的管理系统。门禁管理系统已经成为了安全防范系统中很重要的部分[3]。它能够存储人员的出入时间、人员信息等,可以很好的组织小偷、外来人员等进入。同时,它也可以保护我们的人身安全,阻止非法人员盗取我们的财产。它应用范围广,更是当今社会中楼宇系统里不可分割的一部分。门禁系统已经成为当代楼房的配套设施,使人身安全和财产安全得到保护。本文所阐述的智能门禁系统,通过研究分析,制定设计方案,设计出集指纹解锁、管理人员等功能的智能门禁系统。以软硬件结合的方式对该系统进行设计与分析,提高系统的安全性、适用性。硬件部分对指纹识别模块进行研究分析,确定电路与各个硬件的型号,对模块进行接口通信,进行整体的硬件设计。软件方面使用KeiluVision5和STM32CubeMX以及QT对系统进行相对应的设计。结果表明,所设计系统达到了设计要求,具有广阔的应用前景[4]。最终解决了安全防范的问题,满足了人们对美好生活的向往,更加安全稳定。第1章系统的总体设计与原理分析1.1门禁系统的组成该智能门禁管理系统的核心是STM32F103C8T6微控制器,其余的部分有AS608指纹识别模块、蜂鸣器模块、指示灯模块等。门禁管理系统使用QT开发应用来制作该管理系统的上位机部分,一个操作界面。通过USB转串口设备实现了门禁系统与上位机操作软件的通信。系统主要功能是对新用户进行指纹录取功能,对用户进行指纹识别、与数据库中的指纹数据进行比对是否吻合、对指纹数据进行增加删除等功能;记录员工ID、姓名、房间号和手机号等。使用指纹识别达到开锁的目的。1.2门禁系统的工作原理此智能门禁系统能实现当进行指纹识别时,指纹识别模块会进行扫描,如指纹识别效果与数据库中的数据吻合,LED指示灯绿灯点亮,蜂鸣器快速响两声,表示指纹正确,门锁打开;如指纹识别后与数据库中的数据不吻合,LED指示灯红灯亮起,蜂鸣器长响一声,门锁就不会开启。程序中还增加了录入指纹、验证指纹、删除指纹、记录员工信息等功能,如果指纹不吻合,可以进行重试,否则无法将门锁打开。通过指纹识别技术,我们将真正意义上的实现智能门禁系统的功能,提高了出入口的管理效率,解决了传统的门锁防护性差、电磁卡门锁的弊端,能有效防护人们的生命及财产安全,有效提高了安全性。1.2.1指纹识别技术的概述指纹识别过程是先进行采集指纹,通过光源发出的光照射到手指上后反射到指纹模块上,收集特征点和图像数据。指纹识别应用更加规范化、科学化[5]。采集指纹会先进行预处理,包括归一化、图像分割、增强、二值化和细化,但根据具体情况,预处理的步骤也不尽相同[6]。之后,对采集的数据与数据库中的数据进行验证。1.2.2指纹识别技术原理指纹识别就是通过比较两幅指纹的细节特征点来鉴别指纹是否来自于同一副手指[7]。该技术涉及视觉、图像和形态等很多方面,随着人类的长大,指纹的纹路不会发生变化,变化的只是纹路的粗细。每个人都是不同的,即使是亲人之间的指纹特征也是不同的。所以可用于辨别身份,也就用在了指纹门禁解锁。我们每次进行指纹识别时的方位都会不一样,并且着力点以及按压力量的大小不同,指纹也可能模糊不清,会造成指纹识别的不准确性。所以如何识别指纹,是指纹识别技术的重中之重。指纹识别的过程具体如下,如图1-1所示。提取特征提取特征特征匹配采集指纹采集指纹特征模板提取特征图1-1指纹识别流程图1.3门禁系统结构框图根据对该系统的组成部分和主要功能的设计与分析,制作出门禁系统的结构框图;如图1-2所示。开始开始STM32PC串口通信数据库添加、对比指纹采集结束信号灯、蜂鸣器图1-2系统结构框图1.4软件开发环境软件系统一般分为两种,第一种是嵌入式系统,第二种是上位机处理器。嵌入式系统验证开锁的功能;而上位机处理器,有其独特的操作界面,可以对人员的信息进行记录,还能实现开锁的功能。本文设计的软件系统采用C语言实现,其具有强大的功能。CQT,它是一个有多种功能的、完整的开发环境,支持C++等其他编程语言。第二种是是NET的软件开发工具包,微软网站提供的,英文名为SDK。第2章系统硬件设计方案2.1系统电路图该系统各模块电路,如下图2-1所示。图2-1总电路图2.2STM32微控制器STM32是意法半导体集团开发的基于ARMCortex-M32位微控制器[8]。嵌入式单片机有很多的特点和优势,它最大的优势就是超高的性价比,价格低,性能强,适配性高。STM32的主要功能部件分为内核、复位电路、系统时钟发生器、程序和数据存储器、中断控制、调试接口和外设[8]。其中,Cortex-M内核就好比是STM32的CPU,它能够控制连接外设的功能。Flash代表存储器的容量。STM32以系列来划分产品,内核架构不同产品类型就不同,使用户能改根据自身需要来选取适合的产品。主流产品分STM32F0、STM32F1、STM32F3三种;超低功耗产品分STM32L0、STM32L1、STM32L4、STM32L4+四种;高性能产品分STM32F2、STM32F4、STM32F7、STM32H7四种。该系统所使用的控制器型号如下表2-1所示。表2-1STM32微控制器型号命名表格序号型号意义1STM32STM32代表ARMCortex-M内核的32位微控制器2FF代表芯片子系列3103103代表增强型系列4C这一项代表引脚数,C代表48脚。58这一项代表Flash容量,8代表64K字节,6代表32K字节。字母从B开始,容量按顺序依次递增。B代表128K字节,后一个字母代表的容量为前一个容量的2倍。6T这一项代表的是封装,T代表LQFP封装。76这一项代表工作温度范围,6代表-40℃~85℃。该系统使用STM32F103C8T6的32位微处理器,内核为Cortex-M,工作频率72MHz。根据表2-1可知,该系统处理器为增强型系列,有48个引脚,工作电压为2V~3.6V。芯片功能强大,其中有静态存储器模块,存储器容量是64K字节,工作温度为-40°C~85°C。STM32F103C8T6引脚分布图如下图2-3所示。根据图2-3可知,PA9、PA10为串口通信,是与电脑相连接传输数据。PA2连接AS608指纹模块,PB3接绿灯,PB4接红灯,PB5接蜂鸣器。系统电路原理如图2-4所示。图2-3STM32F103C8T6引脚分布图图2-4电路原理图2.3指纹识别模块指纹识别模块在进行用户操作时,先录取指纹,之后采集指纹的特征点与图像,再根据采集指纹的数据到数据库中进行比对分析,验证该指纹是否来自同一个人,最后决定是否开门。2.3.1指纹传感器的介绍本系统选用光学指纹识别模块ATK-AS608来完成门禁系统的指纹识别功能。ATK-AS608指纹识别模块是ALIENTEK推出的一款高性能的光学指纹识别模块[9]。光学指纹识别模块AS608的实物图如下图2-5所示。图2-5AS608光学指纹识别模块该指纹识别模块有独特的指纹识别芯片。该芯片对采集指纹有专属的的方法,能够快速的获取指纹特征、图像以及指纹验证等过程。效率很高,达到节省时间的目的。只需通过模块配备的串口就能够与其实现通信。识别原理如图2-6所示。手指手指光源指纹模块图2-6光学指纹识别原理图AS608的工作电压为3.0V~3.6V,通常为3.3V。工作电流为30mA~60mA,通常为40mA。指纹存容量大且图像处理时间小于0.4秒,速度非常快。工作环境的温度为-20°C~60°C。指纹模块引脚的含义如下表2-2所示。表2-2指纹模块说明名称含义Vi电源正极Tx串行数据输出Rx串行数据输入Vt感应信号输入WAK感应信号输出GND接地2.3.2指纹传感器电路设计单片机的PA9、PA10引脚引至TXD、RXD,指纹模块通过单片机的串口发送过来的命令进行相关工作,获取的指纹会与数据库中的指纹数据进行比对工作。AS608光学指纹识别模块电路接口图如下图2-7所示。图2-7指纹模块电路图2.4指示灯模块~3.5V。它2-8所示。图2-8LED灯控制电路图2.5蜂鸣器模块蜂鸣器是一种电子讯响器[11]。采用直流电压供电,广泛应用于计算机、报警器、电话机、定时器[12]等电子产品中作发声器件。蜂鸣器内部有震荡器,所以通电会发声。作为门禁系统的报警提示模块,每次录入指纹都会有提示。如下图2-9所示。图2-9蜂鸣器电路原理图第3章系统软件设计方案3.1软件介绍该系统对硬件部分进行编程调试,使用的软件名为KeiluVision和STM32Cu-beMX。KeiluVision一个兼容C语言开发的软件,能够编译源码和源程序,与汇编相比优势明显,代码效率高,容易实现。STM32CubeMX是可视化开发环境。它可以减少编写代码的时间,降低使用成本,支持STM32各系列的开发,它与Keil软件结合使用更加便捷。该系统软件部分采用QTCreator5.12软件来创建上位机应用程序,硬件部分通过转串口设备连接到电脑。3.2程序流程图该门禁管理系统的编译调试基于KeiluVision5、VisualStudioCode完成的,程序运行时首先对STM32微控制器、AS608指纹识别模块初始化,根据在上位机进行对应的相关操作来进行相关功能。如果进行添加指纹的操作,首先进行指纹录入,录入两次指纹,根据指纹的特征识别指纹是否为同一个手指,如果特征相符,就会生成指纹模板,将模板存储起来,添加指纹成功。否则,添加指纹失败。在上位机操作软件中添加对应的人员信息。如果进行删除指纹的操作,就会在上位机中清空这个人的信息和指纹。如果进行验证指纹,先对指纹的图像与指纹库中的数据进行匹配检验,如果搜索到了指纹,则绿灯亮起,响两声;若没有搜索到指纹,则红灯亮起,响一声,需重新进行验证。程序流程如图3-1所示,如下。开始开始系统初始化点击删除点击录入点击搜索添加指纹删除指纹验证指纹开锁存储指纹指纹库图3-1指纹识别流程图3.3上位机软件程序设计指纹识别是该设计的主要功能,通过上位机软件进行操作,使信息储存起来。系统内设有一个图像缓冲区与两个特征文件缓冲区,通过串口进行图像传输,指纹模板按照序号存放。3.3.1添加成员信息录入两次指纹图像、特征,比较指纹结果,如果指纹结果相符则生成指纹模板录入到指纹库,根据录入的指纹来添加对应的成员信息,最多可添加300名成员。voidAddPeopleForm::on_pushButton_add_clicked(){intid=ui->lineEdit_id->text().toInt();if(id>0&&id<301){boolr=SQLClass::getHand()->database_insert(ui->lineEdit_id->text(),ui->lineEdit_name->text(),ui->lineEdit_room->text(),ui->lineEdit_tel->text());if(r==false){ui->label_info->setText("添加失败,请核对信息!");ui->label_info->setVisible(true);mytimer2->start();}else{ui->label_info->setText("添加成功!");ui->label_info->setVisible(true);mytimer2->start();ui->lineEdit_id->setText("");ui->lineEdit_name->setText("");ui->lineEdit_room->setText("");ui->lineEdit_tel->setText("");}}else{ui->label_info->setText("ID超出范围");ui->label_info->setVisible(true);mytimer2->start();}}voidAddPeopleForm::slot_timerOut(){ui->label_info->setVisible(false);}3.3.2验证指纹功能采集指纹特征、图像,根据生成的数据在指纹库中搜索,搜索到匹配的数据就会开锁。//刷指纹voidpress_FR(void){ SearchResultseach; uint8_tensure; while(1==1) { ensure=PS_GetImage(); //printf("getimage%d\r\n",ensure); if(ensure==0x00)//获取图像成功 { ensure=PS_GenChar(CharBuffer1); printf("getgenchar%d\r\n",ensure); if(ensure==0x00)//生成特征成功 { ensure=PS_HighSpeedSearch(CharBuffer1,0,300,&seach); //printf("getPS_HighSpeedSearch%d\r\n",ensure); if(ensure==0x00)//搜索成功 { //指纹验证成功 printf("GETID=%d\r\n",seach.pageID); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3|GPIO_PIN_5,GPIO_PIN_SET); delay_ms(100); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3|GPIO_PIN_5,GPIO_PIN_RESET); delay_ms(50); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3|GPIO_PIN_5,GPIO_PIN_SET); delay_ms(100); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3|GPIO_PIN_5,GPIO_PIN_RESET); } else { printf("IDERROR\r\n"); //HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5,GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4|GPIO_PIN_5,GPIO_PIN_SET); delay_ms(600); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4|GPIO_PIN_5,GPIO_PIN_RESET); } } else { HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4|GPIO_PIN_5,GPIO_PIN_SET); delay_ms(400); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4|GPIO_PIN_5,GPIO_PIN_RESET); } } //else //{ // HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4|GPIO_PIN_5,GPIO_PIN_SET); // delay_ms(400); // HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4|GPIO_PIN_5,GPIO_PIN_RESET); //} HAL_Delay(100); delay_ms(100); }}3.3.3删除功能对已添加的指纹进行删除操作,每个指纹都用对应的ID号,删除指纹就是删除指纹的图像与特征信息。ensure=PS_DeletChar(ID_NUM,1);//删除单个指纹if(ensure==0)ShowErrMessage(ensure);delay_ms(1500);第4章系统测试结果4.1系统运行开发板焊接好后,对程序进行烧写的处理,修改程序运行的编译报错,然后对门禁系统进行测试,指纹模块通过USB转串口设备连接到电脑,通过上位机软件来测试系统的运行结果。在设备管理器的端口中找到连接的设备,如图4-1所示。之后运行程序,出现程序运行界面后开始功能测试。图4-1串口号先打开调试程序,点击打开设备,选择对应的串口号。在程序中进行指纹的录入、删除、验证操作。打开后如下图4-2所示。图4-2程序界面4.2指纹模块添加指纹点击打开设备,选择串口号,点击录入指纹,输入地址后开始指纹录入,将手指放到传感器上。需要录入两次,图像、特征相符后就会录入成功。成功后会显示用户添加成功,如下图4-3所示。图4-3指纹录入成功4.3指纹模块验证指纹点击搜索,之后将需要验证的手指放到指纹传感器上,系统开始验证。如图4-4所示。图4-4指纹验证成功4.4指纹模块删除指纹当点击删除就会删除指定的指纹数据,当点击清空指纹库就会删除所有存储的指纹数据。如图4-5所示。图4-5指纹删除成功4.5程序界面展示该程序界面使用的是QT软件来进行制作及运行,程序展示如图4-6所示。该程序界面展示了添加成员和查看数据库记录的两大模块,在指纹模块录入指纹成功后,在PC端进行添加人员相关信息的功能。图4-6程序界面展示添加时可以记录ID、姓名、房间号以及手机号,如图4-7所示。添加人员后到数据库中进行查看,还可以删除人员信息,人员过多时也可以根据ID进行精确查找,如图4-8所示。图4-7成员添加图4-8查看成员信息结论本文对智能门禁系统进行了分析,随着科技的进步,人们对于普通的门锁已不能满足安全需求,指纹识别技术应运而生。指纹识别成为了当今社会主流的门禁解锁方式广泛应用与防盗门中。本文使用的是以基于STM32F103C8T6微控制器为系统核心,外设为AS608光学指纹识别模块、LED指示灯模块、蜂鸣器模块等主要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运动人生:体育精神与团队协作小学主题班会课件
- 服务外包合同续约条件回复函(7篇)范文
- IT项目评估标准更新确认通知(6篇范文)
- 倡导阳光心态迎接每一天四年级主题班会课件
- 关键产品开发项目签约进展汇报5篇
- 2026中国新能源应用行业市场现状竞争分析及投资评估规划分析研究报告
- 2026中国无人机行业市场发展现状及竞争格局与投资价值分析报告
- 2026全球绿色建筑行业市场发展趋势与前景展望战略研究报告
- 2026中国通讯行业市场发展现状及投资前景规划分析报告
- 2026中国食品添加剂行业质量控制现状分析及市场需求规划研究报告
- 2026宁夏国运新能源股份有限公司招聘45人笔试备考试题及答案详解
- 2026江苏镇江市京口区健康路街道办事处编制外城管协管员招聘2人笔试参考题库及答案详解
- 河道综合治理项目建议书
- 2026日照市医疗面试题及答案
- 《新能源装备装配与调试》课件-项目一任务3光伏电站常用运维仪器仪表及器具的使用
- 2026年河北省中考历史真题
- 火车站安防监控施工方案
- 2025-2026学年周三多管理学教学设计
- 智研咨询发布-2026年中国无人环卫车行业市场运行态势及发展趋势预测报告
- 中国中化2026秋招面试项目经验分享
- 2026年河南中烟工业有限责任公司招聘大学生线上初选考试流程及注意事项农业笔试备考试题及答案解析
评论
0/150
提交评论