潘志倩
(中國傳媒大學(xué) 互聯(lián)網(wǎng)信息研究院,北京100024)
基于物聯(lián)網(wǎng)的智能家居是以家庭為平臺,利用自動控制技術(shù)、網(wǎng)絡(luò)通信技術(shù)、智能感應(yīng)技術(shù)、總線技術(shù)等,將家庭生活中的通信設(shè)備、電器、家具等設(shè)施集中規(guī)劃的智能化系統(tǒng),能為住戶提供更便捷、更智能、更安全的居住環(huán)境[1]。 現(xiàn)以當(dāng)下先進(jìn)的微型計算機(jī)樹莓派為基礎(chǔ)展開課題研究,在傳統(tǒng)家居鏡子的功能之上加入了智能化技術(shù),擺脫傳統(tǒng)被動模式,使之成為具有能動性、可交互的現(xiàn)代化智能工具,為智能家居研究領(lǐng)域乃至其他領(lǐng)域提出新的產(chǎn)品架構(gòu)和技術(shù)方法,改善現(xiàn)代生活并創(chuàng)造高效、舒適的新家居情景和生活服務(wù)。
智能“魔鏡”系統(tǒng)主要由基于Linux 環(huán)境的樹莓派[2]、本地客戶端、因特網(wǎng)服務(wù)器端三部分構(gòu)成。如圖1 所示,硬件設(shè)計部分由樹莓派主控板、攝像頭、液晶顯示器屏幕、單向透視玻璃、麥克風(fēng)、音箱等設(shè)備改造和組裝而成。 樹莓派作為控制處理中心,向運(yùn)行系統(tǒng)內(nèi)置的信息流顯示客戶端、智能語音識別客戶端、智能語音交互客戶端和實時圖像調(diào)取客戶端等多個平臺和程序,向因特網(wǎng)各個服務(wù)平臺調(diào)用和獲取關(guān)鍵性中心數(shù)據(jù),使該智能“魔鏡”系統(tǒng)具有選擇性豐富的生活信息服務(wù)功能,提供效率較高的安全保障。
智能“魔鏡”系統(tǒng)采用物聯(lián)網(wǎng)三層結(jié)構(gòu)模型[3],主要包括感知層、網(wǎng)絡(luò)層和應(yīng)用層,技術(shù)架構(gòu)分別為全面感知、連接傳輸和智能計算。
圖1 智能“魔鏡”系統(tǒng)總框架設(shè)計圖
圖2 智能“魔鏡”系統(tǒng)功能架構(gòu)
本文所設(shè)計的智能“魔鏡”系統(tǒng)如圖2 所示,包括鏡面信息服務(wù)流展示平臺、智能語音交互服務(wù)、實時監(jiān)控安全防范3 個智能家居多功能模塊,旨在為使用者提供實際、便捷的智能信息服務(wù)和準(zhǔn)確、實時安全的生活安全保障。
信息服務(wù)流展示模塊夠為用戶提供直觀及時的電子時鐘及日期、實時天氣信息及預(yù)報、客制化文本展示、實時新聞內(nèi)容等服務(wù),并定期進(jìn)行更新。 智能語音交互平臺模塊完成娛樂服務(wù)、智能家居控制、生活資訊檢索等功能。 實時監(jiān)控安全防范平臺模塊可定時獲取攝像頭拍攝的圖像,或在鏡面、電腦端、手機(jī)端等平臺看到實時監(jiān)控畫面。
本文所設(shè)計的智能“魔鏡”系統(tǒng)使用的硬件包括核心處理器樹莓派、數(shù)據(jù)流展示界面顯示屏、感知層非結(jié)構(gòu)化多媒體數(shù)據(jù)采集和錄入設(shè)備麥克風(fēng)和攝像頭、音頻數(shù)據(jù)輸出設(shè)備音箱等,主要作用是為使用者與“魔鏡”系統(tǒng)之間進(jìn)行數(shù)據(jù)交互式傳輸,提供輸入輸出服務(wù)。
為滿足智能“魔鏡”系統(tǒng)在家居應(yīng)用場景中靈活、輕便的需求,本設(shè)計選擇使用樹莓派(Raspberry Pi)3 代B+型作為該系統(tǒng)核心處理器和關(guān)鍵硬件平臺,接收感應(yīng)層采集到的數(shù)據(jù)并傳向應(yīng)用層,同時接收應(yīng)用層的反饋數(shù)據(jù)向使用者進(jìn)行呈現(xiàn)。
智能“魔鏡”信息流顯像平臺是智能鏡顯示和人機(jī)交互的基礎(chǔ)模塊,依托顯示技術(shù),選擇對可見光具有高反射、能實現(xiàn)單向透視原理的單向透視玻璃鏡與和液晶屏顯示器改造組裝而成。 既可維持傳統(tǒng)鏡子的成像特性,也可將鏡子后液晶顯示屏上的信息顯現(xiàn)而出。
影像捕捉硬件連接方式采用了CSI 接口連接方法,選取了攝像頭RPi Camera 作為元器件,該攝像頭具有500 萬像素,模組為OV5647,視場角約為60.6°。 使用15PIN FFC 即一條十五芯的排線與樹莓派的CSI 相機(jī)接口進(jìn)行連接。
智能“魔鏡”系統(tǒng)軟件設(shè)計流程圖如圖3所示。
Diet-Pi 是一個專為樹莓派設(shè)計的纖薄版操作系統(tǒng)。 其總鏡像(image,Linux 系統(tǒng)內(nèi)核映像文件)大小始于400 MB 左右,足足輕于樹莓派官方提供的Raspbian Lite 系統(tǒng)有三倍之多。經(jīng)實驗可以得出, 即使在安裝桌面及基本軟件之后Diet-Pi 系統(tǒng)占用空間亦不到1.3 GB。
圖3 系統(tǒng)軟件設(shè)計流程圖
主界面信息流展示模塊采用瀏覽器/服務(wù)器模式(Browser/Server),由一個匯集了HTML(超文本語言)、CSS(層疊樣式表)、JavaScript 等靜態(tài)資源和提供數(shù)據(jù)接口API 的本地網(wǎng)頁構(gòu)成,瀏覽器訪問該網(wǎng)頁后持續(xù)不斷地通過API 接口以TCP/IP 的傳輸協(xié)議向相對應(yīng)的服務(wù)器端發(fā)出數(shù)據(jù)獲取的請求,而API 接口所對應(yīng)的數(shù)據(jù)庫和應(yīng)用程序即遠(yuǎn)程服務(wù)器,在建立連接和接收到請求命令后將會返回響應(yīng)結(jié)果。
語音喚醒模塊采用Snowboy 作為喚醒引擎。 Snowboy是一個嵌入式的實時語音監(jiān)聽檢測引擎,能夠運(yùn)行一個完整的自動語音識別過程(Automatic Speech Recognition,ASR[4])來進(jìn)行觸發(fā)詞的監(jiān)控檢測,語音喚醒流程如圖4所示。 樹莓派等設(shè)備獲取到語音后,會持續(xù)監(jiān)視自動語音識別轉(zhuǎn)錄過程中特定觸發(fā)詞的出現(xiàn),很好地解決了自動語音識別過程消耗大量設(shè)備和帶寬資源問題,同時為用戶使用基于云的解決方案時提供隱私安全保護(hù)的服務(wù)。
圖4 語音喚醒流程
語音交互模塊采用百度DuerOS 提供的Linux 版本DCS 協(xié)議的智能設(shè)備語音交互開發(fā)包完成開發(fā)。 該SDK提供了如有聲直播、新聞、生活信息等全方面云服務(wù)BOT 配置,可調(diào)用媒體播放器,獲取設(shè)備信息和對設(shè)備進(jìn)行操控,配合小度之家SDK 能完成網(wǎng)絡(luò)配置配對等物聯(lián)網(wǎng)基礎(chǔ)功能。
語音識別流程如圖5 所示。 客戶端通過get 請求向服務(wù)平臺發(fā)送數(shù)據(jù)建立長鏈接,以HTTP post 方式上傳指令音頻。 服務(wù)器端通過語音活動檢測(Voice Activity Detection,VAD[5])檢測語音輸入完成后,發(fā)送反饋Directive 推送命令,隨即客戶端播放反饋音頻。
圖5 語音識別流程
該模塊運(yùn)行圖片監(jiān)控腳本程序代碼,定時通過攝像頭獲取實時圖像, 基于七牛云的Python SDK 建立本地客戶端并連接互聯(lián)網(wǎng)后,將本地獲取的圖片實時上傳至七牛云云端存儲器。七牛云存儲服務(wù)是以鍵值對的方式提供非結(jié)構(gòu)化資源存儲服務(wù)。 圖像監(jiān)控流程如圖6 所示。
圖6 圖像監(jiān)控流程
該模塊主要采用Nodejs+WebSocket 和內(nèi)網(wǎng)穿透的方式實現(xiàn)功能。 WebSocket[6]是HTML5 的一項持久化的協(xié)議,只需要一個HTTP 握手即可建立長事件的連接。NAT內(nèi)網(wǎng)穿透技術(shù)[7]實現(xiàn)不同局域網(wǎng)內(nèi)的主機(jī)進(jìn)行通信。 啟動WebSocket 繼電器,在本地終端執(zhí)行HTTP-Server 命令將攝像頭獲取的視頻流提供給瀏覽器,通過內(nèi)網(wǎng)穿透客戶端生成Ngrok 服務(wù)器,啟動隧道,部署內(nèi)網(wǎng)地址映射到域名上, 通過域名查看當(dāng)前攝像頭所拍攝的畫面。實時視頻監(jiān)控流程如圖7 所示。
圖7 實時視頻監(jiān)控流程
最終鏡面效果如圖8 所示,整體內(nèi)容輕重得當(dāng),UI簡潔清晰,合理美觀的布局確保了使用者能夠在短時間內(nèi)看到關(guān)鍵信息和資訊內(nèi)容。
圖8 鏡面效果圖
語音功能測試中,程序能夠主動識別語音中所包含的喚醒詞,并進(jìn)入高頻率記錄語音信息狀態(tài),所有語音數(shù)據(jù)信息都能被程序解析和記錄。 當(dāng)使用者說出“播放一段新聞”的指令后,程序開始對該指令進(jìn)行識別,并將字詞解析為文本,上傳云端調(diào)用相應(yīng)的資訊信息并播放反饋,最終完成整個語音交互過程。 語音終端運(yùn)行結(jié)果如圖9 所示。
監(jiān)控功能測試中,系統(tǒng)自動定時開啟攝像頭進(jìn)行拍攝, 使用者能夠通過PC 端或手機(jī)端對攝像頭實時拍攝的畫面進(jìn)行監(jiān)看,家居安全防范的基本需求得到滿足。
經(jīng)大量實際測試,“魔鏡”系統(tǒng)工作穩(wěn)定,語音交互成功率為95%, 實時監(jiān)控部分存在圖像延遲0.5 s~1 s現(xiàn)象,但能平穩(wěn)運(yùn)行。
本文主要提出了一個匯集智能數(shù)據(jù)展示、語音交互生活服務(wù)、簡易安全防范生活保障等方面的智能家居中心平臺解決方案,同時結(jié)合了樹莓派、網(wǎng)頁前端設(shè)計、物聯(lián)網(wǎng)通信技術(shù)、云端服務(wù)平臺等多項技術(shù)與服務(wù)支持,基于多項硬件的部署和軟件的開發(fā)設(shè)計,基本實現(xiàn)了能夠提供多項技能和生活服務(wù)功能的智能家居“魔鏡”系統(tǒng)。
圖9 語音終端運(yùn)行結(jié)果
從創(chuàng)新和實際使用角度分析,該系統(tǒng)以樹莓派為平臺,在系統(tǒng)運(yùn)行、外設(shè)擴(kuò)展和網(wǎng)絡(luò)性能等方面都要比基于51 單片的系統(tǒng)或以Arduino 為平臺的系統(tǒng)更具有優(yōu)勢,同時在運(yùn)行系統(tǒng)上采用小巧靈動的Diet-Pi 系統(tǒng),不但具有豐富的軟件支持,而且在使用和操作上更加簡易和方便,是區(qū)別于更多人使用相對厚重的Raspbian 系統(tǒng)的一次成功的實驗和創(chuàng)新。