基于STM32的指纹密码射频锁Wi-Fi控制系统设计
作者: 郭茁蓬 简正波 向富平 祝秋香
摘要:针对单一验证方式的传统密码锁可能存在被盗用的问题,设计了一款多重验证、用户权限分级的指纹密码射频锁Wi-Fi控制系统设计,该系统采用STM32单片机作为控制核心,主要由按键模块、指纹模块、射频模块和Wi-Fi模块等组成,实现了指纹解锁、密码解锁、门禁卡解锁以及手机远程解锁等功能,本系统还有管理员模式,管理员可以修改密码、增添或删除指纹和门禁卡。通过对测试结果的分析,该系统能正常完成所有工作,具有较高的安全性和精确度。
关键词:STM32;密码;指纹;Wi-Fi远程控制
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2023)25-0088-04
开放科学(资源服务)标识码(OSID)
0 引言
随着社会的进步与科技的发展,传统的个人认证方法(如密码、磁卡等)存在可以被伪造、被盗用等问题,不能充分适应现代社会对安保预防工作的要求。因此随着科技的发展,生物特征因为其固有的独特性、唯一性、稳定性、恒久性以及可采集性[1]。于是有了一种新的认证方式——生物识别技术。生物识别技术发展迅速,指纹识别逐渐代替钥匙应用于门锁安防,目前我国指纹识别技术相对成熟、成本低廉[2]。 射频识别RFID技术是一种非接触式自动识别技术,与传统识别技术相比,RFID技术具有非接触、速度快、穿透力强等优点[3]。对于微控制器芯片想要实现复杂的识别和大量的计算是很难实现的,但是可以通过无线Wi-Fi将数据传输给计算机识别运算算法,再将算法结果通过无线网络传输到微控制器,最后再做出决策[4]。综上所述该设计结合目前国内所得的研究成果,在他们的基础上制作了一款指纹密码射频锁Wi-Fi控制系统设计。测试结果表明该设计实现了指纹密码解锁,门禁卡解锁以及Wi-Fi远程控制解锁等功能,具有较高的安全性和精确度。
1 设计方案
以32位单片机为中心,STM32是一款在低能耗嵌入式应用中占有举足轻重地位的低功率单片机。STM32处理能力强,速度快,稳定性好;具有超低功耗,多种接口,可扩展性强等优点。该模块是一块主要的控制单元,主要承担着对系统整体运行的控制、对数据进行处理、分析等功能。
系统总体设计框图如图1所示。
2 项目设计
2.1 硬件设计
1) 硬件电路总原理图
如图2便是本次毕业设计使用到的硬件的总电路图,其中包括了所有的模块的电路原理图,例如:STM32核心模块、按键模块、指纹模块、射频模块以及Wi-Fi远程控制模块。
2) STM32F103C8T6单片机核心控制模块
STM32系列的芯片是一款以ARM为核心控制的芯片,它是由ST集团制造,它具有实时模拟与追踪功能。之所以使用这款控制芯片,是由于本系统设计并不单单为了达到本设计的最低能耗,它只是为了在完成本设计的功能的基础上,可以使用更多的界面以及功能,方便设计出更多的周边扩展电路。在完成了对STM32单片机课程的了解之后,这款单片机控制芯片的操作变得比较简单,它在各种电子设备中有着非常好的使用价值,并且它还拥有良好的学习和实验研究价值。
STM32的主要优点:使用ARM最新的内核;优异的实时性能;杰出的功耗控制;出众及创新的外设;最大程度的集成整合;易于开发。该设计的所有的插脚和外围设备以及软件都具有非常强大的兼容性,为设计提供了很大的灵活性。
STM32F103C8T6单片机最小系统原理图如图3所示。
3) 指纹模块
以STM32F103C8T6为主控芯片,由AS608指纹模块识别和存储采集到的指纹信息,由STM32主控制程序处理指纹信息,最后将处理结果传送到OLED液晶屏幕显示[5]。它是基于全反射原理的亮背景指纹采集工作原理。光学通过LED灯射出,经过手指按压,光线反射通过透镜进入传感器,最后被传感器识别[6]。采集原理图如图4所示。AS608指纹模块的原理图如图5所示。
4) 射频模块
由RC522射频模块识别和存储采集到的门禁卡信息,STM32主控程序处理信息后将结果传送至OLED显示屏上。RFID技术是物联网得以实现的关键部分,主要表现为无线射频技术不再需要和物体之间建立硬性连接,就可以实现各个物体之间的信息交流[7]。RC522射频模块的原理图如图6所示。
5) Wi-Fi模块
本设计应用STM32单片机和ESP8266 Wi-Fi模块设计了远程解锁控制系统[8]。利用PC端的Wi-Fi串口通信向系统发送指令,STM32主控制器根据接收到的指令对系统进行操作[9]。ESP8266 Wi-Fi模块的原理图如图7所示。
2.2 软件设计
在该方案中,MCU的开发环境是KEIL,KEIL是51系列MCU的C语言,由美国 KEIL SOFTWARE公司生产,与汇编程序比较,C语言在功能、结构和可读性等方面都有很大优势;在可维护性方面具有十分显著的优点,因此C语言更加便于学和用。KEIL的用途是可以用来进行C语言的编译和宏汇编等其他特别厉害的用途,一套完备的发展计划,包括图书馆的管理,一个强有力的模拟调试器,等等,并把它们整合到一个整合的开发环境中(MUVISION) 。要想使用这个系统,就必须使用Win98、NT、Win2000;像WinXP这样的作业系统。用 C语言进行程序设计时, KEIL将是您的最佳选择,即便您只用它来进行汇编,那么它的集成环境,功能强大的软件模拟和调试软件同样将使您的工作变得更加轻松容易和简单。在这些特征中,基尔的特征如下:
KEIL软件对 WinXP、Win7等多个操作系统都有很好的支援,并具有很强的程式设计能力。
FLYMCU是一个非常简单实用的STM32烧录程序,他可以将程序烧录至STM32单片机,它广泛地用于电子专业的单片机开发人员学习。这个软件在电路编程(ICP) 与应用编程(IAP) 中经常被拿出来使用在该设计中,具有很大的用途。它不仅支持C语言的编程与编译,它还支持系统的校验和对器件信息的读取功能。
MCU的程序可以由一个下载机(例如:CH340) 来下载。首先将单片机开发板、下载器和个人电脑都连接好了之后,然后在软件当中选定一个串口令,再选定一个名为“HEX”的工程程序,再点开“P”键,便可下载此程序。
该设计的主程序流程图如图8所示。
3 实验结果
3.1 指纹模块测试
当OLED显示屏上第一行显示字样为FINGER时代表当前为指纹验证模式。当指纹验证成功时,绿色的LED指示灯会亮起,提示已通过验证解锁完成,同时OLED显示屏右下角会显示出OK的字样,表示已完成解锁,正如图9(a)所示。当指纹验证失败时,红色的LED指示灯会亮起,提示未通过验证未完成解锁,同时OLED显示屏右下角会显示出ERR的字样,表示解锁失败,并且此时蜂鸣器会发出刺耳的警报声,如图9(b)所示。
3.2 按键模块测试
当OLED显示屏上第一行显示字样为KEY时代表当前为密码验证模式。当密码验证成功时,绿色的LED指示灯会亮起,提示已通过验证解锁完成,同时OLED显示屏右下角会显示出OK的字样,表示已完成解锁,正如图10(a)示。当密码验证失败时,红色的LED指示灯会亮起,提示未通过验证未完成解锁,同时OLED显示屏右下角会显示出ERR的字样,表示解锁失败,并且此时蜂鸣器会发出刺耳的警报声,如图10(b)所示。
3.3 射频模块测试
当OLED显示屏上第一行显示字样为RFID时代表当前为门禁卡验证模式。当门禁卡验证成功时,绿色的LED指示灯会亮起,提示已通过验证解锁完成,同时OLED显示屏右下角会显示出OK的字样,表示已完成解锁,正如图11(a)所示。当门禁卡验证失败时,红色的LED指示灯会亮起,提示未通过验证未完成解锁,同时OLED显示屏右下角会显示出ERR的字样,表示解锁失败,并且此时蜂鸣器会发出刺耳的警报声,如图11(b)所示。
3.4 Wi-Fi模块测试
通过手机特定软件输入该系统设计的唯一API和ID之后即可远程控制该系统设计的解锁功能,当系统未解锁时,手机App上显示门状态为0,如图12(a)所示,当系统解锁时。手机App上显示门状态为1,如图12(b)所示。可以在OLED显示屏上显示为任意解锁模式时都能通过此方式打开。按下打开按键,此时该设计的绿色LED指示灯会亮起,提示已通过验证解锁完成,同时OLED显示屏右下角会显示出OK的字样,表示已完成解锁,正如图12(c)所示。
4 结束语
综上所述,由STM32F103C8T6主控芯片、按键模块、指纹模块、射频模块和Wi-Fi模块及其他辅助电路组成了一款多重验证、用户权限分级的指纹密码射频锁Wi-Fi控制系统设计。该系统在指纹密码解锁方式的基础上,添加了射频解锁以及手机远程控制解锁功能,提高了单一指纹解锁的多样性以及安全性,该系统还设置了一个管理员密码,可以通过该密码来完成对整个门锁的设置与控制,为降低错误率,在该系统中,指纹模块使用的是光学采集技术,使用状态机的方式,对其进行指纹匹配步骤的检测。此外,解锁指纹是利用两次指纹输入,来提高所获取指纹的可靠性与系统的安全性。试验结果显示,相较于传统门锁,其在解锁的安全性、多样性和使用的舒适性上都有一定程度的提高。
参考文献:
[1] 刘滨.基于STM32的指纹识别系统的研究[D].秦皇岛:燕山大学,2014.
[2] 刘燕.基于STM32的指纹密码识别装置[J].现代计算机,2022,28(15):117-120.
[3] 万新峰,杜鑫,洪旭,等.基于STM32的射频系统设计[J].电子质量,2014(12):34-40.
[4] 陈朋谊,房宇佳,甘伟鹏,等.基于STM32微控制器的Wi-Fi图传系统设计[J].科技创新与应用,2021,11(19):44-46.
[5] 顾姗姗,杨宇航,杨忠,等.基于STM32的智能指纹门禁系统设计[J].金陵科技学院学报,2021,37(1):51-54,60.
[6] 罗茹萍,谢还珠,王海兰,等.基于STM32的指纹密码锁控制系统[J].信息技术与信息化,2021(7):179-182.
[7] 信海辉,张姗姗.物联网RFID技术的安全隐患与改善对策[J].信息与电脑(理论版),2020,32(2):196-197.
[8] 郭晓凤.基于STM32F103的无线WIFI智能灯光控制系统设计[J].电子测试,2020(20):40-41.
[9] 姚丽娜.基于STM32的WIFI智能小车[J].电脑知识与技术,2021,17(24):106-108,123.
【通联编辑:梁书】