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