基于B/S结构的嵌入式指纹识别及管理终端分析

2013-08-20 01:55黄秀亮
网络安全技术与应用 2013年8期
关键词:驱动程序指纹识别键盘

黄秀亮

(湖南信息职业技术学院 湖南 410200)

0 前言

目前已经将嵌入式结构应用到了指纹识别系统中,但是大部分还没有联网能力。有少数的指纹识别系统拥有联网能力,它们大多都采用这样的架构,前端是嵌入式平台,PC机是服务器,以太网连接着嵌入式平台和服务器;前段作为采集和识别指纹的平台,指纹的存储和管理是在服务器端进行。本文主要研究的是基于B/S结构的嵌入式指纹识别与管理终端,它采取了与嵌入式平台/服务器架构完全不同的指纹识别系统架构。这个终端在完成一些基础功能的基础上,比如采集、识别、管理、存储指纹等等,还可以有效的连入internet,这样指纹信息管理者就可以经过一些步骤在任意一台的浏览器中将指纹模板信息、指纹图像信息提取出来,并且还可以有效的对指纹日志信息进行查询。

1 总体设计

本系统采用的硬件平台是基于S3C4510B微控制器,然后将cclinux操作系统和相关的驱动程序移植到这个终端上,编写程序的时候就可以依据这个uclinux操作系统,从而有效的处理指纹。同时,还移植了支持公共网关接口的HTTP服务器软件,这样就可以在本系统终端上将Webserver的功能给提供出来,并且为了满足internet上的浏览器可以访问本终端,还编写了相关的CGI程序。

本终端设置了多个功能模块,比如基本的显示模块和键盘以及Webserver等,同时还包括了指纹采集、指纹识别以及指纹存储和指纹管理等模块。这几个部分的控制都是由uclinux操作系统上的总体控制程序来完成的,互相的协调和配合,就可以有效的采集、识别、存储以及管理指纹。用户的信息交互功能主要是由显示模块和键盘共同完成的,显示模块可以向用户展现指纹处理过程中的提示信息,管理员和用户系统则可以借助键盘部分将信息输入到系统中。

2 硬件结构

本系统的硬件结构主要包括两个部分,一部分是指纹模块,一部分是基于S3C4510B的硬件平台,RS232接口可以有效的将这两个部分连接起来。指纹模块的功能就是采集和识别指纹;可以依据具体的情况来选择适合的指纹模块,只要它可以将指纹的图像信息有效地采集起来,并且生成指纹模板,这些采集来的指纹信息往往会被储存在模块内部的flash中;在采集和识别指纹的时候,发布命令的工作是由串口来实现的。基于S3C4510B的硬件平台包括了很多部分,比如flash、sdram、usb控制芯片、串口、以太网接口、键盘等等。

3 软件结构

本终端上的软件结构是基于uclinux操作系统之上,是非常层次化的,主要可以分为三个层次:驱动层、核心层、应用层;culinux的驱动层软件位于最底层,主要包括各个方面的驱动,比如串口驱动、usb驱动、lcd驱动以及键盘驱动等等;uclinux操作系统的核心部分位于中间,最上面的是应用层软件,基于uclinux操作系统编写。应用层软件应该包括三个方面的内容,指纹处理应用程序,CGI程序和嵌入式webserver等。软件结构如图1所示:

图1 软件结构图

Uclinux及驱动程序的移植:因为uclinux适合的微处理器或者微控制器都不具备MMU,而S3C4510B没有内存管理单元,因此就可以移植uclinux系统。本文所讲的是uclinuxdist-20070130.tar.gz,因此,ISP116X主机控制器的驱动程序也附属在内核部分,采用的USB控制器芯片是ISP1161AI。在对uclinux操作系统进行移植的时候,首先应该对内核中的相关部分进行修改,修改的依据是硬件平台中配置的具体情况。然后对主机控制器驱动程序进行修改,修改时要严格依据ISP1161AI和S3C4510B之间的连接情况,要依据点阵式LCD和键盘的硬件连接来对字符型LCD驱动程序和字符型键盘驱动程序来进行编写。串口驱动是不需要进行修改的。在对uclinux内核进行编译的时候,需要对可能需要的驱动程序和应用程序进行选中;还需要选中USB mass storage support和scsi disk support,这是为了对U盘进行支持。Uclinux内核等到编译成功后就可以有效的存储U盘。

嵌入式Webserver的移植及CGI程序的编写:在uclinux操作下同下,主要提供了heepd boa thttpd三个webserver;httpd是最简单的webserver,因此具有最弱的功能。而thttpd和boa具有比较完善的功能,并且支持认证和CGI。根据本系统的特点,选择植入的嵌入式系统是boa,boa作为一项单任务的webserver,具有十分开放的源代码,并且具有比较高的性能。要想在culinux下对boa进行实现,就需要配置和修改boa,比如它的新建目录,指定webserver的根目录路径以及对boa.conf文件进行修改等等。CGI是一种通用接口标准,它可以有效的交互外部扩展应用程序与webserver,CGI在webserver上运行的,从而将一个执行外部程序的通道提供给webserver。因为uclinux可以有效的支持C语言,并且C语言平台具有无关性,且高效简洁的代码,那么在编写CGI程序的时候就选择了C语言。只要对CGI的应用程序进行了编写,并且将嵌入式webserver移植之后,指纹信息管理者在访问本终端时就可以通过internet上的浏览器。这样指纹信息的管理者在向本终端发送HTTP请求的时候,就可以通过浏览器来进行;并且还可以有效的将指纹模板信息和指纹图像信息给提取出来,还可以查询指纹日志信息。

指纹识别:在识别时,还可以同时在另一个自建数据库中建立相关的日志信息。如果指纹模板的数量在500以内,那么就可以采用“最近最多使用算法”,这样可以大大的提高识别时间。应用程序要想处理指纹,首先应该做的就是对硬件进行初始化,比如设置指纹模块的波特率、设置安全级别、初始化点阵式LCD、挂载U盘等等;然后将U盘中的指纹模板给调入到嵌入式平台中的SDRAM中,然后就可以有效的在数组中存储。完成了初始化工作之后,就可以处理指纹。

4 结语

本终端采用了小型化的嵌入式系统,并且在低廉价格的基础上,还拥有比较高的性能,从而有效的识别和管理指纹。在嵌入式指纹平台中应用B/S结构,这样访问本终端的时候,就可以利用IP地址来实现。本设计可以有效的动态管理指纹终端,并且不需要配置相关的服务器。本文简要介绍了基于B/s结构的嵌入式指纹识别及管理终端的总体设计、硬件结构以及软件结构,希望可以提供一些有价值的参考意见。

[1]杨永华.基于B/S结构的嵌入式指纹识别与管理终端[J].计算机工程,2009,35(4):276-278.

[2]牛为华.基于B/S结构的WEB应用模型[J].电力情报,2002,2(3):123-125.

[3]王京.B/S结构指纹考勤管理系统的设计与实现[J].软件导刊,2011,2(11):45-47.

猜你喜欢
驱动程序指纹识别键盘
你知道手机拨号键盘上为什么要有*和#吗?
键盘猫
Cлово месяца
ikbc R300机械键盘
阻止Windows Update更新驱动程序
计算机硬件设备驱动程序分析
基于单片机指纹识别电子寄存柜设计
指纹识别技术综述
指纹挂锁
基于大容量指纹识别的实时身份认证系统