基于ARM9與Linux的門禁監(jiān)控系統(tǒng)軟件設計
2 門禁控制器硬件設計
本系統(tǒng)采用ATMEL公司的AT91RM9200(以下簡稱9200)作為MCU,該處理器基于ARM920T內(nèi)核,工作主頻為180MHz,性能可達到200 MI/S,系統(tǒng)采用開源的LINUX OS。內(nèi)核版本為2.6.25,系統(tǒng)采用1片Nor-Flash,容量為64 MB,2片SDRAM,容量分別為32 MB。如圖2所示,本門禁控制器以ARM9200為核心,同時連接的還有LCD控制器,可連接顯示屏,方便用戶調(diào)試。另外,本門禁系統(tǒng)最多可連接256臺讀卡器及對應攝像頭。系統(tǒng)硬件組成示意圖如圖2所示。本文引用地址:http://cafeforensic.com/article/150895.htm
3 系統(tǒng)軟件架構(gòu)設計
整個系統(tǒng)分為前后臺兩部分,后臺監(jiān)控程序會時刻監(jiān)控讀卡器是否有刷卡信息,并對刷卡信息作出響應,前臺則通過boa服務器調(diào)用CGI服務程序響應客戶端訪問請求。系統(tǒng)功能模型如圖3所示。
3.1 前臺設計
系統(tǒng)前臺主要由運行在門禁控制器上的boa Server服務器和CGI服務程序構(gòu)成,boa server會時刻監(jiān)視是否有遠程用戶的訪問,當有客戶端訪問請求到達后,會通過boa server配置文件到相應目錄下去調(diào)用對應的CGI服務程序,在處理完成后,boa server將處理結(jié)果返回給客戶端。
3.1.1 CGI簡介及工作原理
CGI全稱是“通用網(wǎng)關接口”(Colnnlon Gateway Interface),是一種基于瀏覽器的輸入并在Web服務器上運行的程序方法。
CGI的工作原理,首先瀏覽器通過HTML表單或超鏈接請求指上一個CGI應用程序的URL。服務器接收收到請求后,執(zhí)行所指定的CGI應用程序。CGI應用程序執(zhí)行所需要的操作(通常是基于瀏覽者輸入的內(nèi)容),并把結(jié)果格式化為網(wǎng)絡服務器和瀏覽器能夠理解的文檔(通常是HTML網(wǎng)頁)。最后,網(wǎng)絡服務器把結(jié)果返回到瀏覽器中。
3.1.2 嵌入式服務器boa server
boa Server是一種小型單任務嵌入式服務器,支持CGI,可執(zhí)行代碼只有60 kB左右,體積小,速度快,安全性好,能夠滿足本項目的開發(fā)。boa服務器需要交叉編譯為可在ARM平臺下運行的程序。在pc環(huán)境下,運用交叉編譯器arm-linux-gcc對boa server進行交叉編譯后,需要修改其配置文件boa.conf,關鍵配置有創(chuàng)建日志文件所在目錄,創(chuàng)建HTML文檔的主目錄,將靜態(tài)網(wǎng)頁存入該目錄下,創(chuàng)建CGI腳本所在目錄,將cgi的腳本存放在該目錄下。
評論