基于嵌入式系统人脸识别门禁设计(智能门禁;STM32;人脸识别;嵌入式系统;单片机;实物;报告文档)
基于STM32的人脸识别智能门禁系统设计与实现 摘要:针对传统门禁系统安全性不足和使用不便的问题,本研究设计了一种基于STM32F103RBT6微控制器的智能门禁系统。系统集成人脸识别、蓝牙解锁和按键输入等多重身份验证方式,采用HILINK人脸识别模块实现高精度身份认证,结合LCD12864显示屏提供友好的人机交互界面。硬件设计包括主控电路、电源模块、显示模块和人脸识别模块等关键部件,软件部分采用
摘 要
随着智能家居和安全技术的快速发展,传统门禁系统逐渐无法满足现代用户对安全性、便捷性和智能化的需求。人脸识别技术的成熟与应用为门禁系统提供了更加先进和高效的解锁方式,同时,结合蓝牙等多重认证手段,能够大大提升门禁系统的安全性与使用便捷性。基于STM32微控制器的人脸识别门禁系统不仅具备多种解锁方式,还具有灵活的扩展性和良好的用户交互体验,适用于住宅、办公室等各种场所。
本课题主要围绕基于STM32的智能门禁系统的设计与实现,重点研究了人脸识别、蓝牙解锁等多种解锁方式的集成应用。系统采用STM32F103RBT6作为核心处理单元,结合HILINK人脸识别模块以及蓝牙通信模块,完成多重身份验证功能。设计中还包括了LCD屏幕显示、闪光灯控制、时间管理、系统复位等操作,用户通过简单的界面即可完成对系统的配置与管理。同时,本系统支持数据存储与本地更新,保证系统在网络断开或无外部设备的情况下,仍能稳定工作并满足基本安全需求。
该系统的最大优点是具备多重解锁方式,用户可以根据实际需求选择最合适(适合)的认证方式,且采用高精度的人脸识别,极大提升了安全性。系统界面友好,操作简单,便于用户进行管理与配置,同时具有高效的硬件集成度和稳定性,适合大规模推广应用。
关键词:智能门禁;STM32;人脸识别;嵌入式系统
Abstract
With the rapid development of smart home and security technology, the traditional access control system gradually fails to meet the needs of modern users for security, convenience and intelligence. The maturity and application of face recognition technology provides a more advanced and efficient unlock method for the access control system. At the same time, combined with multiple Bluetooth and other authentication methods, it can greatly improve the security and convenience of the access control system. The face recognition access control system based on STM 32 microcontroller not only has a variety of unlocking methods, but also has flexible scalability and good user interaction experience, which is suitable for residential, office and other places.
This topic mainly focuses on the design and implementation of the intelligent access control system based on STM 32, focusing on the integrated application of various unlocking methods such as face recognition and Bluetooth unlocking. The system uses the STM32F103RBT6 as the core processing unit, combined with the HILINK face recognition module and the Bluetooth communication module, to complete the multiple authentication function. The design also includes LCD screen display, flash control, time management, system reset and other operations. Users can complete the configuration and management of the system through a simple interface. At the same time, the system supports data storage and local update to ensure that the system can still work stably and meet the basic security needs when the network is disconnected or without external equipment.
The biggest advantage of the system is that it has multiple unlocking methods, users can choose the most appropriate authentication method according to the actual needs, and use high-precision face recognition, greatly improve the security. The system interface is friendly, simple operation, easy to manage and configure, and has efficient hardware integration and stability, suitable for large-scale promotion and application.
Key words:Intelligent Access Control; STM 32; Face Recognition; Embedded System
目 录
摘 要.............................................................................. I
Abstract........................................................................... II
第1章 绪论.................................................................... 1
1.1 系统开发背景分析........................................... 1
1.2 系统开发的意义与目的................................... 2
1.3 国内外研究现状............................................... 2
1.3.1 国内研究现状........................................ 2
1.3.2 国外研究现状........................................ 3
1.4 系统主要内容................................................... 4
第2章 系统设计方案.................................................... 5
2.1 主要器件选型................................................... 5
2.1.1 主控芯片方案选择................................ 5
2.1.2 显示模块方案选择................................ 6
2.1.3 人脸识别模块方案选择........................ 7
2.1.4 按键模块方案选择................................ 8
2.1.5 USB供电模块方案选择........................ 9
2.1.6 蓝牙模块方案选择................................ 9
2.2 整体系统框图设计......................................... 10
第3章 系统硬件设计.................................................. 12
3.1 单片机最小系统............................................. 12
3.1.1 主控模块电路...................................... 12
3.1.2 晶振电路.............................................. 13
3.1.3 复位电路.............................................. 14
3.1.4 电源电路.............................................. 15
3.2 LCD12864显示模块电路............................... 16
3.3人脸识别模块电路.......................................... 17
3.4按键模块电路.................................................. 19
3.5蓝牙模块电路.................................................. 20
第4章 系统软件设计.................................................. 23
4.1 编程软件介绍................................................. 23
4.2 主程序流程设计............................................. 23
4.3 独立按键流程设计......................................... 26
4.4 LCD12864显示流程设计............................... 29
第5章 系统整体测试.................................................. 32
5.1 系统整体部署................................................. 32
5.2 人脸识别仿真测试......................................... 32
第6章 结论.................................................................. 35
参考文献........................................................................ 37
致 谢............................................................................ 39
第1章 绪论
1.1 系统开发背景分析
随着智能化技术的飞速发展,传统的门禁系统逐渐暴露出诸如安全性差、使用不便等问题。传统门禁系统大多依赖密码、IC卡等方式,这些方式虽然能提供一定的安全保障,但仍然存在安全隐患。例如,密码容易被盗取或遗忘,IC卡可能会丢失。此外,传统门禁系统普遍缺乏智能化功能,不能灵活应对复杂的安全需求。因此,开发一种集成多种身份验证方式,且具有更高安全性和便捷性的智能门禁系统成为了市场的迫切需求。
嵌入式系统技术的发展为这一问题的解决提供了新的思路。嵌入式系统具有低功耗、体积小、可靠性高的特点,能够在不增加过多硬件成本的前提下,实现高度集成和高效的数据处理。人脸识别技术作为一种先进的生物识别方式,具有唯一性和难以伪造的优点,因此在安全领域得到了广泛应用。结合嵌入式系统和人脸识别技术,可以设计出一种既高效又安全的门禁系统,能够通过人脸图像的实时采集与处理进行身份验证,极大提升了安全性和使用便捷性。此外,嵌入式系统能够与其他认证方式如密码等进行组合,实现多重身份验证,进一步增强了门禁系统的安全性和灵活性。
随着物联网(IoT)和智能家居的兴起,智能门禁系统在商业、住宅以及企业办公等领域的应用前景越来越广泛。智能门禁系统不仅能够实现基本的门锁控制功能,还能与其他智能设备进行联动,如家庭安防、视频监控等,提升了整体的安全管理能力。例如,用户可以通过手机APP实时查看门禁状态,远程授权访问权限,甚至在外地通过视频与来访者进行对话,这种智能化的功能极大地提升了用户体验和管理效率。人脸识别技术的引入,不仅提高了门禁系统的安全性,还使得用户操作更加简单便捷。结合嵌入式系统的开发背景,这种智能化、集成化的门禁设计方案不仅符合现代社会对安全性和便利性的双重需求,也顺应了智能化生活方式的发展趋势,具有广泛的市场应用前景。
人脸识别技术作为一种非接触式、便捷且高效的身份验证方式,近年来得到了广泛应用。相比传统的密码输入或卡片刷卡,人脸识别能够提供更加直观和安全的解锁方式,同时避免了传统方式中可能存在的密码遗忘、卡片丢失等问题。此外,随着嵌入式技术的迅速发展,采用STM32等微控制器作为核心处理单元的门禁系统,具有高性能、低功耗、集成度高等特点,为智能门禁系统的实现提供了良好的硬件平台。
在此背景下,基于嵌入式系统的人脸识别门禁系统应运而生。通过集成多种解锁方式,如人脸识别、蓝牙等,能够有效提高门禁系统的安全性与智能化水平。这种系统不仅能够满足用户多样化的需求,还能为居住者提供更加便捷和安全的使用体验,推动智能安防技术的进一步发展。
1.2 系统开发的意义与目的
随着社会的发展,安全问题日益成为公众关注的重点,尤其是在住宅、办公楼等场所的出入管理上,传统的门禁系统逐渐暴露出不安全、易被破解、操作复杂等问题。而基于嵌入式系统的人脸识别门禁系统,以其高效、便捷、安全等特点,解决了这些痛点,逐步取代了传统门禁方式。嵌入式系统具有小巧、高效、低功耗的特点,能够为人脸识别技术的应用提供良好的硬件支持,从而使得门禁系统具备更高的安全性和稳定性。通过这一系统,能够有效防止盗用密码等安全隐患,确保出入权限的唯一性和准确性。因此,开发基于嵌入式系统的人脸识别门禁系统,不仅提升了安全管理的效率,也符合现代社会对智能化、个性化的需求。
同时,随着智能家居和物联网技术的飞速发展,智能化的门禁系统成为了智能生活的一部分,逐步渗透到商业、住宅、公共场所等各个领域。通过结合人脸识别技术,门禁系统能够实现更智能、更便捷的身份验证和权限管理,为用户带来更加舒适和安全的生活环境。这种系统的应用,标志着门禁管理从传统模式向智能化、信息化方向的转型,推动了智能建筑和智能城市建设的发展。因此,系统开发不仅具有重要的技术意义,还有助于推动整个社会安全管理水平的提升。
主要目的如下:
- 提高安全性:基于人脸识别技术的门禁系统能够有效防止传统门禁系统面临的安全漏洞,例如密码被盗、IC卡丢失等问题。由于人脸具有唯一性和不可复制性,能够确保只有合法用户才能进入指定区域,大大增强了门禁系统的安全性。
- 提升便捷性:传统门禁系统如密码输入、IC卡刷卡等方式往往需要用户携带和操作,易产生不便或操作错误。而人脸识别门禁系统则能通过自动识别来实现快速通行,用户无需任何额外操作,提升了使用体验和便捷性。
- 实现智能化管理:人脸识别门禁系统可以与其他智能家居或办公系统联动,例如可以与视频监控、远程开锁等功能相结合,通过移动设备远程监控或授权,进一步增强管理的便捷性和效率。实现数据共享、权限管理和远程控制,使得门禁管理变得更加智能化和灵活。
- 降低成本与维护负担:嵌入式系统本身具有高集成度和低功耗的特点,能够大幅降低系统的硬件成本,并且通过软件升级等方式,维护变得更加便捷。相比于传统的门禁系统,基于嵌入式人脸识别技术的系统能够减少维护人员和物理设备的投入,降低运营成本。
1.3 国内外研究现状
1.3.1 国内研究现状
张强(论文中不要出现人名)(2022)等在《基于嵌入式系统的智能门禁系统设计》中提出,传统门禁系统存在安全性不足和使用不便的问题,尤其是在密码和卡片方式的安全漏洞日益显现。为了解决这些问题,作者提出了基于嵌入式平台的人脸识别门禁系统设计,并利用STM32微控制器来实现系统的低功耗和高效性。研究表明,嵌入式人脸识别技术相较于传统的身份验证方式,具有更高的准确性和便捷性,能够有效提升门禁系统的安全性和用户体验。
李晓辉(2023)等在《基于人脸识别与RFID技术的智能门禁系统研究》中提出,将人脸识别与RFID技术结合,作为智能门禁系统的双重验证方式。研究认为,RFID技术能够提供快速识别的特性,而人脸识别则能在高安全要求场合下发挥更大的作用。通过嵌入式平台的优化,系统能够在大流量环境下稳定运行,且具备较强的抗干扰能力。该研究为多重身份认证的智能门禁提供了理论支持和实践依据。
王涛(2022)在《基于STM32的人脸识别门禁系统设计与实现》中指出,STM32微控制器具有强大的计算能力和低功耗特性,非常适合在嵌入式人脸识别门禁系统中应用。作者分析了当前人脸识别技术在实时性、准确性方面的挑战,并提出了优化算法,通过硬件与软件的协同设计,使得门禁系统能在较低的硬件要求下实现高效、稳定的人脸识别功能。这一研究促进了嵌入式平台在人脸识别领域的应用。
刘婷(2024)等在《智能门禁系统的多模态身份识别技术研究》中提出,通过将人脸识别与蓝牙解锁等技术结合,可以实现多模态身份认证。该研究强调,结合多种解锁方式不仅可以增强系统的安全性,还能为用户提供更多便捷的选择。作者基于嵌入式平台进行系统设计,使用高效的算法来实现各识别模块的协同工作,最终实现了一个既安全又易于操作的智能门禁系统。
1.3.2 国外研究现状
Jain(2023)在《基于嵌入式平台的人脸识别门禁系统研究》中指出,随着人脸识别技术的快速发展,嵌入式系统为构建高效、低功耗的智能门禁系统提供了新的解决方案。研究表明,嵌入式人脸识别系统相较于传统门禁系统具有更高的准确性与安全性。通过对比分析现有的硬件平台,作者提出了适合人脸识别的嵌入式处理器,进一步优化了系统的处理能力和响应速度,尤其适用于大规模应用场景中的门禁控制。
Kumar(2023)在《智能门禁系统中的人脸识别与嵌入式技术集成》中强调,采用嵌入式系统与深度学习结合,能够有效提升人脸识别的准确性和实时性。研究指出,基于嵌入式平台的人脸识别技术能够减少硬件成本,同时通过优化算法提升识别速度,适应各种环境下的门禁应用。他们的研究还提出了基于低功耗硬件的实时性优化方案,使得该系统能在无网络环境下也能稳定运行,适应不同安全需求的场合。
Chen(2023)在《基于人脸识别的智能门禁系统设计》中提出,结合嵌入式技术的人脸识别门禁系统能够有效解决传统门禁的管理与安全问题。作者指出,嵌入式平台由于其小巧、低功耗的特性,在智能门禁中应用广泛,特别适合用于需要24小时不间断运行的门禁控制系统。他们通过优化人脸识别算法,使得系统在极短时间内完成高精度识别,显著提升了用户的体验。
Zhang(2022)在《面向智能门禁的多模态人脸识别系统研究》中提出,通过将人脸识别与卡片识别等技术结合,能够有效提升门禁系统的安全性。他们认为,单一的识别方式难以满足不同安全环境的需求,而多模态认证不仅能提高安全性,还能提升系统的容错性。研究表明,嵌入式平台在人脸识别与多模态识别的结合中表现出较好的可扩展性,能够根据实际应用需求灵活配置不同的识别模块。
1.4 系统主要内容
本课题主要针对基于STM32F103RBT6微控制器的人脸识别智能门锁门禁系统进行设计与实现。系统集成人脸识别、按键解锁、蓝牙解锁等多种身份认证方式,以提供多层次安全保障。通过嵌入式系统和各类模块的协同工作,实现高效、稳定且安全的门禁控制。
研究内容包括:
- 硬件设计与选型:选择STM32F103RBT6微控制器作为主控芯片,集成HILINK人脸识别模块、蓝牙模块等,设计合理的电路原理图,确保各个模块高效协同工作。
- 系统集成与多重解锁方式实现:设计并实现五种解锁方式,包括人脸识别、按键输入和蓝牙解锁。通过多重解锁方式,提升系统的灵活性与安全性。
- 功能模块开发:开发包括卡片录入、密码修改、删除卡片、人脸录入、删除人脸等操作的功能。并实现闪光灯自动息屏控制、时间修改、出厂设置恢复等附加功能,提供完整的门禁管理功能。
- 嵌入式软件开发与优化:利用C语言在STM32平台上进行嵌入式开发,编写系统控制程序,实现各模块的交互、数据存储、用户管理和界面显示等功能。优化识别算法,提高识别速度与准确度,确保系统在各种环境下的稳定运行。
- 系统测试与调试:通过功能测试、性能评估和稳定性测试,确保系统各项功能正常,具有较高的抗干扰能力和安全性。
第2章 系统设计方案
2.1 主要器件选型
2.1.1 主控芯片方案选择
方案一:STC89C52
STC89C52是STC公司推出的一款低功耗、高性能8位单片机,采用PDIP封装,适合简单嵌入式控制应用。其内置8 KB的Flash存储器和512字节RAM,适用于存储较小程序和数据。STC89C52提供32个I/O端口,支持多种外设接口,能够满足基本的输入输出控制需求。其内置3个16位定时器和4个外部中断,能够处理常见的定时和中断任务。STC89C52还集成了看门狗定时器和MAX810重设电路,在系统发生异常时能够进行自动复位,确保系统稳定性。此外,支持ISP和IAP功能,用户可以通过串行口直接下载程序,简化了开发和调试过程。由于其成本较低、功耗低,STC89C52适合低端嵌入式系统应用,如家电控制、简单的传感器数据采集等场景。
方案二:STM32F103RBT6
STM32F103RBT6是意法半导体推出的一款32位微控制器,基于ARM Cortex-M3核心,适用于高性能嵌入式应用。该芯片内置64 KB的Flash程序存储器和20 KB的RAM,能够支持复杂的应用程序和实时数据处理。STM32F103RBT6提供37个通用I/O端口,支持IIC、SPI、USART等多种通信接口,能够灵活与外部设备进行高速数据交换。它还内置了2个12位的模数转换器(ADC),适合处理模拟信号输入。4个16位可编程定时器和多个外部中断增强了它的实时性和响应能力。STM32F103RBT6的最高工作频率可达72 MHz,拥有强大的运算能力,适用于对性能和实时性要求较高的应用,如工业自动化、智能家居、机器人控制等。此外,其较高的性价比使其在市场中具有较强的竞争力。
综合考虑两种方案,选择STM32F103RBT6作为本设计的控制器。主要原因包括:STM32F103RBT6具有更高的处理能力(72 MHz时钟和32位架构),能够满足更复杂算法和实时任务的处理需求;同时,它提供更多的I/O端口和通信接口,适合与多种外部设备连接;更大的存储容量(64 KB Flash和20 KB RAM)确保能够支持更大的应用程序和数据处理。此外,内置的ADC和高精度定时器使其更加适用于需要模拟信号采集和高精度控制的场景。因此,STM32F103RBT6在性能、扩展性和性价比方面的优势,使其成为更理想的选择,实物如图2.1所所示。

图2.1 STM32F103RBT6原理图
2.1.2 显示模块方案选择
方案一:选择彩色TFT屏幕作为显示解决方案
采用SPI总线与LCD控制器连接,这使得系统总线得到简化,提高了系统的运行效率。TFT屏幕能够提供更高的显示清晰度,支持丰富的显示效果和色彩层次,使得显示更加生动。通过API支持的功能,如刷屏、清屏和写屏等,可以实现高质量的动态显示,提升用户体验。此外,TFT屏幕适用于需要较高分辨率和色彩表现的应用场景。但此方案的一个缺点是价格较高,对于需要控制成本的设计来说可能增加初期投入,尤其是在大规模生产的情况下,价格可能成为一个不小的负担,因此在费用较为敏感的项目中并非最优选择。
方案二:选择有机发光二极管(LCD12864)屏幕作为显示方案
LCD12864屏幕虽然只支持单一颜色显示,但其亮度和对比度极高,能够在低功耗的情况下提供非常清晰和鲜明的图像显示。LCD12864屏幕的响应速度快,适用于显示动态信息,且具有较低的价格,这对于成本敏感的项目尤为重要。除了亮度优势,LCD12864屏幕还具有较高的分辨率,能够显示英文、中文字符和符号,满足环保监控系统对文本显示的需求。由于其价格较为低廉,能够有效降低系统成本,因此,在对成本要求较高的项目中,选择LCD12864屏幕是一个非常合适的方案。
综合考虑成本、显示效果以及项目需求,最终选用了LCD12864屏幕方案,实物如图2.2所示。

图2.2 LCD12864实物图
2.1.3 人脸识别模块方案选择
HILINK人脸识别模块是一种集成了先进人脸识别算法的硬件模块,专为高效、精准的人脸验证与识别设计。该模块采用高性能的处理器,支持高速图像处理和实时人脸比对,能够在各种复杂环境下快速识别和验证人脸信息。它具备较强的抗干扰能力,能够适应不同的光照条件、角度以及遮挡情况,确保识别准确性。通过标准接口(如UART、I2C、SPI等),用户可以方便地与其他系统进行连接,灵活集成到智能安防、门禁控制、考勤管理等应用场景中。HILINK人脸识别模块的优点在于其低功耗、高性能与高精度,且系统集成度高,使用简便,能够为智能设备提供更为便捷的身份验证解决方案。其模块化设计降低了开发难度,适合各种嵌入式应用,满足现代社会对身份识别和安全性日益增长的需求,实物如图2.3所示。

图2.3 HILINK人脸识别模块实物图
2.1.4 按键模块方案选择
4×4矩阵按键模块是一种常见且实用的输入设备,广泛应用于各种电子产品中,如智能家居、安防系统、家电控制等。它由16个按键组成,排布在4行4列的矩阵中,通过行列扫描原理来实现按键输入。该模块通过较少的引脚就可以识别多个按键,节省了硬件资源和线路连接,具有较高的集成度和经济性。
4×4矩阵按键模块的工作原理基于行列扫描。当按下某个按键时,它会同时接通一个特定的行和列,微控制器通过扫描每一行和列的电平,判断按下的是哪个按键。由于采用矩阵结构,虽然模块有16个按键,但仅需要8个GPIO引脚即可实现识别,大大减少了引脚的占用,简化了硬件设计,实物如图2.6所示。

图2.6 按键模块实物图
2.1.5 USB供电模块方案选择
TYPE-C到TYPE-C USB供电模块是一种高效、可靠的电源管理解决方案,广泛应用于智能设备、便携式电源、电子产品和嵌入式系统中。该模块采用USB Type-C接口,支持双向插拔,能够提供更高的电流和更大的功率输出,满足现代设备对电源供给的高要求。
USB Type-C接口的优势在于其支持更高的功率传输(通常最高可支持100W的功率输出),相较于传统的USB接口,它具有更高的传输效率和更快的充电速度。通过TYPE-C接口,设备可以进行快速充电,并且通过智能电源管理协议(如USB PD协议),实现电压和电流的自动调整,保证设备的安全和高效供电,实物如图2.7所示。

图2.7 TYPE-C模块实物图
2.1.6 蓝牙模块方案选择
JDY-31蓝牙模块是一款基于Bluetooth 4.0(BLE)技术的低功耗蓝牙模块,广泛应用于智能家居、物联网(IoT)、智能穿戴设备等领域。它采用了CSR公司生产的蓝牙芯片,支持蓝牙低功耗(Bluetooth Low Energy, BLE)协议,能够在较低的功耗下实现稳定的无线通信。JDY-31具有较小的体积和良好的适配性,适合嵌入到各种智能设备中,特别是在需要低功耗、高效数据传输的应用场景中表现优异。该模块支持标准的串口通信协议(UART),并且具有简单的AT命令集,便于与其他硬件平台进行快速集成和配置。
JDY-31模块具有多种功能模式,能够支持点对点通信、主从设备通信以及设备广播等多种模式,使得开发者可以根据具体应用需求灵活选择工作方式。此外,JDY-31的通信距离在空旷环境下可达到50米以上,满足大部分无线通信需求。该模块的工作电压为3.3V,具有较低的功耗特性,非常适合电池供电的便携设备。JDY-31在设计上考虑了抗干扰能力,能够在复杂的无线环境中稳定运行。其模块内集成了蓝牙协议栈,不需要外部设备复杂的协议处理,可以直接进行蓝牙数据交换,大大简化了开发工作。总的来说,JDY-31蓝牙模块是一款性能稳定、功能多样且易于集成的无线通信模块,特别适合于智能设备、物联网终端和移动应用中,实物如图2.8所示。

图2.8 JDY31蓝牙模块实物图
2.2 整体系统框图设计
基于嵌入式系统的人脸识别智能门锁门禁设计通过输入、处理、输出和电源四个模块构成了一个完整的身份验证系统。首先,输入模块包括多种验证方式,确保门禁系统的安全性和便捷性。4×4矩阵按键提供传统的密码输入功能,作为多重验证的补充;HILINK人脸识别模块则是整个门禁系统的核心身份认证方式,通过内置的摄像头捕捉用户面部图像,经过图像处理和匹配后确认用户身份。这些输入设备的信号和数据最终都由STM32F103RBT6微控制器进行集中处理。作为系统的核心处理单元,STM32负责协调各个输入模块的数据采集,执行身份验证逻辑,并根据验证结果控制门锁状态。
在处理模块中,STM32F103RBT6微控制器处理从各种输入模块采集到的身份信息,并根据内置的认证算法进行验证。当验证通过后,STM32会指令输出模块通过电机驱动系统控制门锁的开启或拒绝访问。LCD12864显示屏作为输出模块的一部分,实时向用户反馈系统状态,展示验证结果或错误信息,确保用户能够清晰了解身份认证的过程和结果。电源模块通过TYPE-C接口为整个系统提供稳定的电源输入,同时支持数据传输。该电源模块不仅能确保门禁系统在正常工作时的电力供应,还具备低功耗运行特性,延长了系统的使用寿命,尤其在长期运行的场合具有显著的优势。整体系统框架通过这四个模块的紧密配合,实现了高度集成、功能丰富的智能门锁门禁解决方案,不仅提高了安全性,还提升了用户体验和操作便捷性,具体系统框图如图2.9所示。

图2.9 系统整体框图
第3章 系统硬件设计
3.1 单片机最小系统
3.1.1 主控模块电路
STM32F103RBT6是基于ARM Cortex-M3内核的高性能微控制器,运行频率为72MHz,具备1.25 DMIPS/MHz的计算性能,适合高效处理复杂应用。它具有128KB闪存和20KB SRAM,支持多种外设和输入输出接口,适用于广泛的嵌入式应用。该芯片配备两个12位模数转换器(ADC),三个16位通用计时器、一个PWM计时器,以及标准和高级通讯接口(包括2个I2C、SPI、3个USART、1个USB和1个CAN)。此外,它还支持低功耗模式,包括睡眠、停止和待机模式,适合长时间运行的便携式设备。芯片内置的时钟管理系统包括多个振荡器、锁相环和实时时钟(RTC)支持,确保高精度时间控制和低功耗运行。ST的DMA控制器支持7通道数据传输,提升系统整体性能。此MCU广泛应用于自动化控制、工业、消费电子、便携设备及多媒体领域,具备强大的扩展性与可靠性,主控芯片原理图如图3.1所示。

图3.1 STM32F103RBT6原理图
STM32F103RBT6参数如下表3.1所示。
表3.1 STM32F103RBT6中文参数
|
系列名称 |
STM32F |
宽度 |
10mm |
|
封装类型 |
LQFP |
脉冲宽度调制 |
1(16 位)(电机控制) |
|
安装类型 |
表面贴装 |
最低工作温度 |
-40°C |
|
引脚数目 |
64 |
PWM分辨率 |
16Bit |
|
装置核芯 |
ARM Cortex M3 |
计时器分辨率 |
16Bit |
|
数据总线宽度 |
32Bit |
高度 |
1.45mm |
|
程序存储器大小 |
128 kB |
USART 通道数量 |
3 |
|
最大频率 |
72MHz |
计时器 |
3 x 16 位 |
|
内存大小 |
20 kB |
尺寸 |
10 x 10 x 1.45mm |
|
USB通道 |
1个设备 |
程序存储器类型 |
闪存 |
|
PWM单元数目 |
1 |
计时器数目 |
3 |
|
模数转换器通道 |
16 |
I2C通道数目 |
2 |
|
SPI通道数目 |
2 |
模数转换器分辨率 |
12Bit |
|
典型工作电源电压 |
2 → 3.6 V |
指令集结构 |
RISC |
|
最高工作温度 |
+85°C |
CAN通道数目 |
1 |
|
长度 |
10mm |
模数转换器单元数目 |
2 |
|
模数转换器 |
2(16 x 12 位) |
3.1.2 晶振电路
晶振电路主要通过石英晶体的压电效应生成稳定的频率信号。在STM32F103RBT6中,采用了两种不同频率的晶振来满足不同功能的时钟需求:一个低频的32.768 kHz晶振用于提供精准的实时时钟(RTC)信号,另一个8 MHz的高频晶振则为主控制芯片提供更高的工作频率。
8 MHz晶振通常由一个外部晶体振荡器电路(一般由晶体、负载电容、电阻以及其他必要的电路组件组成)来驱动。该晶体的频率由其内部的晶体振荡作用产生,电路中的负载电容调节振荡频率的稳定性,并确保时钟信号的准确性。8 MHz晶振信号经过锁相环(PLL)倍频处理,进一步提供更高频率的时钟信号给芯片核心,支持快速处理和高效执行各种计算任务。
该晶振电路的设计确保了系统的高稳定性和低功耗,适用于需要精确时序控制的应用,同时兼顾了芯片的性能需求,主控芯片原理图如图3.2所示。
图3.2 晶振电路原理图
电容技术参数与晶振技术参数和电阻技术参数如下表3.2和3.3和3.4所示。
表3.2 电容技术参数
|
技术参数 |
数值 |
|
容差 |
±10% |
|
精度 |
±10% |
|
工作温度 |
-55℃~125℃ |
|
工作电压 |
2.0~3.6VV |
表3.3 晶振技术参数
|
技术参数 |
数值 |
|
工作温度 |
-20℃~70℃ |
|
频率公差 |
±10ppm |
表3.4 电阻技术参数
|
技术参数 |
数值 |
|
功率 |
3.3W |
|
精度 |
±1% |
|
温度系数 |
±100ppm/℃ |
第4章 系统软件设计
在完成整个系统的总体设计后,为了验证系统的可靠性和正确性,可以进行实地调试。这一过程包括硬件调试、软件调试以及模拟运行。模拟运行是指系统在实际场景之外,通过模拟环境来验证其功能是否正常。如果系统能够在模拟环境中运行并完成设计预期的功能,那么就说明系统调试成功,达到了预期的目标。
4.1 编程软件介绍
本文采用Keil5作为开发平台,与其它的开发环境相比,Keil5具有更轻、速度更快、更简便的特点;受到了众多的嵌入式开发人员的青睐。Keil5支援种类繁多的单片机,包括51 MCU,STM32,HC32等;如 NXP等,所产生的 HEX格式,可以用烧录器将其写入 MCU,使用十分便捷。此外,Keil5的编译分为三种类型,分别为一次编译和一次半编译;另一种方法则是将所有内容都进行编辑,让开发者有更多的选项,而所得到的结果也会出现在接口的底部,让开发者能够找到问题所在,界面如图4.1所示。

图4.1 Keil5开发界面
4.2 主程序流程设计
系统启动后,首先进行硬件初始化,确保各模块正常工作,包括传感器、显示屏、继电器等。然后,通过TCP连接与上位机建立通信,确保数据传输稳定。接下来,系统通过摄像头采集人脸图像,将采集到的图像数据上传至上位机。上位机对图像进行人脸匹配,判断是否有匹配人员。如果匹配成功,系统触发开门指令,继电器打开,并在显示屏上显示“门禁打开成功”;如果匹配失败,则继电器不打开,显示屏显示“门禁打开失败”,提示用户验证未通过。整个流程通过实时反馈和控制,确保门禁系统的高效和安全运行,流程如图4.2所示。
图4.2 主程序流程图
#include <stdio.h>
#include <stdlib.h>
#include "tcp_client.h"
#include "camera.h"
#include "face_recognition.h"
#include "gpio.h"
#include "display.h"
// 初始化硬件和模块
void system_init() {
init_gpio(); // 初始化GPIO
init_camera(); // 初始化摄像头
init_tcp_connection(); // 初始化TCP连接
init_display(); // 初始化显示屏
init_relay(); // 初始化继电器
}
// 采集人脸图像并上传
int capture_and_upload_image() {
uint8_t *image_data = capture_face_image(); // 从摄像头获取图像
if (image_data == NULL) {
return -1; // 图像采集失败
}
return upload_image_to_server(image_data); // 上传图像到上位机
}
// 控制门禁
void control_access(int access_granted) {
if (access_granted) {
open_relay(); // 打开继电器,门禁打开
display_message("门禁打开成功"); // 显示成功信息
} else {
close_relay(); // 关闭继电器,门禁关闭
display_message("门禁打开失败"); // 显示失败信息
}
}
int main() {
system_init(); // 系统初始化
while (1) {
int status = capture_and_upload_image(); // 采集并上传图像
if (status == -1) {
display_message("图像采集失败");
continue;
}
// 通过TCP连接获取上位机返回的匹配结果
int match_result = tcp_receive_match_result(); // 从上位机获取匹配结果
if (match_result == 1) {
control_access(1); // 匹配成功,打开门禁
} else {
control_access(0); // 匹配失败,关闭门禁
}
delay(1000); // 延迟1秒
}
return 0;
}
4.3 独立按键流程设计
首先,对键盘的管脚进行了定义,并对管脚的初始化状态进行了分析。接着,对该方式标志比特是否为1进行判定,当该值为1时,该方式为对持续按压方式进行支撑,并将该状态标记定位为1。接着,判定键状态标记比特是1还是1,键管脚是低,若两者都符合,那么延迟10毫秒执行抖动消除,并将键状态标记定位为0。重新确定该键管脚是不是处于低电平,若为低电平,就按压键控键,并将相应的键键键回到相应的键键值。若键状态标记比特不是1,或键管脚不是低,就判定键管脚的高电平,若为高电平,键被提起;把键的国家标记设为1,再回到0。若所述键插脚未处于高电平,那么所述


更多推荐

所有评论(0)