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