孫桂勇 鐘佳伶 劉志勤 黃俊
摘 要:隨著科學(xué)技術(shù)的發(fā)展,在擁有幾萬人的學(xué)校,對(duì)于儀器設(shè)備的看管,人員出入記錄,都設(shè)有專門的人員來管理,但因工作量很大,所以需要一種高效的管理考核辦法,來管理學(xué)校設(shè)備、財(cái)務(wù),考核員工出勤,提高員工的工作積極性?,F(xiàn)階段使用的門禁系統(tǒng)布線復(fù)雜,且多為生物特征識(shí)別的門禁系統(tǒng),這種系統(tǒng)成本高昂,一般的用戶很難承擔(dān)。在這種情況下我們開發(fā)了一款基于friendlyArm、cc2530和智能移動(dòng)終端的門禁系統(tǒng)。該門禁系統(tǒng)有web服務(wù)器,移動(dòng)端App以及通信模塊組成。我們?cè)趙eb服務(wù)器上搭建數(shù)據(jù)庫,記錄門的信息和開門人員信息,通過friendlyArm與模塊進(jìn)行串行通信,在模塊與模塊之間進(jìn)行點(diǎn)對(duì)點(diǎn)通信,來發(fā)送指令。與傳統(tǒng)開門方式相比,本系統(tǒng)安全性高,使用方便,與現(xiàn)有門禁系統(tǒng)相比,本系統(tǒng)價(jià)格便宜,布線簡(jiǎn)單,易于推廣使用。門禁系統(tǒng)應(yīng)用Client/Server結(jié)構(gòu),開發(fā)工具應(yīng)用Intellij IDEA2016.1、IAR、Hbuilder,開發(fā)語言選用Java、JavaScript、Html、CSS、C,采用Tomcat服務(wù)器技術(shù),后臺(tái)數(shù)據(jù)庫應(yīng)用MySQL數(shù)據(jù)庫。
關(guān)鍵詞:門禁系統(tǒng);cc2530;Java;friendlyArm;串口通信
中圖分類號(hào):TP273 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2017)25-0027-02
引言
隨著科學(xué)技術(shù)的進(jìn)步,人們追求更為便捷的生活方式,智能設(shè)備就進(jìn)入了人們的生活中。門作為我們最經(jīng)常接觸的應(yīng)用,使其智能化來讓我們的生活更方便自然也早就實(shí)現(xiàn)了。早期的門禁系統(tǒng)包括:密碼鎖、射頻識(shí)別技術(shù)和電話短信開門,但是這些門禁系統(tǒng)都存在安全性能弱、處理效率低、信息存儲(chǔ)量小等不足,而現(xiàn)在基于生物特征識(shí)別技術(shù)的門禁系統(tǒng)又因其價(jià)格昂貴,導(dǎo)致其普遍適用性不強(qiáng),此外,這些門禁系統(tǒng)一般都采用有線通信方式,布線復(fù)雜、成本高、使用不便、擴(kuò)展性差。因此需要一種更為便捷、安全和合理的門禁系統(tǒng)。
考慮到現(xiàn)階段移動(dòng)設(shè)備廣泛普及,智能移動(dòng)終端設(shè)備幾乎人手一臺(tái),因此我們利用智能移動(dòng)設(shè)備開發(fā)一款門禁系統(tǒng)。通過移動(dòng)App與服務(wù)器通信,向服務(wù)器發(fā)送指令,服務(wù)器處理后通過friendlyArm協(xié)調(diào)器向通信模塊發(fā)送指令,來實(shí)現(xiàn)開門功能,同時(shí)開發(fā)一個(gè)基于web的數(shù)據(jù)庫管理系統(tǒng),管理開門人員信息,記錄開門的時(shí)間。
1 門禁系統(tǒng)整體方案設(shè)計(jì)
1.1 系統(tǒng)的整體結(jié)構(gòu)圖
系統(tǒng)結(jié)構(gòu)包括智能移動(dòng)終端,web服務(wù)器,協(xié)調(diào)器以及兩個(gè)通信模塊。
每個(gè)模塊的功能如下:
(1)移動(dòng)終端,是應(yīng)用App來進(jìn)行用戶身份驗(yàn)證,并與服務(wù)器通信,發(fā)送消息的設(shè)備,此外還可以在移動(dòng)端進(jìn)行門、人員信息管理,以及查看開門信息。
(2)Web服務(wù)器,應(yīng)用Tomcat搭建的服務(wù)器,處理業(yè)務(wù)邏輯,控制數(shù)據(jù)存儲(chǔ)和顯示,同時(shí)負(fù)責(zé)連通移動(dòng)設(shè)備和協(xié)調(diào)器,從移動(dòng)終端接收消息,經(jīng)過處理之后,發(fā)送給協(xié)調(diào)器。
(3)協(xié)調(diào)器,是一塊Android主板,在上邊運(yùn)行一個(gè)App應(yīng)用程序,這個(gè)程序和服務(wù)器進(jìn)行長(zhǎng)連接,當(dāng)服務(wù)器發(fā)來數(shù)據(jù)時(shí),協(xié)調(diào)器中的程序被觸發(fā)運(yùn)行,與CC2530發(fā)送模塊進(jìn)行串口通信,向CC2530發(fā)送指令。
(4)CC2530發(fā)送模塊,當(dāng)其接收到協(xié)調(diào)器發(fā)送過來的指令之后,建立與控制模塊的點(diǎn)對(duì)點(diǎn)通信,向控制模塊發(fā)送開門指令。
(5)CC2530控制模塊,與門直接相連,通過接收發(fā)送模塊的指令消息,決定當(dāng)前是開門還是關(guān)門狀態(tài)。
1.2 系統(tǒng)工作原理
本系統(tǒng)移動(dòng)終端App是客戶端,用戶可以通過終端添加、刪除開門人員,還可以查看自己管理的門的開門記錄,當(dāng)要開一扇門的時(shí)候用戶只需輸入門的別名,終端就將開門請(qǐng)求發(fā)送到服務(wù)器端,服務(wù)器首先對(duì)門和用戶的關(guān)系進(jìn)行查詢,看當(dāng)前用戶是否有開門權(quán)限,查詢之后服務(wù)器根據(jù)處理結(jié)果決定是否給協(xié)調(diào)器發(fā)送消息,如果用戶可以開門,服務(wù)器就向Tiny6410協(xié)調(diào)器發(fā)送指令,觸發(fā)協(xié)調(diào)器工作,如果用戶不可以開門,服務(wù)器將不會(huì)向協(xié)調(diào)器發(fā)送消息,服務(wù)器在處理好客戶端請(qǐng)求之后,同時(shí)會(huì)向客戶端反饋消息,告知其是否可以開門。協(xié)調(diào)器接收到指令之后會(huì)與CC2530發(fā)送模塊進(jìn)行串口通信,觸發(fā)其向控制模塊發(fā)送命令,控制開門。
2 門禁系統(tǒng)軟件系統(tǒng)設(shè)計(jì)
2.1 數(shù)據(jù)庫設(shè)計(jì)
數(shù)據(jù)庫是本系統(tǒng)的核心??紤]到系統(tǒng)的安全性和人員的流動(dòng)性,我們需要對(duì)每一個(gè)開門的人員進(jìn)行驗(yàn)證,并記錄開門信息,因此我們需要設(shè)計(jì)一個(gè)可以存儲(chǔ)用戶信息,存儲(chǔ)開門信息的數(shù)據(jù)庫,方便管理。
本系統(tǒng)的數(shù)據(jù)庫中設(shè)計(jì)了四張表:user_info,door_info,relation,open_record。分別用來記錄用戶信息,門的信息,用戶與門之間的聯(lián)系和開門記錄。
2.2 客戶端程序設(shè)計(jì)
客戶端是與客戶進(jìn)行交互的應(yīng)用程序,通過客戶端程序,用戶可以查看自己管理的門,可以添加,刪除自己管理的門對(duì)應(yīng)的用戶,還可以查看人員的開門信息。同時(shí)客戶端也是與服務(wù)器通信,向服務(wù)器發(fā)送開門請(qǐng)求的終端設(shè)備。
客戶端應(yīng)用了HBuilder開發(fā)工具,JavaScript、Html、CSS開發(fā)語言進(jìn)行WebApp的開發(fā)。在顯示開門記錄,人員信息等數(shù)據(jù)時(shí)應(yīng)用EasyUI框架,簡(jiǎn)化開發(fā)??蛻舳伺c服務(wù)器進(jìn)行數(shù)據(jù)傳輸?shù)臅r(shí)候通過Jsonp協(xié)議,克服了數(shù)據(jù)傳輸時(shí)的跨域問題。
2.3 服務(wù)器端開發(fā)
服務(wù)器開發(fā)是本系統(tǒng)的核心邏輯部分,服務(wù)器不僅要負(fù)責(zé)業(yè)務(wù)的主要處理邏輯,還要與移動(dòng)終端和協(xié)調(diào)器進(jìn)行通信,負(fù)責(zé)之間的數(shù)據(jù)傳輸。
服務(wù)器端是應(yīng)用SSM框架進(jìn)行開發(fā)。通過Spring整合框架,應(yīng)用它的控制反轉(zhuǎn)、依賴注入來簡(jiǎn)化開發(fā),通過Spring MVC實(shí)現(xiàn)顯示層,業(yè)務(wù)邏輯層,控制層的分離,使程序邏輯更為清晰。通過mybatis操作數(shù)據(jù)庫。
2.4 協(xié)調(diào)器端程序
協(xié)調(diào)器和服務(wù)器通信,主要負(fù)責(zé)兩個(gè)功能:從服務(wù)器接收命令,以及作為信息發(fā)送方和CC2530發(fā)送模塊進(jìn)行串口通信。
協(xié)調(diào)器端的程序是一個(gè)android app,這個(gè)程序應(yīng)用
socket通信,和服務(wù)器建立長(zhǎng)連接,當(dāng)服務(wù)器斷定開門請(qǐng)求正確的時(shí)候就可以通過socket向協(xié)調(diào)器發(fā)送開門指令,觸發(fā)協(xié)調(diào)器向CC2530模塊發(fā)送指令。
2.5 CC2530通信模塊程序
兩塊CC2530通信模塊,一個(gè)作為發(fā)送方,一個(gè)作為接收方,發(fā)送方要實(shí)現(xiàn)從協(xié)調(diào)器接收消息,并向接受模塊發(fā)送消息,接收方在接收消息同時(shí)要控制開門。
發(fā)送模塊和接受模塊應(yīng)用點(diǎn)對(duì)點(diǎn)通信。發(fā)送模塊在程序中指定發(fā)送消息的網(wǎng)絡(luò)地址,接收消息的網(wǎng)絡(luò)地址。在接收模塊中指定與發(fā)送模塊指定的接收網(wǎng)絡(luò)地址相同的地址,就可以接收到發(fā)送模塊發(fā)送的消息,接受模塊就可以控制開門。
3 結(jié)束語
論文主要研究了基于friendlyArm、CC2530通信模塊的移動(dòng)智能終端門禁系統(tǒng)的開發(fā)。文中給出了系統(tǒng)的設(shè)計(jì),以及實(shí)施方案。
系統(tǒng)將邏輯判斷全部在服務(wù)器端完成,智能終端、通信模塊之間只進(jìn)行簡(jiǎn)單的數(shù)據(jù)傳輸,減少了終端設(shè)備的負(fù)擔(dān)。但是系統(tǒng)還是有不足之處,比如協(xié)調(diào)器和服務(wù)器建立長(zhǎng)連接,協(xié)調(diào)器一直處于運(yùn)行狀態(tài),較為費(fèi)電。
參考文獻(xiàn):
[1]范麗娟.串口通信和多線程技術(shù)在門禁考勤系統(tǒng)中的應(yīng)用[A].中國(guó)計(jì)量協(xié)會(huì)冶金分會(huì)、《冶金自動(dòng)化》雜志社.中國(guó)計(jì)量協(xié)會(huì)冶金分會(huì)
2010年會(huì)論文集[C].中國(guó)計(jì)量協(xié)會(huì)冶金分會(huì)、《冶金自動(dòng)化》雜志社,2010:4.
[2]裴鴻雁.高校門禁考勤管理系統(tǒng)研究與設(shè)計(jì)[D].內(nèi)蒙古大學(xué),2014.endprint