一种智能蓝牙指纹密码锁的设计与实现

2023-09-21 01:36胡艳茹
物联网技术 2023年9期
关键词:蓝牙管理员指纹

胡艳茹

(宁夏师范学院,宁夏 固原 756000)

0 引 言

一直以来,人们为了保护人身和私有财产安全,发明了很多种门锁,且每种门锁都需要用独一无二的钥匙去开启。随着时代的发展,人口大幅度上升,加上人们生活越来越好,置办的房子也越来越多,以致在门锁安全意识方面也逐渐增强,对门锁的要求也随之上升[1]。仅仅是方便使用还不够,同时还要求更加安全可靠。因此,传统门锁的安全性,早已无法满足社会发展的现实需要。毕竟,传统门锁要随身带着一大串钥匙,非常不方便。同时传统的锁具构造还是过于简单,所以门锁被撬是很常见的。为了解决上述问题,满足人们的需求,各种电子密码锁应运而生[2-3]。电子密码锁由2 部分组成:一是电子电路控制系统;二是机械部分。通过两者的结合,电子锁更难被破环,而且密码设置非常难以破解,倘若尝试破解,若错误则会立刻发出报警声。这一系列手段都大大提高了门锁安全性。同时,电子密码锁用密码等手段替代钥匙,解决了钥匙易丢失以及被伪造的问题。

本文设计了一个由单片机控制的蓝牙指纹密码锁控制系统,其能达到的功能如下:

(1)数字密码开锁:采用6 位密码,若是密码正确,锁会打开;同时,可进行密码更换。

(2)指纹开锁:利用指纹生物特性,以唯一性同时实现安全防护和快捷便利开锁的目标。

(3)手机蓝牙开锁:利用无线技术,以蓝牙为媒介,让手机连接门锁,进而实现无线解锁。

(4)智能报警防盗;若输入密码不对或指纹不清晰,会发出提醒;若三次输入错误密码,则锁定输入密码电路一段时间。

(5)管理员权限模块:录入指纹、删除指纹、手动开锁、修改密码四项。

1 系统总体设计

基于单片机的蓝牙指纹密码锁控制系统的总体框架设计如图1 所示。本设计的中心控制器是STC89C52 单片机,负责数据处理,并且数据会从中心控制器反馈显示在LCD 显示模块上,让操作者知道下一步的具体操作。继电器模块则是最终执行端,完成开锁动作。蜂鸣器报警模块受单片机控制,要按照程序设定,及时长鸣报警。

图1 基于单片机的蓝牙指纹密码锁系统的总体框架

在具体的功能实现上,此次设计设想将电子锁控制制定为2 个模式,可以简易理解为前后台模式。在前台模式下为一般操作,直接面对开锁者,让其直接输入指纹、数字密码或者连接蓝牙开锁。在后台模式下,只有管理员才有权限进行操作,具体操作为指纹的添加及删减,以及必要时刻的手动开锁和数字密码修改。

首先,在一般操作模式下,按下一个选择键,直接选择数字密码开锁;输入6 位数字密码,再按下确定键,若密码正确即可实现开锁,再按下任意一个键即可返回主界面。倘若输入的6 位密码是错误的,会在显示屏界面中,显示输入错误的提醒,以及剩余输入密码的次数。当3 次输入数字密码错误之后,蜂鸣器长鸣,并且数字密码电路会锁死一段时间。刷指纹开锁也是同样的道理,开锁者在指纹头上“输入密码式”地刷自己的指纹即可,指纹识别成功便开锁;若指纹无法识别,蜂鸣器也会长鸣报警。蓝牙开锁在某种意义上是以蓝牙模块为接收端,手机APP 作为发送端。本次设计中蓝牙芯片接收来自手机APP 的数据信息,并以串口通信的方式将数据信息传送到单片机,让单片机对数据信息进行处理。如此,就算是实现了单片机微控制器与手机APP 之间的无线通信。蓝牙开锁本质上是以手机APP 替代实物键盘,相当于将线下的实物键盘搬到了线上。

其次是管理员模式操作,这是基于总设计任务以及硬件仿真中的设计目标而设计出来的一个模式,其负责“后勤”管理,为前台操作做准备。比如指纹的增加和删除、密码的更改都在此模式下操作。同时,为以防万一,管理员还能直接按键开锁。指纹录入就是录入图像、合成模板,每个指纹都有自己的编号,这是按照录入的先后顺序排列的。删除指纹时,只需要输入相应的指纹编号即可。手动开锁就是一个应急开关,防止指纹因为环境不能应用并且忘记数字密码的情况。修改密码是需要输入2 次新密码,完成之后即可生效,再输入旧密码一定是无效的。

最后,需要注意的是,本次设计选用的STC89C52 的串行输入口(P3.0--RXD)和串行输出口(P3.1--TXD)都只有1 个,所以指纹、蓝牙2 个模块共用这2 个串行口,即P3.0(RXD)、P3.1(TXD)。因此,在电路设计中,使用了2 个行程开关实时切换,使得STC89C52 得以控制这2 个模块的通信。具体情况是,2 个行程开关断开的状态下是蓝牙模块与STC89C52 的串口连接,2 个行程开关闭合的状态下是指纹模块与STC89C52 的串口连接。

2 软件设计

根据设计任务建立了基本框架和设定了各模块的功能之后,开始利用Keil 编写程序。在硬件设计中对各个模块部分的设定已经完成。利用Keil 编写的程序也是以此为基础。

本次设计的主程序主要由液晶显示、指纹程序、按键程序共3 部分组成。指纹及按键密码子程序中具体包含的程序块分别有:密码开锁、刷指纹开锁、管理员权限、增加指纹、删除指纹、更改密码、手动开锁。规划后制定出来的程序流程如图2 所示。

图2 主程序流程

2.1 数字密码开锁

在硬件设计的基础上设计出来的程序流程如图3所示。

图3 数字密码开锁流程

2.2 指纹开锁

指纹开锁子程序设计的编写即是完成刷指纹开锁这一个程序方块。刷指纹则要自动验证指纹,即录入开锁者指纹图像便会生成图像特征,如此照单搜索查找[4-8]。刷指纹开锁的程序流程如图4 所示。

图4 指纹开锁流程

2.3 蓝牙开锁设计

本文设计的蓝牙开锁方案是下载一个手机蓝牙APP 应用替代实物键盘,建立一个移动的线上键盘。蓝牙开锁所应用的是前面开发编译的指纹按键密码等的C 语言程序。在这里重点讲的是蓝牙配置的设计,这个配置是要给蓝牙模块进行基本的参数设计,包括蓝牙的名称、配对密码、工作模式、串口波特率等特性参数设定[9]。进行蓝牙模块参数设定时,可以在电脑上下载一个应用,即串口调试软件。然后,可用USB-TTL 使得蓝牙芯片连接电脑,让芯片在AT 模式中完成参数设置。

首先是工作模式参数设计。蓝牙模块一般会有3 种不同的工作模式,分别为主机、从机和回环这3 种工作模式[10]。主机的连接配对都是自动进行的,从机的配对连接是被动等待,回环的配对连接也属于被动,但是它会将接收的数据保持不变地原路传送回蓝牙主设备[11]。本次设计中,HC-05 蓝牙芯片模块要与手机APP 连接以接收数据,所以扮演的是接收端的角色,故HC-05 蓝牙芯片要设定为从机模式,手机才是主动连接的发送端。其次是蓝牙的名称和配对密码的设置。只有确定一个准确的名字才能在众多的蓝牙设备中快速搜索并确定,同时设置一个比较高级的连接密码也是实现防盗的关键性一步。最后,还要设计好串口波特率,让蓝牙芯片的波特率与单片机保持一致[12-13]。

2.4 管理员权限子程序设计

如图5 所示,在主程序流程图中设定了管理员模式,模式内部包含录入指纹、删除指纹、手动开锁、修改密码4 项。因此,管理员模式的程序设计篇幅极大,先是管理员权限程序设定,而后再编写4 个项目。管理员权限程序设定主要是LCD 显示设计、按键功能定义。录入指纹程序设计首先开始录入指纹图像,再生成图像特征形成模板,最后排序标注好序号存储[14-15]。删除指纹的程序设计相对简单,只要编写函数完成搜索即可设定删除。修改密码需要进行多项编写设定,手动开锁则相对简易。

图5 管理员流程

3 系统调试

系统上电以后,整体实物演示画面如图6 所示。其中,1 是STC89C52 单片机控制芯片,2 是LCD12864 液晶显示屏,3 是AS608 指纹头,4 是HC-05 蓝牙芯片,5 是选择蓝牙和指纹电路的行程开关,6 是5 V 有源蜂鸣器,7 是5 V 松乐继电器,8 是4*4 按键矩阵,9 是5 V 电源。

图6 整体实物演示画面

下面分4 个模块进行具体的调试,分别演示达到的功能。

(1)数字密码开锁调试

首先,在上电之后,LCD12864 液晶显示屏会明确显示“欢迎使用,指纹门禁系统,请按C 键开锁,请按手指开锁”。当选择C 键后,有“请输入密码开锁”的界面提示。数字密码一共6 位,但是显示的数字都以“*”代替,这是防泄密的设定。显示界面如图7 和图8 所示。

图7 系统上电界面

图8 输入数字密码开锁界面

密码正确后锁打开,有红灯亮起作为模拟结果,并显示“门已打开”,其界面如图9 所示。几秒后下一行再出现一行字“按任意键继续”,界面如图10 所示。密码错误后提示“密码错误,还有2(1)次机会”,界面如图11 所示。

图9 数字密码开锁成功界面

图11 密码错误界面

(2)指纹识别开锁调试

当手指伸向指纹头时,可被感应到,并且屏幕跳转,显示“请按手指开锁”,如图12 所示。若要选择指纹开锁,需要先按下2 个行程开关,再按下手指完成识别,没有录入存储的指纹则无法识别,提示搜索不到的界面如图13 所示。若能识别通过,继电器会有动作,LED 红灯也会亮起,并显示“门已打开,编号003(001)”,其界面如图14所示。

图12 指纹头感应到指纹界面

图14 指纹成功开锁界面

(3)蓝牙开锁调试

完成手机蓝牙APP 与HC-05 蓝牙芯片连接之后,即可让手机蓝牙APP 替代线下键盘的众多操作,比如数字密码开锁、进入管理员模式等。具体如图15、图16、图17 所示。

图15 手机线上键盘

图16 线上数字密码输入界面

图17 线上开锁界面

(4)管理员模式调试

若想进入管理员模式,选择按键A。在管理员模式中,显示屏上提示“按键1,增加指纹;按键2,删去指纹;按键3,手动开锁;按键4,修改密码”。显示界面如图18 所示。

图18 管理员模式

按下2 个行程开关,再按下键1,选择增加指纹,此时会有提示“请按手指”,如图19 所示。指纹有点脏时会影响采集效果,导致指纹采集失败,如图20 所示。手指擦拭干净之后,指纹采集成功,并赋予编号,如图21 所示。

图19 添加指纹界面

图21 添加成功界面

选择键2,进入指纹删除,如图22 所示。指定要删除的指纹号,即可显示“删除指纹号成功”,如图23 所示。紧急情况下,进入管理员模式,按下键3,就可以马上开锁,如图24 所示。

图22 输入指纹号界面

图23 删除成功界面

图24 手动开锁界面

选择键4,进行密码更改,界面提示“请输入新密码”,而后直接输入新密码,如图25 所示。第一次输入新密码后,界面再次提示“请再次输入新密码”,如图26 所示。完成两次后,密码修改完成,如图27 所示。

图25 新密码首次输入界面

图26 新密码再次输入界面

图27 密码修改完成界面

4 结 语

本文设计了一种智能蓝牙指纹密码锁,可以通过数字密码、手机蓝牙APP、指纹3 种方式开锁。首先是采用6 位数字密码输入,密码输入正确可驱动开锁,同时正确输入1 次密码后即可进行密码更换;若3 次输入错误密码,则蜂鸣报警并且锁定输入密码电路一段时间。其次是利用生物指纹特性解锁,若指纹不清晰或者不对应则蜂鸣报警,以唯一性同时实现安全防护和快捷便利开锁的目标。最后实现手机蓝牙APP 无线解锁,使手机蓝牙APP 与单片机连接,当手机蓝牙APP 完成连接后就可以替代固定的线下按键键盘,以数字密码的方式开锁。此款多功能电子锁,不仅解决了便携性的问题,更是大大增强了防盗性。

猜你喜欢
蓝牙管理员指纹
像侦探一样提取指纹
我是图书管理员
我是图书管理员
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出
基于自适应稀疏变换的指纹图像压缩