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