时间:2024-05-04
郭茁蓬,简正波,向富平,祝秋香
(湖南城市学院信息与电子工程学院,湖南益阳 413000)
随着社会的进步与科技的发展,传统的个人认证方法(如密码、磁卡等)存在可以被伪造、被盗用等问题,不能充分适应现代社会对安保预防工作的要求。因此随着科技的发展,生物特征因为其固有的独特性、唯一性、稳定性、恒久性以及可采集性[1]。于是有了一种新的认证方式——生物识别技术。生物识别技术发展迅速,指纹识别逐渐代替钥匙应用于门锁安防,目前我国指纹识别技术相对成熟、成本低廉[2]。射频识别RFID 技术是一种非接触式自动识别技术,与传统识别技术相比,RFID 技术具有非接触、速度快、穿透力强等优点[3]。对于微控制器芯片想要实现复杂的识别和大量的计算是很难实现的,但是可以通过无线Wi-Fi 将数据传输给计算机识别运算算法,再将算法结果通过无线网络传输到微控制器,最后再做出决策[4]。综上所述该设计结合目前国内所得的研究成果,在他们的基础上制作了一款指纹密码射频锁Wi-Fi 控制系统设计。测试结果表明该设计实现了指纹密码解锁,门禁卡解锁以及Wi-Fi 远程控制解锁等功能,具有较高的安全性和精确度。
以32位单片机为中心,STM32是一款在低能耗嵌入式应用中占有举足轻重地位的低功率单片机。STM32 处理能力强,速度快,稳定性好;具有超低功耗,多种接口,可扩展性强等优点。该模块是一块主要的控制单元,主要承担着对系统整体运行的控制、对数据进行处理、分析等功能。
系统总体设计框图如图1所示。
图1 系统总体框架
1)硬件电路总原理图
如图2便是本次毕业设计使用到的硬件的总电路图,其中包括了所有的模块的电路原理图,例如:STM32核心模块、按键模块、指纹模块、射频模块以及Wi-Fi远程控制模块。
图2 硬件电路总原理图
2)STM32F103C8T6单片机核心控制模块
STM32 系列的芯片是一款以ARM 为核心控制的芯片,它是由ST集团制造,它具有实时模拟与追踪功能。之所以使用这款控制芯片,是由于本系统设计并不单单为了达到本设计的最低能耗,它只是为了在完成本设计的功能的基础上,可以使用更多的界面以及功能,方便设计出更多的周边扩展电路。在完成了对STM32单片机课程的了解之后,这款单片机控制芯片的操作变得比较简单,它在各种电子设备中有着非常好的使用价值,并且它还拥有良好的学习和实验研究价值。
STM32 的主要优点:使用ARM 最新的内核;优异的实时性能;杰出的功耗控制;出众及创新的外设;最大程度的集成整合;易于开发。该设计的所有的插脚和外围设备以及软件都具有非常强大的兼容性,为设计提供了很大的灵活性。
STM32F103C8T6 单片机最小系统原理图如图3所示。
图3 STM32F103C8T6单片机最小系统原理图
3)指纹模块
以STM32F103C8T6为主控芯片,由AS608指纹模块识别和存储采集到的指纹信息,由STM32主控制程序处理指纹信息,最后将处理结果传送到OLED 液晶屏幕显示[5]。它是基于全反射原理的亮背景指纹采集工作原理。光学通过LED 灯射出,经过手指按压,光线反射通过透镜进入传感器,最后被传感器识别[6]。采集原理图如图4所示。AS608指纹模块的原理图如图5所示。
图4 指纹采集原理图
图5 AS608指纹模块原理图
4)射频模块
由RC522 射频模块识别和存储采集到的门禁卡信息,STM32 主控程序处理信息后将结果传送至OLED 显示屏上。RFID 技术是物联网得以实现的关键部分,主要表现为无线射频技术不再需要和物体之间建立硬性连接,就可以实现各个物体之间的信息交流[7]。RC522射频模块的原理图如图6所示。
图6 射频模块原理图
5)Wi-Fi模块
本设计应用STM32 单片机和ESP8266 Wi-Fi 模块设计了远程解锁控制系统[8]。利用PC 端的Wi-Fi 串口通信向系统发送指令,STM32主控制器根据接收到的指令对系统进行操作[9]。ESP8266 Wi-Fi 模块的原理图如图7所示。
图7 Wi-Fi模块原理图
在该方案中,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所示。
图8 主程序流程图
当OLED显示屏上第一行显示字样为FINGER时代表当前为指纹验证模式。当指纹验证成功时,绿色的LED 指示灯会亮起,提示已通过验证解锁完成,同时OLED 显示屏右下角会显示出OK 的字样,表示已完成解锁,正如图9(a)所示。当指纹验证失败时,红色的LED 指示灯会亮起,提示未通过验证未完成解锁,同时OLED显示屏右下角会显示出ERR的字样,表示解锁失败,并且此时蜂鸣器会发出刺耳的警报声,如图9(b)所示。
图9 指纹验证测试图
当OLED 显示屏上第一行显示字样为KEY 时代表当前为密码验证模式。当密码验证成功时,绿色的LED 指示灯会亮起,提示已通过验证解锁完成,同时OLED显示屏右下角会显示出OK的字样,表示已完成解锁,正如图10(a)示。当密码验证失败时,红色的LED 指示灯会亮起,提示未通过验证未完成解锁,同时OLED显示屏右下角会显示出ERR的字样,表示解锁失败,并且此时蜂鸣器会发出刺耳的警报声,如图10(b)所示。
图10 密码验证测试图
当OLED 显示屏上第一行显示字样为RFID 时代表当前为门禁卡验证模式。当门禁卡验证成功时,绿色的LED 指示灯会亮起,提示已通过验证解锁完成,同时OLED 显示屏右下角会显示出OK 的字样,表示已完成解锁,正如图11(a)所示。当门禁卡验证失败时,红色的LED 指示灯会亮起,提示未通过验证未完成解锁,同时OLED显示屏右下角会显示出ERR的字样,表示解锁失败,并且此时蜂鸣器会发出刺耳的警报声,如图11(b)所示。
图11 门禁卡验证测试图
通过手机特定软件输入该系统设计的唯一API和ID之后即可远程控制该系统设计的解锁功能,当系统未解锁时,手机App上显示门状态为0,如图12(a)所示,当系统解锁时。手机App上显示门状态为1,如图12(b)所示。可以在OLED 显示屏上显示为任意解锁模式时都能通过此方式打开。按下打开按键,此时该设计的绿色LED指示灯会亮起,提示已通过验证解锁完成,同时OLED显示屏右下角会显示出OK的字样,表示已完成解锁,正如图12(c)所示。
图12 解锁功能测试图
综上所述,由STM32F103C8T6 主控芯片、按键模块、指纹模块、射频模块和Wi-Fi 模块及其他辅助电路组成了一款多重验证、用户权限分级的指纹密码射频锁Wi-Fi 控制系统设计。该系统在指纹密码解锁方式的基础上,添加了射频解锁以及手机远程控制解锁功能,提高了单一指纹解锁的多样性以及安全性,该系统还设置了一个管理员密码,可以通过该密码来完成对整个门锁的设置与控制,为降低错误率,在该系统中,指纹模块使用的是光学采集技术,使用状态机的方式,对其进行指纹匹配步骤的检测。此外,解锁指纹是利用两次指纹输入,来提高所获取指纹的可靠性与系统的安全性。试验结果显示,相较于传统门锁,其在解锁的安全性、多样性和使用的舒适性上都有一定程度的提高。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!