微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 一种智能家居指纹识别门禁系统设计方案

一种智能家居指纹识别门禁系统设计方案

时间:04-27 来源:3721RD 点击:

三、指纹识别门禁系统软件开发

该系统基于Linux操作系统,将自动指纹识别系统移植到嵌入式Linux,在Linux上进行指纹识别系统的软件设计,指纹识别系统的软件设计包括四个方面:上位机与AVR串口通讯、上位机与指纹模块串口通讯、维护MYSQL以及脚本发送报警。

1、指纹识别的处理过程

如图4所示:首先对串口进行初始化,打开串口设备0、1,设置串口参数,恢复串口未阻塞状态,串口初始化成功后执行用户选择功能:注册开门账号或注册关门账号或运行门禁服务[N/C/R].选择系统功能N后注册新开门用户,对同一指纹共获取3次图像,与传统采集一次图像相比,杜绝了随意采集造成的注册指纹不精和验证时不易识别的问题。采集指纹成功后输入用户个人信息,注册来自上位机数据库的新ID号并把该用户指纹信息存入数据库,然后选择是否继续添加用户。同理用户选择系统功能C后完成注册关门用户的操作。

用户选择系统功能R后运行门禁服务,一方面AVR查询当前门锁状态,例如把开门的命令赋给门的匹配状态,如果指纹匹配操作FPI和门的匹配状态相同,则由继电器接收来自AVR的开门命令,带动电机执行开门动作,并且记录当时时间,向本地数据库添加一条新的用户使用记录并写进日志里。同理执行关门命令。另一方面AVR查询当前电机电流等级,将门锁的实时开关状态,由谁执行开关门动作和当前门锁电机电流状态通过邮件的方式发送给用户,实现对门的实时监控,大大增强了门禁系统的安全性。

2、报警邮件的发送



图4系统工作方式流程图

Raspberry Pi上的ARM通过RS 232串口接收来自AVR定时地对门禁状态和电流状态的查询信息,并编写Shell脚本程序,利用wifi通过串口传送给邮件发送模块,将报警内容发送到指定的用户邮箱中来定时监控门锁的状态。程序如下:

这一部分完成信息的打包并将报警内容发到指定邮箱中的功能。AVR定时检测门的状态和当前电流的状态,当没有人执行开关门操作时,door.log的内容为"0",当有人执行开关门操作或者电流超过一定数值时,door.log内容为"1",其中开关门锁包含两种情况:一是已注册的用户通过指纹识别成功实现开关门锁;二是没有注册过的用户指纹识别失败但是打开了门锁。文件夹从数据库调用这一数据并将数据发送到指定用户的邮箱里,然后door.log重新变为"0",如此循环检测门的状态。

Raspberry Pi上的ARM通过RS232串口接收来自AVR定时地对门禁状态和电流状态的查询信息,并编写Shell脚本程序,利用wifi通过串口传送给邮件发送模块,将报警内容发送到指定的用户邮箱中来定时监控门锁的状态。

四、指纹识别门禁系统测试

为检验该指纹识别门禁系统的性能,打开Linux程序,注册登记4个不同的指纹,然后用不同的手指作指纹识别测试。分别观察指纹识别成功和失败时执行机构的动作,一共测试50次,部分系统测试结果的邮件正文内容如表1所示。



表1系统测试结果表

由表1可以看出,邮件的内容包括ID、Name、Action、Date四项。其中前七行是已注册过的用户通过指纹识别成功实现开关门锁,所以邮件中会有他们的ID号和姓名信息,而最后一行的用户指纹识别失败但是打开了门锁,所以邮件中将他们的ID和姓名设置为NULL,提醒管理员特别注意当时门锁状态以实现管理员对门状态的定时监控。

五、总结

文中基于指纹识别技术采用FPI指纹识别模块,结合Linux设计了指纹识别门禁系统,设计的一个特点是基于Linux操作系统,建立并发执行环境,提高CPU的利用率,并且用Raspberry Pi主控模块和无线通讯模块使得整个结构更加简单,对系统性能有一个明显的提高。另外一个特点是定时检测门锁状态并采用无线通讯方式向用户发送报警邮件,大大增强了门锁的安全性。实用测试结果表明,系统运行良好,能够进行可靠安全的指纹识别,准确、快速地完成个人身份的验证实现开关门功能和定时快速的邮件报警操作。在后续的工作中,系统可以实现现有程序的稳定性提升,以提高系统的性能使指纹门锁功能更加完善。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top