劉 濤,楊彩鳳,譚明成
(安徽工程大學計算機與信息學院,安徽蕪湖241000)
隨著社會經(jīng)濟與物聯(lián)網(wǎng)技術的快速發(fā)展,人們對社區(qū)居住環(huán)境有了更高的要求,要求社區(qū)設計更加人性化、智能化,而其中最重要的是社區(qū)安全性問題[1],所以設置小區(qū)智能門禁系統(tǒng)是不可缺少的重要措施,有助于大大提高社區(qū)的安全性[2]?,F(xiàn)代門禁系統(tǒng)采用硬件系統(tǒng)與互聯(lián)網(wǎng)相連的方式,方便管理人員對門禁系統(tǒng)進行管理控制,還可以獲得門禁系統(tǒng)硬件產(chǎn)生的信息反饋,這不但加強了對社區(qū)的安全管理,還有效減少了社區(qū)人力物力的浪費,門禁系統(tǒng)將會與互聯(lián)網(wǎng)緊密結合[3-4]。門禁系統(tǒng)經(jīng)過不斷地發(fā)展,形成了三大類型:刷卡門禁,生物識別門禁,互聯(lián)網(wǎng)門禁[5]。
本文所設計的系統(tǒng)是由多種門禁系統(tǒng)結合而成,解決了各個單一門禁系統(tǒng)的不足,同時采用物聯(lián)網(wǎng)技術,將門禁硬件系統(tǒng)與互聯(lián)網(wǎng)進行連接,使管理人員能夠實時觀察社區(qū)出入情況、管理社區(qū)人員信息,用戶可以在網(wǎng)絡上進行遙控開門和卡片掛失,這樣的設計可以在滿足社區(qū)安全的同時,增加用戶的使用舒適感,更能滿足當前社區(qū)的需要[6]。
本系統(tǒng)硬件模塊基于Arduino 平臺,Arduino 是一個開放源代碼平臺,擁有成熟的開發(fā)環(huán)境[7],Arduino也可以同時支持不同的插件一起工作,從而能夠很好地實現(xiàn)門禁系統(tǒng)的各個功能模擬,比如門禁卡數(shù)據(jù)的上傳和紅外遙控等功能,操作方便,只要將各個模塊的器件連接到開發(fā)板上,再使用編程工具進行模塊代碼的編寫,最后將各個模塊的器件進行組合工作。同時使用基于HTML(超文本標記語言)、CSS(層疊樣式表)、JavaScript(Java 腳本)開發(fā)的Bootstrap 前端開源框架,其界面簡潔、功能豐富、使用方便,可以運行在不同內核的瀏覽器上,支持各種分辨率和屏幕大小,同時支持HTML5,讓編碼更加靈活,Web 前端的開發(fā)更加便捷和快速。
本系統(tǒng)在硬件端和服務器端都添加了加密算法,保障了門禁系統(tǒng)在數(shù)據(jù)傳輸過程中的安全性。采用的加密算法是DES 加密算法,這是一種對稱加密,發(fā)送端和接收端都采用相同的密鑰,加密過程將原文分成兩部分,前一部分與子密鑰進行循環(huán),然后與后一部分進行異或運算,之后再進行交換,這樣一共循環(huán)十六次,最后得到密文,解密過程與加密過程相反。
通過對系統(tǒng)的詳細分析,確定了系統(tǒng)總體功能模塊的設計,系統(tǒng)分為硬件端、服務器端以及Web 端,詳細結構分為管理員、用戶、網(wǎng)站、數(shù)據(jù)庫、刷卡識別、單元門、社區(qū)大門、服務器八大部分。硬件端使用Arduino 開發(fā)板和不同元器件,對門禁系統(tǒng)的各個開門模塊進行模擬,然后通過Wi- Fi 模塊上傳數(shù)據(jù)到服務器端;服務器端對硬件上傳的數(shù)據(jù)進行比對,比對成功則下發(fā)開門指令,同時將數(shù)據(jù)存入數(shù)據(jù)庫;Web端管理員可以對用戶信息進行管理以及對社區(qū)進入記錄進行查看,用戶可以在Web 端進行門禁卡的掛失和遠程遙控開門。
基于系統(tǒng)功能需求分析以及系統(tǒng)設計思路,系統(tǒng)主要包括以下功能:門禁卡開門,指紋開門,紅外遙控開門以及Web 遙控開門,Web 端分為用戶和管理員兩大部分,對應不同的功能需求。門禁卡開門:讀卡器將讀取到的用戶數(shù)據(jù)上傳到服務器,系統(tǒng)將該數(shù)據(jù)與數(shù)據(jù)庫中所存儲的門禁卡數(shù)據(jù)進行比對,比對成功則系統(tǒng)會向開發(fā)板發(fā)送開門的指令,最終執(zhí)行開門指令;指紋開門:指紋模塊可以對指紋進行識別,如果識別到的用戶指紋在存儲器中,并且比對成功,則進行開門;紅外遙控開門:使用紅外遙控器對Arduino 進行控制,達到開門的目的;Web 遙控開門:用戶可以在Web 端上進行操作開門,同時管理門禁卡,可以對門禁卡進行掛失和恢復,管理員可以在Web 上進行人員信息管理和進入記錄查看[8]。功能模塊如圖1 所示。
圖1 系統(tǒng)功能模塊圖
本系統(tǒng)硬件端使用Arduino 平臺進行開發(fā),利用各種不同模塊來實現(xiàn)系統(tǒng)功能,使用了MFRC522 模塊作為刷卡模塊、非接觸卡作為紅外遙控器、紅外接收器作為紅外遙控模塊、AS608 作為指紋模塊、ESP8266 作為無線保真(Wi- Fi)模塊。刷卡模塊是讀卡器對IC 卡的信息進行讀取,將讀取的信息通過Wi- Fi 模塊上傳到服務器,服務器將上傳的信息進行比對,比對成功后查看卡片是否掛失,如果不是掛失狀態(tài)則服務器向硬件發(fā)送開門指令,硬件舵機轉動開門;指紋模塊可以通過上位機軟件錄入和刪除指紋信息,然后用戶進入社區(qū)時指紋模塊進行實時指紋采集,將采集的指紋信息和內部指紋信息進行比對,比對成功則開門;紅外遙控模塊通過紅外遙控器對紅外接收器進行控制,按下按鍵發(fā)送指令進行開門[9]。其中刷卡門禁流程圖如圖2 所示,紅外遙控門禁流程圖如圖3 所示,指紋門禁流程圖如圖4 所示。
圖2 刷卡門禁流程圖
圖3 紅外遙控門禁流程圖
圖4 指紋門禁流程圖
服務器端的具體功能為:收到硬件端的門禁卡信息,然后與數(shù)據(jù)庫中所存儲的相應用戶門禁卡信息進行對比,對比成功后查看門禁卡狀態(tài),如果門禁卡狀態(tài)為正常,則服務器向硬件發(fā)送開門指令,同時將此信息錄入數(shù)據(jù)庫的記錄表中,也可以接受Web 端的指令,直接向硬件發(fā)送指令。為了保證系統(tǒng)的安全性,在硬件端和服務器端的數(shù)據(jù)傳輸中使用了DES 加密,每經(jīng)過一次刷卡開門,系統(tǒng)的秘鑰就改變一次,保證系統(tǒng)的安全性[10]。服務器端流程圖如圖5 所示、數(shù)據(jù)加密流程圖如后面圖6 所示。
Web 端使用JSP(Java 服務器頁面)技術進行開發(fā),管理員可以對社區(qū)的進入記錄進行查看,對用戶信息進行管理,如增、刪、改、查等操作,用戶可以向硬件發(fā)送開門指令,進行遠程遙控開門和門禁卡的掛失和恢復。管理員進入該門禁系統(tǒng)的“用戶管理”界面,系統(tǒng)將顯示“管理員信息”“用戶信息”以及“小區(qū)進入記錄”目錄,可對這些信息進行相應的操作;當管理員點擊“小區(qū)進入記錄”時,系統(tǒng)會顯示所有的人員進入記錄,包括卡號、用戶名、進入日期,管理員可以編輯或刪除其中的某些記錄。
圖5 服務器端流程圖
圖6 數(shù)據(jù)加密流程圖
用戶可以通過“用戶卡片管理”欄對個人信息進行卡片掛失和恢復操作,該欄存儲用戶的用戶名、密碼、卡號、門牌號、電話號碼以及用戶門卡狀態(tài);用戶需要開門時,可進入“用戶遠程開門界面”,首先選擇單元號,系統(tǒng)界面將顯示出所選單元號的單元地址,當用戶確定地址正確時,可滑動界面的開門按鈕,系統(tǒng)執(zhí)行開門指令,打開門鎖。
通過系統(tǒng)測試,所設計的功能基本都能實現(xiàn)。刷卡門禁能夠正常讀取數(shù)據(jù)并上傳,服務器對上傳的數(shù)據(jù)能夠進行快速比對,然后下發(fā)指令;指紋模塊可以正確識別指紋信息;管理員可以在Web 端進行信息管理,用戶可以在Web 端進行卡片的掛失和遙控開門。雖然已經(jīng)完成了基本的系統(tǒng)任務要求,但是該系統(tǒng)還是有很多地方有待完善。
本系統(tǒng)在設計的時候有一個沒有考慮的問題。設計的單元門有三種開門方式,都是利用網(wǎng)絡或者生物識別方式進行開門的,但是當這三種方式都無法進行開門時,住戶就無法進入,所以在后續(xù)的完善當中應該添加密碼解鎖,這種開門方式受環(huán)境的影響很低,用戶可以在無法使用其他方式進入時,采用這種最簡單直接的開門方式。本系統(tǒng)還存在比如臨時人員的進入登記、Web 界面不夠美觀等問題,所以在后續(xù)的完善中,將會對這些問題進行解決,并相應添加更多的門禁功能,例如面部識別等,以使系統(tǒng)能夠更加完善。