基于ARM9與Linux的門(mén)禁監(jiān)控系統(tǒng)軟件設(shè)計(jì)
3.2 后臺(tái)設(shè)計(jì)
當(dāng)系統(tǒng)運(yùn)行后,門(mén)禁控制器會(huì)一直運(yùn)行主監(jiān)控程序,主監(jiān)控程序存在兩種工作方式,分別為調(diào)試模式和監(jiān)控模式。
3.2.1 調(diào)試模式
在調(diào)試模式下,可以對(duì)門(mén)禁控制器進(jìn)行一些基本的設(shè)置:包括有門(mén)禁控制器的IP設(shè)置,系統(tǒng)管理員用戶(hù)名及密碼設(shè)置,卡權(quán)限設(shè)置等操作,在此部分,需要配合圖形環(huán)境方便調(diào)試,本系統(tǒng)采用minigui嵌入式圖形庫(kù)。
MiniGUI下的通訊是一種類(lèi)似于Win32的消息機(jī)制,是由某公司開(kāi)發(fā)的自由軟件,遵循LGPL協(xié)議,可以為嵌入式linux系統(tǒng)建立的一個(gè)快速,穩(wěn)定和輕量級(jí)的圖形用戶(hù)界面支持系統(tǒng)。
3.2.2 監(jiān)控模式
在工作模式下,后臺(tái)駐留程序會(huì)時(shí)刻監(jiān)視是否有刷卡信息,在檢測(cè)到刷卡信息后,后臺(tái)駐留程序通過(guò)訪問(wèn)數(shù)據(jù)庫(kù)進(jìn)行卡信息的比對(duì),只有當(dāng)比對(duì)通過(guò)后,方可進(jìn)行門(mén)打開(kāi)動(dòng)作。
由于在開(kāi)門(mén)的同時(shí),需要保存圖片至數(shù)據(jù)庫(kù),而此時(shí),可能會(huì)存在客戶(hù)端對(duì)系統(tǒng)存儲(chǔ)圖片的訪問(wèn),這會(huì)造成對(duì)相同數(shù)據(jù)庫(kù)的訪問(wèn)沖突,所以系統(tǒng)在接收到客戶(hù)端訪問(wèn)系統(tǒng)存儲(chǔ)圖片請(qǐng)求的時(shí)候,前端CGI服務(wù)程序通過(guò)命名管道的進(jìn)程間通信方式和后臺(tái)監(jiān)控程序通信,以獲得數(shù)據(jù)庫(kù)訪問(wèn)句柄,在客戶(hù)端訪問(wèn)結(jié)束后,前端CGI服務(wù)程序會(huì)釋放數(shù)據(jù)庫(kù)句柄。
本系統(tǒng)中由于涉及到頻繁的數(shù)據(jù)庫(kù)存取操作,基于ARM9的硬件平臺(tái),選用數(shù)據(jù)庫(kù)為Berkeley DB數(shù)據(jù)庫(kù),Berkeley DB是歷史悠久的嵌入式數(shù)據(jù)庫(kù)系統(tǒng),主要應(yīng)用在UNIX/LINUX操作系統(tǒng)上,其設(shè)計(jì)思想是簡(jiǎn)單、小巧、可靠、高性能,滿(mǎn)足本系統(tǒng)的需求。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論