门禁,又称出入管理控制系统,是一种管理人员进出的数字化管理系统。目前,随着工业自动化的发展和人们对应用需求的不断提高,门禁监控系统得到了越来越多的应用,但传统的门禁监控系统一般采用门禁控制和视频图片摄录相分离的实现办法,这给现场布线带来了很多的不便,同时其成本也会大大提高。
在该方案中提到的基于ARM9与Linux的嵌入式门禁监控系统集门禁控制和图片摄录功能于一体,并详细描述了其系统的软件设计。
本门禁系统使用B/S软件架构,采用嵌入式服务器boaserver,结合CGI技术,嵌入式数据库以及嵌入式图形库来实现门禁系统的需求。
1 系统工作原理及组成
1.1 系统工作原理
本门禁监控系统采用B/S架构(Browser/Server,浏览器/服务器模式),基于B/S架构工作的门禁监控系统首先是一个具有以太网接口的门禁控制器;其次,这个门禁控制器内置了以太网TCP/IP协议和WEB服务程序;用户在系统连接时可以把门禁控制器看作是一台带有宽带网络接口的计算机,将其直接接入到网络交换机上。用户进行门禁管理时不需要安装任何附加的软件,直接通过浏览器就可以实现对门禁系统的管理,操作方便简洁。
1.2 系统组成
如图1所示,系统服务器端由基于ARM9的门禁控制器、读卡器、电锁、前端摄像头等组成,当有人员进出大门刷卡时,读卡器就能感应到有卡并将卡中的信息发送到门禁控制器,门禁控制器进行卡合法性检查,通过读取用户数据库,查看此卡号是否有对应的持卡人信息,如果存在的话,则检查此卡对应的权限信息,一切匹配成功后,决定是否进行开门动作。从而保证了系统的安全性。此时门禁控制器进行的操作还有图像摄录操作,即在开门动作的同时通过前端的摄像头摄录图片,传送到相应的存储设备,供用户访问。
客户端可以通过浏览器远程对门禁控制器即服务器端进行访问及相应的权限操作,可实现用户信息录入及授权管理,硬件设置,出入图像监控,房门开启,数据浏览等功能。图1为系统结构模型。
2 门禁控制器硬件设计
本系统采用ATMEL公司的AT91RM9200(以下简称9200)作为MCU,该处理器基于ARM920T内核,工作主频为180MHz,性能可达到
3 系统软件架构设计
整个系统分为前后台两部分,后台监控程序会时刻监控读卡器是否有刷卡信息,并对刷卡信息作出响应,前台则通过boa服务器调用CGI服务程序响应客户端访问请求。系统功能模型如图3所示。
3.1 前台设计
系统前台主要由运行在门禁控制器上的boa Server服务器和CGI服务程序构成,boa server会时刻监视是否有远程用户的访问,当有客户端访问请求到达后,会通过boa server配置文件到相应目录下去调用对应的CGI服务程序,在处理完成后,boa server将处理结果返回给客户端。
3.1.1 CGI简介及工作原理
CGI全称是“通用网关接口”(Colnnlon Gateway InteRFace),是一种基于浏览器的输入并在Web服务器上运行的程序方法。
CGI的工作原理,首先浏览器通过HTML表单或超链接请求指上一个CGI应用程序的URL。服务器接收收到请求后,执行所指定的CGI应用程序。CGI应用程序执行所需要的操作(通常是基于浏览者输入的内容),并把结果格式化为网络服务器和浏览器能够理解的文档(通常是HTML网页)。最后,网络服务器把结果返回到浏览器中。
3.1.2 嵌入式服务器boa server
boa Server是一种小型单任务嵌入式服务器,支持CGI,可执行代码只有60 kB左右,体积小,速度快,安全性好,能够满足本项目的开发。boa服务器需要交叉编译为可在ARM平台下运行的程序。在pc环境下,运用交叉编译器arm-linux-gcc对boa server进行交叉编译后,需要修改其配置文件boa.conf,关键配置有创建日志文件所在目录,创建HTML文档的主目录,将静态网页存入该目录下,创建CGI脚本所在目录,将cgi的脚本存放在该目录下。