劉 芳,賀一馨,李俊吉
(太原科技大學信息科學與技術學院,晉城 048011)
門禁系統與人們的日常生活息息相關,伴隨著社會的進一步發展和用戶安全意識的不斷提高,作為基礎物聯網的門禁系統在未來將會與更多系統融合,提供更多基礎數據。
人工智能和物聯網等高新技術的飛速發展,使得現有智能門禁系統愈加難以滿足人們日益增長的需求,目前市場較為流行智能門禁為“指紋+密碼”型,其單一的認證方式導致安全性與便捷性不能同時兼顧;軟件與硬件之間的高度依賴性相對縮小了二次開發空間,軟件的復用性和移植性也因此降低。
基于以上現有門禁系統的諸多不足與舊智能手機回收機制存在的信息安全及電子污染等問題,我們利用舊智能手機集合大多常見傳感器以及具有成型運算部件的特點,提出了一套以舊智能手機作為核心處理器并輔以傳感器模塊的物聯網環保智能門禁系統。下文將對該解決方案進行具體介紹,并對其發展前景進行展望。
系統使用的硬件主要有傳感器、控制板和兩部舊Android智能手機,其中一部作為服務器。傳感器終端采集的數據通過局域網上傳至服務器,服務器與客戶端之間通過NAT技術進行端到端的數據傳輸,最終展示在客戶端。門禁系統整體結構設計如圖1所示。

圖1 系統功能結構設計
隨著深度學習算法和人工智能的興起,用新技術來進行人臉識別,其精度已經接近100%,可以很好地服務于我們的生活。EFIACS主要通過自動人臉識別返回置信度和手動操作實現門禁控制。在正式工作之前需進行系統激活、系統關聯、人臉注冊等初始化工作。系統激活是在手機連接穩定無線局域網后,將手機IP地址轉化靜態IP地址的過程,以便于客戶端的訪問;系統關聯是客戶端輸入服務器激活碼(靜態IP地址加密)的過程,通過靜態NAT技術建立連接,是C/S進行數據傳輸的前提;人臉注冊是客戶端將圖像上傳至百度服務器的過程,通過預先建立人臉庫和存儲人臉信息,系統進行在線人臉對比返回人臉置信度。在初始化完成之后系統處于等待狀態,當有人或物體經過時執行如圖2所示流程,完成門禁功能。

圖2 系統工作流程圖
硬件系統主要由處理器和傳感器兩部分組成。其中處理器包括Android處理器(舊手機自帶,下文不在贅述)和STM32控制板;傳感器包括煙霧傳感器、人體紅外感應模塊、光敏電阻三部分。硬件結構如圖3所示。

圖3 硬件結構圖
MQ-2煙霧傳感器、HC-SR501人體紅外感應模塊、光敏電阻5506接口引腳連接到STM32控制板,STM32控制板發出數據讀取指令,讀回傳感器內部數據。硬件電路原理圖如圖4所示。

圖4 電路原理圖
該單片機基于Cortex-M3內核,主頻72 MHz、64 Kb Flash。主頻速度完全滿足對傳感器數據的計算,使系統穩定運行。該控制芯片用于處理簡單的數據指令,作為外接傳感器模塊的數據處理和控制芯片。
該處理器源于舊智能手機,主要用于處理手機圖像傳感器所捕獲的圖像、視頻等大量數據。
BT06藍牙串口模塊,是一種基于數據包、有著主從架構協議的短距離無線通信技術。使用跳頻技術,將傳輸的數據分割成數據包,實現設備間短距離數據交換。該模塊應用于部分外接設備的數據傳輸,各個外接設備將數據傳送至STM32控制板,控制中心對數據進行翻譯和處理并將消息再發送到服務器。
MQ-2煙霧傳感器四腳輸出隨煙霧濃度變化的直流信號。當煙霧濃度高于閾值時LED燈亮,煙霧濃度低于閾值時LED燈滅。該模塊應用于外接設備模塊,通過感應煙霧外界濃度變化,回傳數據給STM32控制板。
紅外傳感器是一種能檢測人或動物發射的紅外線而輸出電信號的傳感器。若有人進入其感應范圍則輸入高電平;人離開感應范圍則自動延時關閉高電平,輸出低電平。該模塊應用于門區監控模塊,通過檢測人發射的紅外線輸出信號回傳數據給STM32控制板。
光敏電阻光導率隨光照變化而變化。通過外界感應光照變化,回傳數據給STM32控制板。
軟件前臺提供的功能與后臺所管理的數據相呼應:前臺使用MVP框架進行數據展示,明確了的視圖與模型的功能,提高了層與層的獨立性;后臺使用Android自帶的SQLlite進行數據庫管理,實現系統的穩定運行。軟件前后臺實現的主要功能如圖5所示。

圖5 系統功能分布圖
人臉識別選用了百度AI開放平臺提供的視覺技術。在線調用人臉檢測的接口,當返回的人臉質量信息參數(人臉各部分的遮擋、光照、模糊、完整度、置信度等信息)大于80%時,檢測圖片中的人臉并標記出位置信息,通過與人臉庫對比人臉的核心關鍵點信息及150個關鍵點信息返回人臉相似度得分,與預先設置的閾值進行比較采取相應動作。人臉對比的過程,使用Base64編碼字節流在云端人臉庫與客戶端之間傳輸圖像,當調用人臉檢測接口時,會為每個人臉圖像賦予一個FACE_TOKEN,將FACE_TOKEN參數作為人臉圖片的唯一標識。
本系統中物聯網技術的應用主要包括以下幾部分:物聯網終端數據采集、終端與服務器間的數據傳輸、服務器對數據的存儲和處理及客戶端的數據展示。
物聯網終端的數據采集由外置圖像傳感器終端與其他傳感器終端兩部分完成。第一終端采用外置手機的圖像傳感器,包含視頻圖片等復雜數據,采用Android處理器執行對應處理,鏈路層和運輸層采用WLAN下的UDP協議(大數據近距離)將數據傳輸給服務器;第二終端由MQ-2煙霧傳感器、HC-SR501人體紅外感應模塊和光敏電阻5506等傳感器采集相應數據,簡單數據指令經STM32單片機執行,使用BT06藍牙串口模塊傳輸數據給服務器。服務器通過WLAN下的TCP協議與客戶端實現可靠數據傳輸。用戶端對物聯網終端的反向指令控制使用同樣的數據傳輸方式。
整個系統所包括的傳感設備、處理器、服務器共處在一個局域網之中,內網間可直接使用通信。服務器在運行門禁系統程序后自動進行網絡連接,通過將MAC地址(每一個設備的MAC地址都唯一)與內網IP地址綁定,將服務器配置靜態IP地址作為服務器地址。服務器與客戶機處于不同局域網中,使用靜態NAT穿透技術將內網的IP和端口映射到外網,實現點對點的外網之間的通信。
MVP(model-view-presenter)框架模式基于MVC,與之相比具有更加細分的視圖與模型功能。視圖不直接與模型交互,而是通過與紐帶層交互來實現與模型的間接交互,使視圖更加專注于數據的可視化以及用戶的交互,同時讓模型只負責數據的處理。
主要結構如圖6所示。數據訪問層縱向分為四個模塊:分別為賬戶信息訪問、權限信息訪問、日志訪問和設備訪問;橫向分為三層(圖中僅展示兩層),分別為基類層、抽象類層和實現類層,其中基類定義了數據請求的公共方法,抽象層繼承基類提供數據訪問的抽象類,實現層繼承并實現抽象層,完成各自模塊數據請求與解析。

圖6 Model層結構
該層是View和Model交互的橋梁,主要對從View層和Model層接收的數據進行處理,將處理后的數據發送或返回到Model層和View層。
該層結構如圖7所示,主要進行界面的顯示與事件的處理。

圖7 View層結構
系統設計完成后經過一系列測試,在由2000張人臉圖片組成的樣本空間內進行了5次實驗,本系統的平均人臉識別準確率達99.89%,誤識率為0.11%,平均識別延時為1.17 ms;TCP數據報文(每次傳輸數據量為1024 b)傳輸基本穩定,有少量丟報情況,不影響系統正常使用;數據量大于10 Mb或傳輸數據頻繁時,數據延時發送導致系統出現緩慢卡頓現象,平均卡頓延時為0.25 ms,詳細數據見表1。

表1 EFIACS系統實驗數據分析
該方案基本實現一個小型的物聯網門禁系統,但與實際物聯網系統存在一定差異:本系統內的數據僅在一個單位的系統內流通,且系統可處理的數據量有限。同時,系統也具有一定的擴展性,如可使用手機自帶的NFC感應器與指紋采集器等擴展系統的認證方式,識別方式的多元化組合有助于提高系統的安全性,系統會在此基礎上進行進一步的改進。