李曉峰,張銀慧,石大琨
(天津仁愛學院,天津 301636)
隨著人們安全意識的不斷增強,視頻監控、智能門鎖和智能門鈴等安防設備開始走進普通家庭。傳統的機械門鎖和普通貓眼只能滿足居家安防基本需求,存在門禁控制方式單一、監控視頻僅可為事后分析調查提供證據、對突發緊急情況無法提供預警或報警提醒等弊端[1]。文章設計基于物聯網技術的智能居家安防系統,旨在提升居家安防的智能化和人性化水平,在具備基本的安防監控功能的基礎上,綜合應用物聯網、云平臺、傳感器、自動控制以及嵌入式系統等技術,滿足用戶身份識別、門禁控制、災情預警及遠程操控等實際需求。同時,系統實現本地設備、云平臺和手機App 之間的互聯互通。本地設備通過識別、分析傳感器采集的有用信息,快速判斷異常情況,并自動發出警報信息或者觸發后續處理動作[2];云平臺實現數據的上傳下載和云端存儲,手機App 的命令下發等;手機App 可以實現遠程實時操控。
基于物聯網、云平臺和嵌入式系統設計等技術,以多功能門禁和居家環境監測為主體的智能居家安防系統所采用的物聯網技術架構方案如圖1 所示。

圖1 智能居家安防系統采用的物聯網技術架構
系統感知層主要包括DHT11 溫濕度傳感器、MQ-2 煙霧氣敏傳感器、紅外火焰傳感器、RCWL-5016毫米波雷達感應開關、光敏電阻模塊以及RFIDRC522 射頻模塊等信號采集傳感器??刂茖硬捎么钶d意法半導體的STM32F429IGT6 微控制器的嵌入式開發平臺作為核心,還采用SG90 舵機用于驅動門鎖開關和控制監控攝像頭旋轉的云臺等。傳輸層包括基于消息隊列遙測傳輸(Message Queuing Telemetry Transport,MQTT)協議的ESP8266 通信模塊和ESP32-CAM 網絡攝像頭用于數據上傳和命令下發。數據層采用阿里云物聯網平臺,實現數據的云端存儲和實時訪問。同時,開發手機App 與整個系統無縫銜接,實現隨時隨地監控居家安防系統的狀態和處理信息等[3]。
1.2.1 STM32F429IGT6 嵌入式系統開發
意法半導體的STM32F429IGT6 微控制器基于Arm Cortex-M4 32 位快速指令集計算機(Reduced Instruction Set Computing,RISC)內核,其工作頻率可達180 MHz,內置多達1 MB Flash 和256 kB 隨機存取存儲器(Random Access Memory,RAM),并集成豐富的外設模塊和充足的輸入輸出(Input/Output,I/O)端口,芯片封裝引腳為薄型四方扁平封裝(Low-profile Quad Flat Package,LQFP),共176 個引腳。該設備配備一個12 位的模數轉換器(Analog to Digital Converter,ADC),實現數據采集等功能?;赟TM32F429IGT6 微控制器的核心板硬件資源配置如圖2 所示。

圖2 STM32F429IGT6 核心板硬件資源配置
設計中利用意法半導體的STM32 芯片的圖形化配置工具STM32CubeMX 和集成開發環境Keil uVision5.26 進行嵌入式系統開發,STM32CubeMX 允許用戶使用圖形化向導生成C 語言初始化代碼,大大減少開發工作,節省時間和費用,提高開發效率;在Keil 軟件中安裝STM32F429IGT6 芯片的支持軟件包Keil.STM32F4xx_DFP.pack 后,使用Keil MDK5 進行程序設計和編譯等。
基于STM32F429IGT6 的智能居家安防系統硬件資源功能架構如圖3所示。其中,DHT11溫濕度傳感器、MQ-2 煙霧傳感器、紅外火焰傳感器等各類傳感器采集居家環境參數;光敏電阻和RCWL-5061 毫米波雷達檢測活動人體;有機發光二極管(Organic Light-Emitting Diode,OLED)顯示屏、發光二極管(Light-Emitting Diode,LED)燈和蜂鳴器提供系統狀態信息和報警提醒;門鎖舵機和云臺舵機分別控制門禁開關和監控攝像頭的旋轉;4×4 矩陣鍵盤和RC522 射頻識別讀寫模塊用作人機交互;ESP8266 Wi-Fi 模塊實現云平臺和本地設備之間的網絡通信。

圖3 智能居家安防系統硬件資源功能架構
1.2.2 ESP8266 透傳通信模塊
ESP8266 作為一款超低功耗基于通用異步收發傳輸器(Universal Asynchronous Receiver/Transmitter,UART)接口的Wi-Fi 透傳模塊,基于串行通信發送和接收數據字符,廣泛應用于智能家居、環境監測和智能控制等物聯網領域,可將用戶的物理設備連接于Wi-Fi 網絡,進行互聯網或局域網通信[4]。ESP8266利用MQTT 物聯網通信協議和透傳AT 固件,通過AT 指令開發控制硬件設備,并通過MQTT 協議訂閱阿里云物聯網平臺實現設備終端和云端的雙向通信傳輸[5]。ESP8266 透傳通信模塊功能架構如圖4 所示。

圖4 ESP8266 透傳通信模塊功能架構
1.2.3 ESP32-CAM 無線監控模塊
ESP32-CAM 結合OV2640 或OV7670 攝像頭廣泛應用于無線監控和家庭智能設備圖像傳輸等物聯網應用領域。無線監控模塊利用云臺舵機能夠控制攝像頭的拍攝角度和旋轉方向,使用ESP32-CAM 拍攝居家環境,并通過Wi-Fi 網絡上傳到云端,用戶可以使用發布-訂閱模式來實現消息的發布和訂閱,訂閱者可以及時收到上傳到云端的圖片或視頻流數據地址[6]。設計中,ESP32-CAM 基于Arduino 開源平臺開發,ESP32-CAM 無線監控模塊的控制與數據上傳功能架構如圖5 所示。

圖5 ESP32-CAM 無線監控模塊功能架構
阿里云物聯網平臺是阿里云專門為物聯網領域服務的云平臺,旨在幫助用戶搭建安全且性能強大的數據通道,方便設備終端和云端的雙向通信[7]。系統設計完成后只需在平臺上注冊產品與設備,通過MQTT 協議訂閱,即可實現消息通知、數據上傳、命令下發及數據存儲分析等。
基于阿里云物聯網應用開發工具IoT Studio 平臺開發Android 手機App,實現手機終端與阿里云物聯網平臺之間的數據互聯互通,并將數據顯示于App界面,便于用戶獲取系統相關實時數據。同時,可以通過App界面的按鈕實現控制命令的下發和消息上傳,如對云臺舵機和門禁開關的控制等。云端應用設計架構如圖6 所示。

圖6 阿里云云端應用功能架構
門禁系統為用戶提供鍵盤密碼輸入、近場通信(Near Field Communication,NFC)刷卡和手機App遠程操控3 種不同的開鎖方式。3 種開鎖方式可以獨立使用也可以相互結合,既方便又安全高效。對于臨時訪客或不方便開門的情況下,用戶也可以通過手機App 實現門禁的遠程開啟和關閉操作,且能夠為訪客提供臨時訪問密碼和權限。多樣化的門禁開鎖方式既便于針對不同的用戶類型設置不同的門禁開啟模式和權限,又可以解決安全隱患問題,如忘帶鑰匙、鑰匙丟失等[8]。智能門禁系統開鎖方式流程圖如圖7 所示。

圖7 門禁系統開鎖方式流程圖
3 種開鎖方式的具體開鎖流程如下。
一是4×4 矩陣鍵盤輸入密碼解鎖:用戶通過按下鍵盤上的0 ~9 數字鍵輸入6 位解鎖密碼并按“#”鍵確認,如果密碼輸入正確則觸發開門程序并驅動門鎖舵機轉動180°,此時蜂鳴器將響起“開門密碼正確”的音效,OLED 顯示屏顯示“Open Door”字樣;如果連續3 次密碼輸入錯誤,門禁將鎖定,蜂鳴器發出報警聲音,同時系統將通過微信小程序向用戶手機發出報警提醒,此時需要在手機App 界面點擊“解鎖”按鈕才能解除鎖定。
二是NFC 門禁刷卡解鎖:RC522 射頻識別模塊內置在矩陣鍵盤后面,當把正確的門禁卡或帶有NFC功能并已錄入門禁卡信息的智能手機放在識別區,若驗證成功,就可以聽到“滴-滴”的提示音效,此時舵機轉動門禁打開。
三是手機App 遠程開門:用戶在手機App 界面直接點擊“開門”鍵即可實現遠程一鍵解鎖開門;當遇到突發危險情況時,也可以點擊“鎖定”按鍵一鍵鎖定門禁系統。
門禁系統人體檢測主要由RCWL-5016 毫米波雷達感應開關和光敏電阻模塊組成,工作流程如圖8 所示。當有人體或活動物體經過門禁時會自動觸發毫米波雷達感應開關,直至系統不再檢測到人體,同時本地記錄數據“經過人次”加1,并在下次數據上傳云端時自動更新記錄數據。若此時光敏電阻模塊檢測到環境光線強度不足,內置LED 照明燈將自動開啟,提供輔助照明,便于監控攝像頭拍攝清晰的畫面;OLED顯示屏也點亮,進入準備工作狀態。當有人在檢測范圍內停留超過15 s 時,門禁系統將自動觸發警報,提醒用戶存在非正常用戶的異常逗留情況。若發生誤警報,用戶可通過輸入門禁密碼、刷卡或在手機App 上按下“開門”鍵來解除警報,且20 s 內不會再次觸發警報。

圖8 門前人體檢測流程
RCWL-5016 毫米波雷達感應開關在門禁前5 m左右范圍內,當檢測到存在超過15 s 設定時間的非正常逗留人員或非法開鎖、暴力撬門等異常情況時,蜂鳴器發出警報的同時頻閃LED 燈,以便警告非正常人員,同時系統通過微信小程序立刻向用戶報警。
當發生火災等突發狀況時,MQ-2 煙霧傳感器、DHT11 溫濕度傳感器和紅外火焰傳感器會監測到環境空氣質量突然異?;驕囟韧蝗簧?,若數據超過提前設定的閾值,系統將利用微信小程序向用戶手機發出預警提醒,同時觸發蜂鳴器報警并自動開啟LED燈為用戶安全撤離提供方向指引和照明。
系統搭載的各類信號采集傳感器通過ESP8266通信模塊連接到阿里云物聯網平臺,手機App 連接阿里云服務器,最終實現居家環境和工作狀態數據的上傳、手機App 端的命令下發和系統設備的遠程無線控制。這樣即使用戶在異地也可通過手機或云端控制臺輕松管理門禁設備的開關和查看其他居家信息等。ESP32-CAM 無線監控模塊和網絡攝像頭實時監控門禁工作狀態和居家環境信息,監控視頻流上傳到阿里云服務器便于用戶實時掌握居家安全狀態。特殊情況下,用戶能夠通過手機App遠程控制云臺舵機來操縱、旋轉攝像頭實現監控圖像的全方位捕獲和跟隨。
為優化網絡資源,本地存儲數據將定時通過ESP8266 模塊上傳至云端,定時更新的優點在于非緊急信息可以不用頻繁上傳,以免占用數據資源和通信鏈路。設計中,上傳云端存儲的數據包括開門次數、經過人次、報警次數、溫度以及濕度5 類信息。
OLED 顯示屏不僅可以顯示實時時間和環境監測信息,還可以用來提示門禁開關如何解鎖、門禁密碼輸入是否驗證成功、正確開門后自動關門的倒計時提示等。同時,OLED顯示屏和LED燈具有自動休眠功能,只有檢測到門前有人停留或環境光照不足時,才會判斷是否點亮,既節能省電,又降低了OLED 屏幕連續長時間工作導致燒屏的概率。
基于物聯網和云平臺技術的智能居家安防系統整體設計效果如圖9 所示。外觀設計在數字建模后采用3D 打印技術制作完成,實物樣機外觀整潔,模塊布局合理,操作方便,功能完備,各項設計功能均調試并驗證通過。

圖9 系統樣機整體效果
基于阿里云物聯網應用開發工具IoT Studio 平臺開發的Android 手機App,其用戶界面設計清晰直觀、操作簡單。手機App 人機交互界面如圖10 所示,能夠監測和遠程控制操作居家安防系統,如門禁的開關、云臺的控制和監測數據的查看等。

圖10 手機App 人機交互界面
手機App 人機交互界面中,“鎖定”按鈕可以禁止任何方式的驗證觸發開門,以達到日常居家反鎖的功能。該“鎖定”功能可以通過“解鎖”按鈕解除,解除鎖定后即可恢復各種形式的開門觸發;通過界面上的“上”、“下”、“左”以及“右”4 個按鈕遠程操控云臺舵機,達到轉動監控攝像頭改變拍攝角度,實現360°無死角監控;點擊“觀看視頻”按鈕可以查看攝像頭的實時監控畫面,當發現有異常情況時,可以利用“警報響聲”按鈕立即開啟警報。
文章從提高居家生活的安全性、便利性、智能化以及網絡化出發,設計基于物聯網、云平臺和嵌入式技術開發的智能居家安防系統。該系統強化云平臺、手機App 與本地設備的互聯互通,在門禁控制和視頻監控基本功能的基礎上,創新實現陌生人異常逗留和火災等緊急情況下的系統報警提醒與緊急輔助照明,利用手機App 遠程操控攝像頭實現無遮擋情況下監控圖像的捕獲和跟隨,緊急狀態下的手機一鍵“鎖定”門禁和開啟“警報響聲”等,能夠有效進行事前預警、事中處理、事后及時取證。另外,系統設計中融入節能環保的理念,進一步提升居家生活的安全性,擴大應用場景范圍。