門(mén)禁,又稱(chēng)出入管理控制系統,是一種管理人員進(jìn)出的數字化管理系統。目前,隨著(zhù)工業(yè)自動(dòng)化的發(fā)展和人們對應用需求的不斷提高,門(mén)禁監控系統得到了越來(lái)越多的應用,但傳統的門(mén)禁監控系統一般采用門(mén)禁控制和視頻圖片攝錄相分離的實(shí)現辦法,這給現場(chǎng)布線(xiàn)帶來(lái)了很多的不便,同時(shí)其成本也會(huì )大大提高。
在該方案中提到的基于A(yíng)RM9與Linux的嵌入式門(mén)禁監控系統集門(mén)禁控制和圖片攝錄功能于一體,并詳細描述了其系統的軟件設計。
本門(mén)禁系統使用B/S軟件架構,采用嵌入式服務(wù)器boaserver,結合CGI技術(shù),嵌入式數據庫以及嵌入式圖形庫來(lái)實(shí)現門(mén)禁系統的需求。
1 系統工作原理及組成 1.1 系統工作原理
本門(mén)禁監控系統采用B/S架構(Browser/Server,瀏覽器/服務(wù)器模式),基于B/S架構工作的門(mén)禁監控系統首先是一個(gè)具有以太網(wǎng)接口的門(mén)禁控制器;其次,這個(gè)門(mén)禁控制器內置了以太網(wǎng)TCP/IP協(xié)議和WEB服務(wù)程序;用戶(hù)在系統連接時(shí)可以把門(mén)禁控制器看作是一臺帶有寬帶網(wǎng)絡(luò )接口的計算機,將其直接接入到網(wǎng)絡(luò )交換機上。用戶(hù)進(jìn)行門(mén)禁管理時(shí)不需要安裝任何附加的軟件,直接通過(guò)瀏覽器就可以實(shí)現對門(mén)禁系統的管理,操作方便簡(jiǎn)潔。
1.2 系統組成
如圖1所示,系統服務(wù)器端由基于A(yíng)RM9的門(mén)禁控制器、讀卡器、電鎖、前端攝像頭等組成,當有人員進(jìn)出大門(mén)刷卡時(shí),讀卡器就能感應到有卡并將卡中的信息發(fā)送到門(mén)禁控制器,門(mén)禁控制器進(jìn)行卡合法性檢查,通過(guò)讀取用戶(hù)數據庫,查看此卡號是否有對應的持卡人信息,如果存在的話(huà),則檢查此卡對應的權限信息,一切匹配成功后,決定是否進(jìn)行開(kāi)門(mén)動(dòng)作。從而保證了系統的安全性。此時(shí)門(mén)禁控制器進(jìn)行的操作還有圖像攝錄操作,即在開(kāi)門(mén)動(dòng)作的同時(shí)通過(guò)前端的攝像頭攝錄圖片,傳送到相應的存儲設備,供用戶(hù)訪(fǎng)問(wèn)。
圖1 系統結構模型
客戶(hù)端可以通過(guò)瀏覽器遠程對門(mén)禁控制器即服務(wù)器端進(jìn)行訪(fǎng)問(wèn)及相應的權限操作,可實(shí)現用戶(hù)信息錄入及授權管理,硬件設置,出入圖像監控,房門(mén)開(kāi)啟,數據瀏覽等功能。圖1為系統結構模型。
2 門(mén)禁控制器硬件設計
本系統采用ATMEL公司的AT91RM9200(以下簡(jiǎn)稱(chēng)9200)作為MCU,該處理器基于A(yíng)RM920T內核,工作主頻為180MHz,性能可達到200 MI/S,系統采用開(kāi)源的LINUX SDRAM,容量分別為32 MB。如圖2所示,本門(mén)禁控制器以ARM9200為核心,同時(shí)連接的還有LCD控制器,可連接顯示屏,方便用戶(hù)調試。另外,本門(mén)禁系統最多可連接256臺讀卡器及對應攝像頭。系統硬件組成示意圖如圖2所示。
圖2 系統硬件組成示意圖
3 系統軟件架構設計
整個(gè)系統分為前后臺兩部分,后臺監控程序會(huì )時(shí)刻監控讀卡器是否有刷卡信息,并對刷卡信息作出響應,前臺則通過(guò)boa服務(wù)器調用CGI服務(wù)程序響應客戶(hù)端訪(fǎng)問(wèn)請求。系統功能模型如圖3所示。
圖3 系統功能模型
3.1 前臺設計
系統前臺主要由運行在門(mén)禁控制器上的boa Server服務(wù)器和CGI服務(wù)程序構成,boa server會(huì )時(shí)刻監視是否有遠程用戶(hù)的訪(fǎng)問(wèn),當有客戶(hù)端訪(fǎng)問(wèn)請求到達后,會(huì )通過(guò)boa server配置文件到相應目錄下去調用對應的CGI服務(wù)程序,在處理完成后,boa server將處理結果返回給客戶(hù)端。
3.1.1 CGI簡(jiǎn)介及工作原理
CGI全稱(chēng)是“通用網(wǎng)關(guān)接口”(Colnnlon Gateway Interface),是一種基于瀏覽器的輸入并在Web服務(wù)器上運行的程序方法。
CGI的工作原理,首先瀏覽器通過(guò)HTML表單或超鏈接請求指上一個(gè)CGI應用程序的URL。服務(wù)器接收收到請求后,執行所指定的CGI應用程序。CGI應用程序執行所需要的操作(通常是基于瀏覽者輸入的內容),并把結果格式化為網(wǎng)絡(luò )服務(wù)器和瀏覽器能夠理解的文檔(通常是HTML網(wǎng)頁(yè))。最后,網(wǎng)絡(luò )服務(wù)器把結果返回到瀏覽器中。
3.1.2 嵌入式服務(wù)器boa server
boa Server是一種小型單任務(wù)嵌入式服務(wù)器,支持CGI,可執行代碼只有60 kB左右,體積小,速度快,安全性好,能夠滿(mǎn)足本項目的開(kāi)發(fā)。boa服務(wù)器需要交叉編譯為可在A(yíng)RM平臺下運行的程序。在pc環(huán)境下,運用交叉編譯器arm-linux-gcc對boa server進(jìn)行交叉編譯后,需要修改其配置文件boa.conf,關(guān)鍵配置有創(chuàng )建日志文件所在目錄,創(chuàng )建HTML文檔的主目錄,將靜態(tài)網(wǎng)頁(yè)存入該目錄下,創(chuàng )建CGI腳本所在目錄,將cgi的腳本存放在該目錄下。
3.2 后臺設計
當系統運行后,門(mén)禁控制器會(huì )一直運行主監控程序,主監控程序存在兩種工作方式,分別為調試模式和監控模式。
3.2.1 調試模式
在調試模式下,可以對門(mén)禁控制器進(jìn)行一些基本的設置:包括有門(mén)禁控制器的IP設置,系統管理員用戶(hù)名及密碼設置,卡權限設置等操作,在此部分,需要配合圖形環(huán)境方便調試,本系統采用minigui嵌入式圖形庫。
MiniGUI下的通訊是一種類(lèi)似于Win32的消息機制,是由某公司開(kāi)發(fā)的自由軟件,遵循LGPL協(xié)議,可以為嵌入式linux系統建立的一個(gè)快速,穩定和輕量級的圖形用戶(hù)界面支持系統。
3.2.2 監控模式
在工作模式下,后臺駐留程序會(huì )時(shí)刻監視是否有刷卡信息,在檢測到刷卡信息后,后臺駐留程序通過(guò)訪(fǎng)問(wèn)數據庫進(jìn)行卡信息的比對,只有當比對通過(guò)后,方可進(jìn)行門(mén)打開(kāi)動(dòng)作。
由于在開(kāi)門(mén)的同時(shí),需要保存圖片至數據庫,而此時(shí),可能會(huì )存在客戶(hù)端對系統存儲圖片的訪(fǎng)問(wèn),這會(huì )造成對相同數據庫的訪(fǎng)問(wèn)沖突,所以系統在接收到客戶(hù)端訪(fǎng)問(wèn)系統存儲圖片請求的時(shí)候,前端CGI服務(wù)程序通過(guò)命名管道的進(jìn)程間通信方式和后臺監控程序通信,以獲得數據庫訪(fǎng)問(wèn)句柄,在客戶(hù)端訪(fǎng)問(wèn)結束后,前端CGI服務(wù)程序會(huì )釋放數據庫句柄。
本系統中由于涉及到頻繁的數據庫存取操作,基于A(yíng)RM9的硬件平臺,選用數據庫為Berkeley DB數據庫,Berkeley DB是歷史悠久的嵌入式數據庫系統,主要應用在UNIX/LINUX操作系統上,其設計思想是簡(jiǎn)單、小巧、可靠、高性能,滿(mǎn)足本系統的需求。
4 系統軟件功能模塊設計
4.1 用戶(hù)信息錄入及授權管理
用戶(hù)信息錄入及授權管理由具有管理員權限的用戶(hù)設置,在客戶(hù)端,具有管理員權限的用戶(hù)通過(guò)瀏覽器輸入管理員用戶(hù)名及密碼,發(fā)送至門(mén)禁控制器,門(mén)禁控制器在接受到請求后,通過(guò)調用相應的CGI服務(wù)程序,檢驗權限是否合法,確定合法后,進(jìn)入下一級頁(yè)面,在此頁(yè)面可以完成用戶(hù)信息錄入及授權管理。
主要完成的功能有錄入用戶(hù)個(gè)人信息,及與特定卡綁定,同時(shí)授予其卡的權限,在用戶(hù)刷卡開(kāi)門(mén)的時(shí)候,首先檢查卡是否有對應的持卡人信息以及持卡人信息是否與系統定義的格式吻合,這樣可以防止非法卡的使用。如果這一步匹配成功的話(huà),接下來(lái)檢查的是卡所對應的權限信息,包括有此卡可以控制哪些大門(mén)的開(kāi)啟及在哪些時(shí)間段可以控制。
4.2 數據瀏覽
系統注冊用戶(hù)可以在客戶(hù)端瀏覽系統授權信息,同時(shí)只有管理員權限的用戶(hù)才可以對系統注冊用戶(hù)進(jìn)行刪除。
4.3 硬件設置
管理員用戶(hù)可以在客戶(hù)端對門(mén)禁控制器系統進(jìn)行遠程測試和設置。分別為根據門(mén)禁控制器地址檢測控制器狀態(tài),對門(mén)禁控制器設置當前時(shí)間和星期,讀取當前控制器時(shí)間,開(kāi)門(mén)延時(shí),手動(dòng)開(kāi)門(mén),編輯和讀取設備名稱(chēng),清空授權文件,清空刷卡記錄等功能。
4.4 圈像監控
當持卡人在進(jìn)行大門(mén)開(kāi)啟的時(shí)候,門(mén)禁控制器會(huì )將合法的刷卡信息記錄如數據庫,并將刷卡瞬間的圖像保存為jpg圖片存入門(mén)禁控制器的存儲設備中,系統注冊用戶(hù)可以在客戶(hù)端通過(guò)瀏覽器,對門(mén)禁控制器所保存的圖片進(jìn)行瀏覽。系統日志界面如圖4所示。
圖4 系統日志界面
4.5 后臺服務(wù)
門(mén)禁控制器啟動(dòng)后,通過(guò)持續檢測讀卡器是否有信號以驗證是否需要進(jìn)行大門(mén)的開(kāi)啟,當檢測到讀卡器有刷卡消息時(shí),通過(guò)讀取卡內信息,調用相應數據庫進(jìn)行匹配,若匹配成功,則一方面攝錄此刻圖像,保存到數據庫相應目錄,房門(mén)打開(kāi);若不成功,則發(fā)出報警信號,操作者無(wú)法打開(kāi)房門(mén)。
5 結束語(yǔ)
門(mén)禁監控系統有效保障了企事業(yè)單位的安全;贏(yíng)RM9與linux的嵌入式門(mén)禁監控系統具有穩定、可配置的特性,支持基于Internet的數據傳輸,系統采用B/S架構體系,用戶(hù)通過(guò)瀏覽器訪(fǎng)問(wèn)系統的工作方式。該方案詳細敘述了實(shí)現此門(mén)禁監控系統的軟件思想,并對實(shí)現過(guò)程進(jìn)行了詳細的描述。目前,該方案在生產(chǎn)和科研中已經(jīng)投入使用。隨著(zhù)嵌入式技術(shù)的發(fā)展,門(mén)禁監控系統的性能會(huì )得到更進(jìn)一步地提高。