新闻中心

EEPW首页>嵌入式系统>设计应用> 基于ARM9+Linux的门禁监控系统设计

基于ARM9+Linux的门禁监控系统设计

作者: 时间:2013-01-04 来源:网络 收藏

系统硬件组成示意图

图2 系统硬件组成示意图

  3 系统软件架构设计

  整个系统分为前后台两部分,后台监控程序会时刻监控读卡器是否有刷卡信息,并对刷卡信息作出响应,前台则通过boa服务器调用CGI服务程序响应客户端访问请求。系统功能模型如图3所示。

基于ARM9+Linux的门禁监控系统设计

图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的脚本存放在该目录下。

  3.2 后台设计

  当系统运行后,门禁控制器会一直运行主监控程序,主监控程序存在两种工作方式,分别为调试模式和监控模式。

  3.2.1 调试模式

  在调试模式下,可以对门禁控制器进行一些基本的设置:包括有门禁控制器的IP设置,系统管理员用户名及密码设置,卡权限设置等操作,在此部分,需要配合图形环境方便调试,本系统采用minigui嵌入式图形库。

  MiniGUI下的通讯是一种类似于Win32的消息机制,是由某公司开发的自由软件,遵循LGPL协议,可以为嵌入式linux系统建立的一个快速,稳定和轻量级的图形用户界面支持系统。

  3.2.2 监控模式

  在工作模式下,后台驻留程序会时刻监视是否有刷卡信息,在检测到刷卡信息后,后台驻留程序通过访问数据库进行卡信息的比对,只有当比对通过后,方可进行门打开动作。

  由于在开门的同时,需要保存图片至数据库,而此时,可能会存在客户端对系统存储图片的访问,这会造成对相同数据库的访问冲突,所以系统在接收到客户端访问系统存储图片请求的时候,前端CGI服务程序通过命名管道的进程间通信方式和后台监控程序通信,以获得数据库访问句柄,在客户端访问结束后,前端CGI服务程序会释放数据库句柄。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭