姜強(qiáng)強(qiáng)+陳夢楠
摘 要:在樹莓派開發(fā)板安裝Windows loT,利用微軟認(rèn)知服務(wù)的人臉識別技術(shù)、Windows 10通用應(yīng)用開發(fā)技術(shù)以及Microsoft Azure云服務(wù)平臺構(gòu)建安全家居管理系統(tǒng)。主要功能有:回家刷臉進(jìn)門;阻擋嫌疑訪客并拍照記錄;監(jiān)控家中火源,獲取家中溫濕度;遠(yuǎn)程控制門鎖開關(guān)。
關(guān)鍵詞:物聯(lián)網(wǎng);樹莓派;微軟人臉識別API;Azure云服務(wù);Windows 10
引言
物聯(lián)網(wǎng)技術(shù)被看作是信息領(lǐng)域一次重大的發(fā)展和變革機(jī)遇,從通信對象和過程來看,物聯(lián)網(wǎng)技術(shù)的核心是物與物以及人與物之間的信息交互,可實現(xiàn)信息獲取、信息傳輸、信息處理等功能。[1]使用微軟最新的物聯(lián)網(wǎng)技術(shù)+C/S結(jié)構(gòu)+云服務(wù)模式實現(xiàn)當(dāng)前用戶的需求,整個系統(tǒng)架構(gòu)設(shè)計清晰且易于后期的維護(hù)與升級。
1 硬件技術(shù)平臺、軟件開發(fā)平臺
1.1 樹莓派
樹莓派(英語:Raspberry Pi)是英國的樹莓派基金會開發(fā)的微型計算機(jī),因為它便宜的價格,信用卡般的大小和強(qiáng)大的性能,迅速被推向市場,在其基礎(chǔ)上搭建了各種平臺以實現(xiàn)特定的需求?;跇漭伤远x的安全家居系統(tǒng)可實現(xiàn)基礎(chǔ)功能,加上傳感器、攝像頭等部件便可進(jìn)行識別、監(jiān)測室內(nèi)狀況。[2]
1.2 開發(fā)平臺——Windows10
Windows10是一款支持PC、平板、手機(jī)、物聯(lián)網(wǎng)硬件等跨設(shè)備的操作系統(tǒng)。Windows10通用應(yīng)用程序原生支持X86架構(gòu)和ARM架構(gòu),此平臺支持基于云的服務(wù)——通知服務(wù)、漫游數(shù)據(jù)、Azure等。[3]Windows10支持多種開發(fā)語言,本系統(tǒng)中的程序主要采用C#語言編寫。
2 系統(tǒng)設(shè)計與架構(gòu)
2.1 設(shè)計思路
采用運行Windows10 IoT core的樹莓派2代作為中控主機(jī);使用Microsoft Azure作為云服務(wù)數(shù)據(jù)處理平臺,同時也作為樹莓派與客戶端的通信平臺;運行于跨設(shè)備的UWP(Universal Windows Platform)應(yīng)用作為客戶端。
2.2 Azure云服務(wù)平臺——服務(wù)器、數(shù)據(jù)庫、人臉識別API
Azure服務(wù)器端的程序?qū)崿F(xiàn)數(shù)據(jù)的增刪改查,Azure端同時存在一個照片庫即人臉信息表(Face List)將用戶上傳的照片使用API處理成Face List,當(dāng)程序調(diào)用人臉對比API時,將樹莓派端傳來的照片作為參數(shù)傳入,與Face List進(jìn)行匹配,得出結(jié)果并根據(jù)識別結(jié)果創(chuàng)建相應(yīng)通知消息并推送至客戶端;在Azure的數(shù)據(jù)庫中創(chuàng)建用戶表、通知表、溫濕度狀態(tài)表、陌生人表等主要信息表。
2.3 樹莓派配置
硬件配置:攝像頭、溫濕度傳感器、紅外傳感器、擴(kuò)音器、電鎖。
軟件配置:初始化設(shè)備程序——獲取GPIO控制器,將所有接入設(shè)備的引腳的初始電壓置為高(GpioPinValue.High);溫濕度傳感器程序——設(shè)置Timer計時器事件[4],每隔3分鐘觸發(fā),為溫濕度傳感器傳入低電壓進(jìn)行工作(默認(rèn)不工作的狀態(tài)是高電壓),記錄當(dāng)前的數(shù)據(jù)并存儲至Azure數(shù)據(jù)庫,若溫度過高(疑似有起火狀況),則創(chuàng)建消息通知從服務(wù)器發(fā)送至客戶端;紅外傳感器程序——當(dāng)有人靠近時,觸發(fā)相應(yīng)的事件處理程序并調(diào)用攝像頭;攝像頭工作處理程序——將攝像頭拍攝的照片序列化成流作為請求體,發(fā)送Post請求至服務(wù)器。
2.4 客戶端——UWP應(yīng)用
注冊用戶:根據(jù)用戶填寫的信息,以及選擇的照片將用戶信息存入創(chuàng)建的數(shù)據(jù)庫,照片序列化成流存入Azure用于人臉識別的圖片庫中(Face List)。
查看溫濕度:樹莓派測得的數(shù)據(jù)存入數(shù)據(jù)庫,再將數(shù)據(jù)讀出查出顯示到當(dāng)前頁面。
查看陌生人列表:非家庭成員多次訪問失敗,將自動拍照保存至數(shù)據(jù)庫,采用ListView列表控件來顯示,創(chuàng)建相應(yīng)模型,將從數(shù)據(jù)庫中的數(shù)據(jù)處理成此模型的List集合綁定于ListView控件。[5]
遠(yuǎn)程開關(guān):客戶端開關(guān)按鈕事件向服務(wù)器發(fā)送請求,服務(wù)器處理程序?qū)⒂|發(fā)樹莓派中的門鎖開發(fā)處理事件,實現(xiàn)門鎖的開與關(guān)。
3 技術(shù)分析
3.1 人臉識別API使用
3.2 推送通知
開發(fā)者首先將通知消息內(nèi)容發(fā)送到微軟的云服務(wù)器上(推送服務(wù)器),由推送服務(wù)器將消息發(fā)送到用戶設(shè)備上。推送服務(wù)器通過為每個應(yīng)用程序分配一個唯一的URI來確定將通知轉(zhuǎn)發(fā)給目標(biāo)用戶。每個客戶端運行后需要向推送服務(wù)器申請一個URI,將要推送通知的內(nèi)容(XML格式的文檔)以HTTP Post方式發(fā)送到該通道的URI即可。在向服務(wù)器提交的字段中包含應(yīng)用在應(yīng)用商店的SID值和客戶端密鑰,提交方式為Post。[8]
4 功能模塊及展示
4.1 功能模塊
訪客控制:在HC-SR501人體紅外感應(yīng)模塊探測到人體后,樹莓派會自動啟動攝像頭捕獲人臉,獲取到清晰人臉后,將圖像以Post消息體的方式發(fā)送給位于Azure上的Face Recognition API,將圖像處理并返回每個人臉唯一對應(yīng)的FaceId,并返回給系統(tǒng),系統(tǒng)將此FaceId與數(shù)據(jù)庫中的FaceId進(jìn)行比對返回此人的相應(yīng)權(quán)限。如果系統(tǒng)判定此人有權(quán)進(jìn)入,將會發(fā)送通知至PC/手機(jī)客戶端。若有人多次識別失敗,客戶端也會收到相應(yīng)的警告,并將此人照片存儲至數(shù)據(jù)庫供用戶查看陌生人。
溫濕度監(jiān)測:通過DHT11溫濕度模塊每5分鐘獲取樹莓派所處環(huán)境的溫度和濕度,并發(fā)送至Azure中,系統(tǒng)將簡單分析并自行存儲至數(shù)據(jù)庫中。用戶可以從客戶端獲取溫濕度數(shù)據(jù)。
安全分析:通過火焰?zhèn)鞲衅髂K監(jiān)視的火警狀況;訪客控制給出的可疑訪客等形成的數(shù)據(jù),形成圖表化的安全簡報。
遠(yuǎn)程開關(guān)控制:通過HTTP請求,實現(xiàn)門鎖開關(guān)控制,以方便臨時訪客的進(jìn)入。
4.2 項目展示(見圖2、圖3)
5 結(jié)束語
安全家居產(chǎn)業(yè)受到許多廠商的青睞,在激烈的競爭中安全家居智能產(chǎn)品將不斷完善。接下來可開發(fā)的功能有:對接微信平臺,用戶可以通過微信收到推送消息實時獲得家中的情況;加入聲紋識別等技術(shù),進(jìn)一步提升安全可靠性。
參考文獻(xiàn)
[1]孫其博,劉杰,黎 ,等.物聯(lián)網(wǎng):概念、架構(gòu)與關(guān)鍵技術(shù)研究綜述[J].北京郵電大學(xué)學(xué)報,2010,33(3):1-3.
[2]劉繼元.基于樹莓派的物聯(lián)網(wǎng)應(yīng)用[J].電子世界,2016(8):1-2.
[3]林政.深入淺出Windows10通用應(yīng)用開發(fā)[M].北京:清華大學(xué)出版社,2016:3-12.
[4]Microsoft.Windows開發(fā)人員中心[EB/OL].(2016)[2015-12-23].https://developer.microsoft.com/en-us/windows/iot/samples/kitblinky.
[5]耿肇英,周真真,耿焱.C#應(yīng)用程序設(shè)計教程(第2版)[M].北京:人民郵電出版社,2010:70-71.
[6]Microsoft.Cognitive Service[EB/OL].(2016)[2016-03-30].
[7]Microsoft.Cognitive Service[EB/OL].(2016)[2016-03-30].
[8]周家安.Windows10應(yīng)用開發(fā)實戰(zhàn)[M].北京:清華大學(xué)出版社,2015:343-350.