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