劉 芳,賀一馨,李俊吉
(太原科技大學(xué)信息科學(xué)與技術(shù)學(xué)院,晉城 048011)
門禁系統(tǒng)與人們的日常生活息息相關(guān),伴隨著社會的進(jìn)一步發(fā)展和用戶安全意識的不斷提高,作為基礎(chǔ)物聯(lián)網(wǎng)的門禁系統(tǒng)在未來將會與更多系統(tǒng)融合,提供更多基礎(chǔ)數(shù)據(jù)。
人工智能和物聯(lián)網(wǎng)等高新技術(shù)的飛速發(fā)展,使得現(xiàn)有智能門禁系統(tǒng)愈加難以滿足人們?nèi)找嬖鲩L的需求,目前市場較為流行智能門禁為“指紋+密碼”型,其單一的認(rèn)證方式導(dǎo)致安全性與便捷性不能同時兼顧;軟件與硬件之間的高度依賴性相對縮小了二次開發(fā)空間,軟件的復(fù)用性和移植性也因此降低。
基于以上現(xiàn)有門禁系統(tǒng)的諸多不足與舊智能手機(jī)回收機(jī)制存在的信息安全及電子污染等問題,我們利用舊智能手機(jī)集合大多常見傳感器以及具有成型運算部件的特點,提出了一套以舊智能手機(jī)作為核心處理器并輔以傳感器模塊的物聯(lián)網(wǎng)環(huán)保智能門禁系統(tǒng)。下文將對該解決方案進(jìn)行具體介紹,并對其發(fā)展前景進(jìn)行展望。
系統(tǒng)使用的硬件主要有傳感器、控制板和兩部舊Android智能手機(jī),其中一部作為服務(wù)器。傳感器終端采集的數(shù)據(jù)通過局域網(wǎng)上傳至服務(wù)器,服務(wù)器與客戶端之間通過NAT技術(shù)進(jìn)行端到端的數(shù)據(jù)傳輸,最終展示在客戶端。門禁系統(tǒng)整體結(jié)構(gòu)設(shè)計如圖1所示。
圖1 系統(tǒng)功能結(jié)構(gòu)設(shè)計
隨著深度學(xué)習(xí)算法和人工智能的興起,用新技術(shù)來進(jìn)行人臉識別,其精度已經(jīng)接近100%,可以很好地服務(wù)于我們的生活。EFIACS主要通過自動人臉識別返回置信度和手動操作實現(xiàn)門禁控制。在正式工作之前需進(jìn)行系統(tǒng)激活、系統(tǒng)關(guān)聯(lián)、人臉注冊等初始化工作。系統(tǒng)激活是在手機(jī)連接穩(wěn)定無線局域網(wǎng)后,將手機(jī)IP地址轉(zhuǎn)化靜態(tài)IP地址的過程,以便于客戶端的訪問;系統(tǒng)關(guān)聯(lián)是客戶端輸入服務(wù)器激活碼(靜態(tài)IP地址加密)的過程,通過靜態(tài)NAT技術(shù)建立連接,是C/S進(jìn)行數(shù)據(jù)傳輸?shù)那疤幔蝗四樧允强蛻舳藢D像上傳至百度服務(wù)器的過程,通過預(yù)先建立人臉庫和存儲人臉信息,系統(tǒng)進(jìn)行在線人臉對比返回人臉置信度。在初始化完成之后系統(tǒng)處于等待狀態(tài),當(dāng)有人或物體經(jīng)過時執(zhí)行如圖2所示流程,完成門禁功能。
圖2 系統(tǒng)工作流程圖
硬件系統(tǒng)主要由處理器和傳感器兩部分組成。其中處理器包括Android處理器(舊手機(jī)自帶,下文不在贅述)和STM32控制板;傳感器包括煙霧傳感器、人體紅外感應(yīng)模塊、光敏電阻三部分。硬件結(jié)構(gòu)如圖3所示。
圖3 硬件結(jié)構(gòu)圖
MQ-2煙霧傳感器、HC-SR501人體紅外感應(yīng)模塊、光敏電阻5506接口引腳連接到STM32控制板,STM32控制板發(fā)出數(shù)據(jù)讀取指令,讀回傳感器內(nèi)部數(shù)據(jù)。硬件電路原理圖如圖4所示。
圖4 電路原理圖
該單片機(jī)基于Cortex-M3內(nèi)核,主頻72 MHz、64 Kb Flash。主頻速度完全滿足對傳感器數(shù)據(jù)的計算,使系統(tǒng)穩(wěn)定運行。該控制芯片用于處理簡單的數(shù)據(jù)指令,作為外接傳感器模塊的數(shù)據(jù)處理和控制芯片。
該處理器源于舊智能手機(jī),主要用于處理手機(jī)圖像傳感器所捕獲的圖像、視頻等大量數(shù)據(jù)。
BT06藍(lán)牙串口模塊,是一種基于數(shù)據(jù)包、有著主從架構(gòu)協(xié)議的短距離無線通信技術(shù)。使用跳頻技術(shù),將傳輸?shù)臄?shù)據(jù)分割成數(shù)據(jù)包,實現(xiàn)設(shè)備間短距離數(shù)據(jù)交換。該模塊應(yīng)用于部分外接設(shè)備的數(shù)據(jù)傳輸,各個外接設(shè)備將數(shù)據(jù)傳送至STM32控制板,控制中心對數(shù)據(jù)進(jìn)行翻譯和處理并將消息再發(fā)送到服務(wù)器。
MQ-2煙霧傳感器四腳輸出隨煙霧濃度變化的直流信號。當(dāng)煙霧濃度高于閾值時LED燈亮,煙霧濃度低于閾值時LED燈滅。該模塊應(yīng)用于外接設(shè)備模塊,通過感應(yīng)煙霧外界濃度變化,回傳數(shù)據(jù)給STM32控制板。
紅外傳感器是一種能檢測人或動物發(fā)射的紅外線而輸出電信號的傳感器。若有人進(jìn)入其感應(yīng)范圍則輸入高電平;人離開感應(yīng)范圍則自動延時關(guān)閉高電平,輸出低電平。該模塊應(yīng)用于門區(qū)監(jiān)控模塊,通過檢測人發(fā)射的紅外線輸出信號回傳數(shù)據(jù)給STM32控制板。
光敏電阻光導(dǎo)率隨光照變化而變化。通過外界感應(yīng)光照變化,回傳數(shù)據(jù)給STM32控制板。
軟件前臺提供的功能與后臺所管理的數(shù)據(jù)相呼應(yīng):前臺使用MVP框架進(jìn)行數(shù)據(jù)展示,明確了的視圖與模型的功能,提高了層與層的獨立性;后臺使用Android自帶的SQLlite進(jìn)行數(shù)據(jù)庫管理,實現(xiàn)系統(tǒng)的穩(wěn)定運行。軟件前后臺實現(xiàn)的主要功能如圖5所示。
圖5 系統(tǒng)功能分布圖
人臉識別選用了百度AI開放平臺提供的視覺技術(shù)。在線調(diào)用人臉檢測的接口,當(dāng)返回的人臉質(zhì)量信息參數(shù)(人臉各部分的遮擋、光照、模糊、完整度、置信度等信息)大于80%時,檢測圖片中的人臉并標(biāo)記出位置信息,通過與人臉庫對比人臉的核心關(guān)鍵點信息及150個關(guān)鍵點信息返回人臉相似度得分,與預(yù)先設(shè)置的閾值進(jìn)行比較采取相應(yīng)動作。人臉對比的過程,使用Base64編碼字節(jié)流在云端人臉庫與客戶端之間傳輸圖像,當(dāng)調(diào)用人臉檢測接口時,會為每個人臉圖像賦予一個FACE_TOKEN,將FACE_TOKEN參數(shù)作為人臉圖片的唯一標(biāo)識。
本系統(tǒng)中物聯(lián)網(wǎng)技術(shù)的應(yīng)用主要包括以下幾部分:物聯(lián)網(wǎng)終端數(shù)據(jù)采集、終端與服務(wù)器間的數(shù)據(jù)傳輸、服務(wù)器對數(shù)據(jù)的存儲和處理及客戶端的數(shù)據(jù)展示。
物聯(lián)網(wǎng)終端的數(shù)據(jù)采集由外置圖像傳感器終端與其他傳感器終端兩部分完成。第一終端采用外置手機(jī)的圖像傳感器,包含視頻圖片等復(fù)雜數(shù)據(jù),采用Android處理器執(zhí)行對應(yīng)處理,鏈路層和運輸層采用WLAN下的UDP協(xié)議(大數(shù)據(jù)近距離)將數(shù)據(jù)傳輸給服務(wù)器;第二終端由MQ-2煙霧傳感器、HC-SR501人體紅外感應(yīng)模塊和光敏電阻5506等傳感器采集相應(yīng)數(shù)據(jù),簡單數(shù)據(jù)指令經(jīng)STM32單片機(jī)執(zhí)行,使用BT06藍(lán)牙串口模塊傳輸數(shù)據(jù)給服務(wù)器。服務(wù)器通過WLAN下的TCP協(xié)議與客戶端實現(xiàn)可靠數(shù)據(jù)傳輸。用戶端對物聯(lián)網(wǎng)終端的反向指令控制使用同樣的數(shù)據(jù)傳輸方式。
整個系統(tǒng)所包括的傳感設(shè)備、處理器、服務(wù)器共處在一個局域網(wǎng)之中,內(nèi)網(wǎng)間可直接使用通信。服務(wù)器在運行門禁系統(tǒng)程序后自動進(jìn)行網(wǎng)絡(luò)連接,通過將MAC地址(每一個設(shè)備的MAC地址都唯一)與內(nèi)網(wǎng)IP地址綁定,將服務(wù)器配置靜態(tài)IP地址作為服務(wù)器地址。服務(wù)器與客戶機(jī)處于不同局域網(wǎng)中,使用靜態(tài)NAT穿透技術(shù)將內(nèi)網(wǎng)的IP和端口映射到外網(wǎng),實現(xiàn)點對點的外網(wǎng)之間的通信。
MVP(model-view-presenter)框架模式基于MVC,與之相比具有更加細(xì)分的視圖與模型功能。視圖不直接與模型交互,而是通過與紐帶層交互來實現(xiàn)與模型的間接交互,使視圖更加專注于數(shù)據(jù)的可視化以及用戶的交互,同時讓模型只負(fù)責(zé)數(shù)據(jù)的處理。
主要結(jié)構(gòu)如圖6所示。數(shù)據(jù)訪問層縱向分為四個模塊:分別為賬戶信息訪問、權(quán)限信息訪問、日志訪問和設(shè)備訪問;橫向分為三層(圖中僅展示兩層),分別為基類層、抽象類層和實現(xiàn)類層,其中基類定義了數(shù)據(jù)請求的公共方法,抽象層繼承基類提供數(shù)據(jù)訪問的抽象類,實現(xiàn)層繼承并實現(xiàn)抽象層,完成各自模塊數(shù)據(jù)請求與解析。
圖6 Model層結(jié)構(gòu)
該層是View和Model交互的橋梁,主要對從View層和Model層接收的數(shù)據(jù)進(jìn)行處理,將處理后的數(shù)據(jù)發(fā)送或返回到Model層和View層。
該層結(jié)構(gòu)如圖7所示,主要進(jìn)行界面的顯示與事件的處理。
圖7 View層結(jié)構(gòu)
系統(tǒng)設(shè)計完成后經(jīng)過一系列測試,在由2000張人臉圖片組成的樣本空間內(nèi)進(jìn)行了5次實驗,本系統(tǒng)的平均人臉識別準(zhǔn)確率達(dá)99.89%,誤識率為0.11%,平均識別延時為1.17 ms;TCP數(shù)據(jù)報文(每次傳輸數(shù)據(jù)量為1024 b)傳輸基本穩(wěn)定,有少量丟報情況,不影響系統(tǒng)正常使用;數(shù)據(jù)量大于10 Mb或傳輸數(shù)據(jù)頻繁時,數(shù)據(jù)延時發(fā)送導(dǎo)致系統(tǒng)出現(xiàn)緩慢卡頓現(xiàn)象,平均卡頓延時為0.25 ms,詳細(xì)數(shù)據(jù)見表1。
表1 EFIACS系統(tǒng)實驗數(shù)據(jù)分析
該方案基本實現(xiàn)一個小型的物聯(lián)網(wǎng)門禁系統(tǒng),但與實際物聯(lián)網(wǎng)系統(tǒng)存在一定差異:本系統(tǒng)內(nèi)的數(shù)據(jù)僅在一個單位的系統(tǒng)內(nèi)流通,且系統(tǒng)可處理的數(shù)據(jù)量有限。同時,系統(tǒng)也具有一定的擴(kuò)展性,如可使用手機(jī)自帶的NFC感應(yīng)器與指紋采集器等擴(kuò)展系統(tǒng)的認(rèn)證方式,識別方式的多元化組合有助于提高系統(tǒng)的安全性,系統(tǒng)會在此基礎(chǔ)上進(jìn)行進(jìn)一步的改進(jìn)。