基于物联网的指纹识别系统研究
2022-12-05曾海燕慕文静
曾海燕,慕文静,韦 燚
(广西民族师范学院,广西 崇左 532200)
随着人民生活水平的不断提高,科学技术不断地改变人们的生活方式,比如传统的开锁只能使用钥匙进行开锁,传统的支付方式从现金支付到线上支付,线上支付需要输入密码,输入密码即要求使用者要记住繁琐的密码,同时又要注意防止不法分子的窥探,过于简单的密码容易被破解,复杂的密码不便于记忆,且不同的系统使用相同的数字密码,一旦密码被破解,极易导致严重的损失,因此人们往往针对不同的应用设置不同密码,这种状态下,密码存储、记忆便容易产生混淆,密码重置流程繁琐且效率低下,导致智能应用不再智能,而是给人们带来烦恼。指纹的特点是唯一性、长期稳定性,人的年龄在增长,但其指纹始终保持一致,指纹也不会因为受外力破坏而变化,具备自我修复能力,修复后保持跟原来的指纹特征完全一致,而且世界上没有指纹完全一样的两个人。同时,指纹是每个人随身携带的,不需要记忆,不可隐藏,这对于某些特殊应用领域,比如刑侦办案等方面,通过指纹识别,便可提供有力证据,指纹不会因某些特殊个体的故意隐瞒或者故意歪曲而变化。指纹自身的特点,给指纹识别这一应用带来广阔的前景[1-3]。
基于物联网的指纹识别技术更是将指纹识别与物联网技术的优势结合,将指纹识别应用覆盖到人们生活的每一个角落。物联网技术就是借助网络将万物互联,基于物联网的指纹识别技术就像一把打开世界万物的钥匙,这把钥匙关键在于指纹识别技术,钥匙随时掌握在使用者手中,可随时随地使用,不必担心被人窥探,不必担心遗忘密码。通过指纹识别,从而识别用户身份,身份匹配后,通过物联网向受控物体发出指令。物联网技术的发展对推动该项技术的发展提供了不竭的动力,使得指纹信息识别技术的发展成为可能,如果说指纹识别是一把钥匙,那么物联网技术便是将这把钥匙所控制的范围不断拓展的载体,通过物联网可以将指纹识别技术应用到工业生产、商业活动及金融系统等多个领域,基于物联网的指纹识别技术在未来的发展和应用场景上甚是可观[4-5]。
1 系统总体设计思路
本文设计的这一款基于物联网的指纹识别系统采用具有高精度算法的AS608指纹识别模块,系统主控模块采用的是STM32的最小核心板STM32F103C8T6,实现采集录入、增加删除、验证等功能。液晶显示菜单可以显示录入指纹、指纹验证及指纹删除的状态,指纹验证结果通过LED不同颜色加以区分。控制器串口通信协议和ⅠⅠC通信协议关联AS608指纹识别模块和OLED液晶显示器,通过ⅠO引脚接收按钮的控制信号。在设计过程中,所提供的液晶显示模块应当展示的菜单需要根据用户输入的指令改变而改变,所提供的初始的菜单页面含有3种功能,提供多个按键,进行功能的选择。当用户点击某一个功能,便会跳转到指定页面,并长时间停留在这个页面,等待用户的下一个指令,当停留时间过长,自动退回主菜单界面。页面展示的文字描述内容也会随着功能不同而改变,同时会触发LED灯发光。需要注意的是,要给LED灯串联一个限流电阻,起到保护作用,避免二极管烧毁。通过不同颜色的LED灯对指纹识别的状态加以区别,比如状态错误显示红灯、状态正确显示绿灯。当在录入指纹、识别指纹的时候,蓝色LED状态灯会闪烁,能够便于用户查看状态。当用户在录入指纹成功、验证指纹成功、删除指纹成功都会以绿色状态灯长亮提示。当两次录入的指纹不同时或者进行指纹验证失败会以红色状态灯长亮提示。用户以非录入指纹进行多次验证,系统会以当前验证的指纹用户为非法用户,进行报警处理,此时的红色状态灯为闪烁状态,蜂鸣器也发出鸣声报警。
2 系统硬件设计
2.1 硬件设计过程
本文设计的指纹识别系统包含单片机主控模块,用于控制整个系统协同工作;指纹识别模块用于指纹数据的识别、对比;LED状态模块根据指纹识别的结果控制LED显示颜色,从而对指纹识别结果加以区分;通过按键模块将输入信息转换为数字控制指令;报警模块根据识别结果输出声音报警;传感器模块负责采集数据。
设计的系统主要实现指纹录入、指纹删除、指纹验证、液晶菜单显示、报警功能、状态灯显示及实时监测等功能。液晶主界面显示当前的信息、指纹功能菜单,通过按键来控制指纹的功能并跳转到指纹功能界面,指纹验证结果是否匹配则通过不同的LED灯颜色直观体现,验证结果匹配则亮绿灯,结果不匹配则亮红灯。系统电路原理如图1所示。
图1 系统电路原理图
2.2 系统采用的主要模块及其功能
主控模块采用的是STM32的最小核心板STM32F103C8T6,单片机主控模块对整个系统起到控制的作用,协调各个模块的正常运行,将数据解析并对其进行处理。指纹识别模块采用的是AS608,通过光学成像技术,采集指纹的曲线、折点等关键信息,生成指纹特征文件,该模块采用的是串口通信协议,方便与系统对接,数据传输延时率低。结合LED模块,通过指纹录入、删除、验证操作是否成功给出不同颜色的LED显示。系统采用了5个轻触按键,每一个按键都具有不同的功能,并且切换到功能界面会影响的按键对应不同的功能,提供按键的可复用性。按键采用一组常开状态的2个引脚,采用低电平输入的方式。当按键按下,常开的2个会闭合,形成短路的状态,会将低电平输入到主控模块,从而进行下一步操作。报警模块采用的是有源蜂鸣器,当多次指纹验证失败后,会认为当前指纹并不存在于指纹库,会做报警处理,当作非法验证的指纹处理。液晶显示模块采用的是OLED显示屏,主要是展示当前的信息,并提供功能菜单,每一个功能都有对应的界面。首页展示的是添加指纹、删除指纹、验证指纹,通过和按键配合使用,按下不同的按键可跳到不同的界面。
3 系统软件设计
3.1 系统主程序设计
主程序运行的流程如图2所示:首先初始化SHT30传感器、单片机输入输出引脚、AS608指纹识别模块、OLED液晶显示屏。初始化成功之后液晶显示屏会实时显示温湿度数据及功能目录,有“K1键添加指纹”“K3键删除指纹”“K5键验证指纹”。显示结果如图3所示。
图2 系统主程序流程图
图3 主界面结果图
3.2 添加指纹程序设计
指纹录入流程如图4所示,首先对指纹识别模块、LED状态模块、按键控制模块初始化,此时OLED液晶显示屏会展示功能菜单。按下K1按键之后会进入到指纹录入界面,OLED液晶显示屏显示“请按手指”的汉字并且蓝色的状态灯长亮。当长时间没有按下手指会跳转回到功能菜单,需要重新按下K1键才能再次进到指纹录入界面。当按下指纹之后,指纹录入正常则需要再按下一次,如果录入失败则导致红色状态灯长亮,并回退到功能菜单主界面。每次采集过程将进行2次采集,若2次采集结果不一致,则红色状态灯长亮。当指纹比对成功会自动生成指纹模板,并将指纹添加到指纹模板,此时需要设置指纹模板ⅠD,可通过K2,K4键设置指纹模板ⅠD,ⅠD值从00—99,可以存100个指纹,按下K4键指纹模板ⅠD加1、按下K2键指纹模板ⅠD减1、按下K3键保存当前的指纹模板ⅠD,如果当前指纹模板ⅠD已有指纹,会直接覆盖之前的指纹,按下K3键保存指纹之后,蓝色状态灯熄灭,绿色状态灯会长亮,然后退回到功能主界面。
图4 指纹录入流程图
3.3 指纹删除程序设计
指纹删除流程如图5所示,首先对指纹识别模块、LED状态模块、按键控制模块初始化。然后在功能界面按下K3键,跳转到指纹删除界面。此时页面显示的内容包含以下几种:按下K4对指纹模板ⅠD加1操作、按下K2键对指纹模板ⅠD减1操作、按下K1键返回功能主界面、按下K3键确认删除当前指纹模板ⅠD下的指纹、按下K5键删除指纹库的所有指纹。指纹模板的ⅠD长度从00—99,通过K2、K4指定想要删除的指纹,按下K3键删除当前指定的指纹。指纹删除成功之后,显示屏会展现“指纹删除成功”字样,绿色状态灯会发光,否则红色状态灯发光,并返回到主界面。
图5 指纹删除流程图
3.4 指纹验证程序设计
在功能主界面按下K5键,进入到指纹验证界面,如图6所示,指纹验证流程首先对指纹识别模块等模块进行初始化,以清除之前的缓存,此时界面显示的是“验证指纹”字样,蓝色状态灯发光,将手指放入AS608光学指纹模块的平板上,通过光学模块生成指纹图像,提取指纹图像的特征并与事先存储的指纹库进行比对,通过特征筛查输出匹配结果。当按下一个已经录入的指纹,也就是相匹配成功,绿色状态灯会发光。当按下一个并没有录入的指纹,指纹寻找不到相匹配的指纹,会录入失败,红色状态灯会长亮。验证成功之后,液晶显示屏会展示当前的指纹模板ⅠD并显示当前指纹验证成功的得分,当连续5次指纹验证失败,蜂鸣器会做报警处理。
图6 指纹验证流程图
4 结束语
本文从系统设计原理、思路及系统的软硬件设计等方面对指纹识别系统进行具体介绍,本系统提供指纹采集录入、增加删除、修改及验证等功能。通过对采集的指纹与指纹库进行特征匹配,输出指纹是否符合的结果,同时,系统可对指纹库进行增加、删除,确保指纹识别的准确、安全。本系统具有较强可扩展性,将指纹识别技术和物联网技术相结合,旨在构建一套基于物联网的指纹识别系统,结合物联网技术及指纹识别技术的优势,将指纹识别系统应用到更多领域。从本文所介绍指纹识别技术的特点、应用前景等,可见指纹识别系统是提高人民生活便捷性的必然趋势,因此指纹识别系统设计的可靠性决定了其具备广泛推广的潜力,相信在不久的将来,会有越来越多的关于指纹识别的应用在物联网技术加持下,走进寻常百姓生活的每一个领域。