本文通过将GPRS技术与指纹识别技术相结合,将GPRS设备终端接入网络,实现了无线指纹身份验证的功能。
1 系统设计构思
GPRS指纹身份验证系统主要由指纹身份验证终端和身份验证服务器两部分组成。系统工作原理图如图1所示。其中,GGSN(Gateway GPRS Support Node)为网关GPRS支持节点。
指纹身份验证终端和指纹身份验证服务器均可划分为更小的子模块:前者包含指纹验证模块和GPRS模块两个子模块;后者则由指纹录入模块和服务器管理软件两个子模块构成。图2给出了完整的系统结构框图。
2 系统硬件设计
指纹身份验证终端包括键盘模块、时钟模块、液晶显示模块、指纹识别模块和GPRS模块,以及能够直观地提示系统运行状态的指示灯。其硬件结构框图如图3所示。
系统选用Freescale公司高性能、低功耗的MC68HC908GP32(简称GP32)芯片作为主控芯片。
2.1 指纹识别模块硬件接口设计
TF-MD-M1指纹识别模块提供标准的串行通信接口,具有发送引脚UART_Tx和接收引脚UART_Tx。 GP32通过内部集成的增强型串行通信接口,可以很方便地实现与指纹识别模块之间的通信。由于双方接口电平都为TTL电平,能够相互驱动,不需要进行电平转换,直接对应连接即可。
2.2 GPRS模块硬件接口设计
本文利用GPRS模块来实现终端与服务器端之间的数据收发。GPRS DTU(Data Terminal Unit,数据传输单元)对外提供RS232或者RS485的通信接口。由于GP32主控板与GPRS DTU之间的通信距离较短,一般不会超过50 cm,RS232接口足以保证两者之间的正常通信。因此,选用RS232接口与GPRS DTU进行数据收发。
图4给出了GP32与GPRS模块的硬件接口。
3 系统软件设计
本系统的软件设计主要包括两大部分,即指纹身份验证终端的软件设计和服务器管理软件的设计。这两大部分分别实现不同的功能,且互相配合共同实现基于GPRS的网络指纹身份验证功能。
3.1 指纹身份验证终端的软件设计
如图5所示,终端软件主要由3个模块构成:分别为人机交互菜单、对指纹识别模块二次开发以及控制(3PRS模块进行数据收发。其中人机交互菜单模块实现了切换操作界面、扫描按键、录入数据及管理选项等功能。
3.1.1 主函数的程序设计
图6为主函数的程序流程。首先进行一系列的初始化工作,包括GP32芯片初始化(设置内部总线频率为20MHz和禁止COP模块),键盘初始化(中断允许),液晶初始化,串口初始化(波特率为19 200 bps、接收中断允许等),系统数据初始化,中断初始化(开放键盘中断、串口接收中断和总中断)等。然后,查询GPRS模块的连接情况,若成功连接上指纹身份验证服务器端,则进入主循环;若连接失败,则退出程序并给出故障提示。
3.1.2 对指纹识别模块二次开发的程序设计
对指纹识别模块进行二次开发关键在于应用指纹产品提供的二次开发协议。由于指纹身份验证终端需要存储已注册用户的指纹特征码数据,故对指纹识别模块二次开发的程序需要管理该指纹库,提供诸如添加、删除等基本操作功能。当用户进行身份验证时,需要将现场采集的用户特征码数据与指纹库中的指纹特征码数据进行逐一匹配,通过判断能否找出匹配指纹数据来确定该用户是否为合法用户。因此,必须利用1:N指纹比对的功能。表1给出了实现指纹识别模块部分功能的函数列表。
3.1. 3 控制GPRS模块进行数据收发的程序设计
GPRS模块提供用户数据报协议UDP和传输控制协议TCP两种通信传输模式。考虑到可靠性的要求,本文选用TCP协议进行远程传输数据。
控制GPRS模块进行数据收发分为3个步骤:首先对GPRS模块进行参数设置,然后规定指纹身份验证终端和服务器之间的网络通信格式,最后执行数据收发的具体操作。
其重点在于两者之间TCP连接的建立,一旦连接成功,终端GPRS模块与服务器端之间将搭建起一条透明的传输链路。对于被透明链路连接的双方,发送时只需将数据按通信格式打包后直接传送,接收数据时也只需对数据帧进行分析处理。
3.2 服务器端管理软件的设计
服务器端管理软件专门为指纹身份验证终端提供网络连接服务,以实现身份验证数据的实时采集,并将实时数据存储于数据库中以便管理。服务器的管理软件由4个模块组成,分别为与指纹录入模块的通信模块、数据库管理模块、接口界面模块和网络通信模块,如图7所示。
数据库管理模块又细分为管理员信息管理、员工信息管理、押运线路信息管理和身份验证日志信息管理4个子模块。服务器端的管理软件对整个系统的操作行为进行规范和控制,指纹身份验证终端用于身份验证的指纹数据库需要从服务器端获得,因此要求每一个身份验证用户必须先在服务器端注册个人基本信息,并使用指纹录入模块提取指纹特征码数据。
指纹身份验证服务器在网络通信方面的主要功能是接收和发送TCP协议的IP数据包,以实现与指纹身份验证终端的GPRS模块的IP协议通信。网络通信程序的功能包括:与GPRS模块建立TCP连接;对接收到的工作数据帧进行处理;向指纹身份验证终端传送应答数据帧。
其中,服务器建立TCP连接的步骤如下:
①服务器管理程序建立ServerSocket,侦听指定端口,等待GPRS模块的连接请求。
ServerSocket=New TcpListener(“6060”) //在6060端口上监听
②当服务器侦听到来自指纹身份验证终端的连接请求时,接受此请求并建立对应的Socket,该Socket将作为该TCP连接及后续收发数据的依据。至此完成了服务器与前端GPRS模块的TCP通道的建立。
Dim n As Socket=ServerSocket.AcceptSocket() //创建新的套接字与终端连接
③从套接字中获取数据,服务器将处理接收到的数据帧,按协议规定格式解析后作相应处理。
Dim MyBuffer(12)As Byte //创建接收缓冲区
Dim DataNum As Integer //接收到的数据个数
DataNum=n. Receive(MyBuffer) //将数据从套接字中读取到接收缓冲区中
在TCP通道建立后,服务器接收到指纹身份验证终端发送过来的数据帧,按照通信协议的规定格式对数据进行分解,并进行相应的处理。
服务器管理软件处理完终端传送来的数据帧后,将处理结果按规定的应答帧格式进行封装,放入发送缓冲区内,最后通过已经建立的TCP连接传送给前端的指纹身份验证终端。至此完成了一次数据通信。
4 结论
随着GPRS技术应用范围的不断增加,该技术成本不断降低,通信可靠性变得更高,在市场中得到了更为广泛的认可。本文将GPRS技术和指纹识别技术相结合实现身份验证系统,将其应用于保安押运行业,大大提高了管理效能及安全性。随着第三代移动通信技术(3G)的不断发展,将移动通信技术应用于身份验证系统中实现员工的身份识别,不仅为现有保安行业管理系统的升级提供了支持,而且能有效地应用于其他行业,为其他行业身份验证系统的应用研究提供了一种参考模型。