王耀彬 鄭風
摘要摘要:傳統(tǒng)的智能家居都依賴于單一的家庭網(wǎng)關中心,而多屏互動則大多應用于流媒體的即時推送與點播。通過對UPnP技術的擴展和應用,將多屏互動技術應用到智能家居控制系統(tǒng)中,成功設計與實現(xiàn)了多屏互動系統(tǒng),改變了集中式智能家居控制方式,滿足了智能終端間媒體資源和智能家居控制軟件的即時推送和點播控制。實驗結果表明,媒體平均傳輸延遲控制最大增量為50ms/h,流量傳輸時間得到了有效控制。
關鍵詞關鍵詞:多屏互動;智能家居;UPnP
DOIDOI:10.11907/rjdk.171422
中圖分類號:TP319
文獻標識碼:A文章編號文章編號:16727800(2017)005011003
0引言
智能家居是互聯(lián)網(wǎng)物聯(lián)化的體現(xiàn),它以住宅為平臺,將智能家居網(wǎng)關作為家居控制核心,通過網(wǎng)絡化綜合智能控制和管理,將家居生活設施集成,構建高效的住宅設施與家庭日程事務管理系統(tǒng)[12]。多屏互動技術則通過WiFi網(wǎng)絡連接,在不同多媒體終端上進行多媒體內(nèi)容的傳輸、解析、展示、控制等一系列操作,在不同平臺設備上同時共享展示內(nèi)容[34]。
本文通過對UPnP技術的擴展和應用,將多屏互動技術應用到智能家居系統(tǒng)中,設計了一款集流媒體和應用軟件即時推送與多屏點控軟件。該軟件不僅實現(xiàn)用戶手機與智能家居網(wǎng)關中心間音頻、視頻、圖片多屏互動娛樂功能,而且實現(xiàn)家居控制軟件的共享與即時點控,取代了以往單一、集中式的智能家居控制方式,讓用戶在接入WiFi的狀態(tài)下,手持移動終端便能“隨處”對智能家居進行控制,從而達到“多屏互動”控制智能家居的目的。
1多屏互動智能家居系統(tǒng)架構
1.1系統(tǒng)功能結構
系統(tǒng)模塊功能如下:控制播放模塊負責對家居控制軟件和媒體共享推送和多屏控制;虛擬目錄模塊負責共享家居網(wǎng)關中心的媒體文件,分類建立索引,供用戶使用;管理和建立連接模塊負責網(wǎng)絡下的設備發(fā)現(xiàn)、建立連接、監(jiān)聽以及設備撤銷等管理操作;媒體傳輸模塊負責共享后的媒體文件傳輸。
系統(tǒng)控制架構工作流程分為6個階段:基于DHCP協(xié)議的設備尋址、基于SSDP協(xié)議的設備發(fā)現(xiàn)、基于Mini Web Server模塊的設備描述、基于SOAP(簡單對象訪問協(xié)議)的設備控制、基于GENA(通用事件提醒框架)事件處理和基于Http協(xié)議消息處理的播放展示。通過該流程的協(xié)同,可以實現(xiàn)控制器與服務器端間的有效多屏互動[67]。
1.2設備互聯(lián)設計
系統(tǒng)設備互聯(lián)設計包括設備文件描述設計、服務描述設計和事件控制設計。
一個設備的UPnP描述包含所有嵌入式設備定義、多個特定廠商信息和設備展示URL以及所有服務列表,包括事件觸發(fā)URL和控制URL[5,8]。本系統(tǒng)XML設計中,設備的最外層為root標簽定義,由device、specVersion、iconList三部分組成。表1描述了系統(tǒng)設備文件描述集合。
本系統(tǒng)的服務描述主要由Date類型、State變量和Action變量組成范圍和事件特征。表2為系統(tǒng)服務描述集合。
系統(tǒng)控制時序流程描述如下: UPnP設備加入網(wǎng)絡,然后搜索鄰居設備和可訂閱服務,完成后作為服務控制點進行遠程控制;同時監(jiān)聽時間狀態(tài)變量值,當事件狀態(tài)變化后立即更新,防止混亂的操作行為。
2多屏互動系統(tǒng)關鍵技術實現(xiàn)
2.1設備地址處理
設備和網(wǎng)關加入系統(tǒng)網(wǎng)絡后,地址的獲取和確認是保證通信的第一步。如圖1所示,設備首先發(fā)出一條DhcpDiscover消息請求IP地址,然后該設備一直處于監(jiān)聽狀態(tài),一旦收到DhcpOffer消息便會分配動態(tài)地址;如果請求超時,則會自動配置靜態(tài)IP地址。
為確定DHCP服務器的存在,必須對自動配置了IP地址的設備進行定時檢查。每5分鐘發(fā)送一次DHCPDISCOVER消息來進行檢查,該檢查頻度可達到有效維護連接性和節(jié)省網(wǎng)絡帶寬的平衡。收到DHCP信息后,設備立即進行動態(tài)地址分配。該動作完成后,設備即可釋放自動配置的地址,或者暫時保留該地址以維持連接性。如果要進行IP地址轉換操作,設備則必須取消有關原地址的公開宣告并進行刷新操作。
2.2控制點與設備的交互處理
當UPnP設備搜索到鄰居節(jié)點,并查詢到此鄰居節(jié)點提供的服務,便能維護該設備的服務狀態(tài)。而服務控制設備則在XML描述文檔中解析出相關的設備事件,并提醒其進行響應服務。所有操作都基于TCP的HTTP協(xié)議進行,并關聯(lián)到預定義的相關事件URL,這些URL均提前注冊在描述文檔XML中。
控制點與設備交互處理流程如圖2所示。當UPnP設備加入網(wǎng)絡之后,首先進行尋址,將SSDP報文(包括設備、服務等)以廣播的形式發(fā)送出去,用以查詢鄰居設備是否存在。一旦收到單播回應消息,便建立其設備間的鄰居關系;如果一直沒有收到回應消息,則會繼續(xù)定時發(fā)送SSDP廣播報文持續(xù)檢測。設備鄰居關系建立后,本地設備之間會相互查詢鄰居設備訂閱的服務,如果合法則允許傳輸相關的媒體和家居控制信息。
2.3媒體和控制軟件的軌跡和響應處理
每個UPnP動作均被封裝成為一個獨立的函數(shù),該函數(shù)原型為:intupnp_action(INDocument*in,OUTDocument**out,OUTchar**errorString)。它首先傳入一個指定動作參數(shù)的XML文檔,并要求創(chuàng)建相應的響應文檔,如果出錯則返回適當?shù)臉俗R字符串。當某個控制點產(chǎn)生訂閱請求時,SDK將調(diào)用回調(diào)函數(shù)并將EventType變量值設為UPNP_EVENT_SUBSCRIPTION_REQUEST。設備通過UpnpAcceptSubscriptionExt()或者UpnpAcceptSubscription()來接受請求,然后將當前狀態(tài)表發(fā)送給控制點。當控制點對某變量進行當前狀態(tài)的查詢請求時,SDK也通過調(diào)用注冊的回調(diào)函數(shù)并將變量EventType設為UPNP_CONTROL_GET_VAR_REQUEST來實現(xiàn)。
2.4網(wǎng)絡延遲控制和優(yōu)化
如圖3所示,設備加入網(wǎng)絡后發(fā)送的各種組播報文(主要由設備的搜索報文、訂閱、通告報文和生存報文等組成)是UPnP網(wǎng)絡中最主要的網(wǎng)絡延遲因素,而這些組播報文的傳送是UPnP網(wǎng)絡中各設備建立通信、維持通信的必要操作。因此,采用以下兩條技術策略,能對降低網(wǎng)絡延遲起到明顯的改進作用。
(1)設備離線時,主動發(fā)出自身離線的報文通知鄰居設備。
如前所述,組播報文會占用系統(tǒng)較大的網(wǎng)絡帶寬。如果設備離線或者撤銷服務后不主動通知鄰居節(jié)點,會導致鄰居設備一直處于監(jiān)聽狀態(tài)或者本地設備不斷發(fā)送組播請求,大量不必要的組播報文占用有限的UPnP網(wǎng)絡帶寬。因此需要建立起主動離線通知等有效處理機制,提高系統(tǒng)帶寬的有效利用率。
(2)對IP數(shù)據(jù)包的TTL值進行設置(900s左右)。
UPnP設備具有不同時段狀態(tài)變化大、可訂閱服務變化快等特點,而且在設備鄰居節(jié)點關系建立之后,會有一段時間的設備靜默期,此時組播報文少、網(wǎng)絡流量小、通信頻率低。因此可以對最小流量和最大設備狀態(tài)進行折衷,通過設定其存活時間來控制網(wǎng)絡擁塞報文。經(jīng)測試,通過將TTL值設置為900s左右,可以明顯降低網(wǎng)絡延遲時間。
3系統(tǒng)測試
3.1測試環(huán)境
測試系統(tǒng)硬件平臺是Cotex-A8的ARM控制器,搭載Android 4.0系統(tǒng),集成了 ZigBee協(xié)調(diào)器的網(wǎng)關平臺。網(wǎng)絡環(huán)境為TP-LINK TL-WR845N,理論傳輸速率為300Mbps。
3.2功能測試
(1)測試目的:檢驗無線WiFi連接環(huán)境下,在裝有多屏互動系統(tǒng)的安卓設備和智能家居網(wǎng)關之間,能否有效進行多屏點播操作。
測試方法步驟:①在各種安卓設備上,對聯(lián)網(wǎng)設備上的媒體文件進行搜索和多屏點播等操作;②持續(xù)對圖片進行切換等操作;③持續(xù)對視頻和音頻文件進行快進后退、切換以及暫停等操作。
測試表明系統(tǒng)音頻、視頻和圖片的多屏點播功能運行正常,沒有業(yè)務沖突情況,如圖4所示。
(2)測試目的:檢驗無線WiFi連接環(huán)境下,裝有多屏互動系統(tǒng)的安卓設備能否有效進行多屏點控操作。
測試方法步驟:①在各種安卓設備上獲取智能家居控制軟件,檢查解析網(wǎng)關家居控制軟件;②持續(xù)對各種家居設備進行多屏點控操作,檢查其能否正確點控各種智能家居設備。
測試表明系統(tǒng)多屏點控功能運行正常,沒有業(yè)務沖突,如圖5所示。
3.3性能測試
視頻、音頻和圖片的工作時間和傳輸延遲時間的影響關系如圖6所示,測試時間為一個小時??v軸以毫秒(ms)為單位,表示傳輸延遲時間;橫軸以分鐘(Minute)為單位,表示設備加入網(wǎng)絡后的持續(xù)工作時間。由圖6可見,視頻、音頻和圖片的平均傳輸延遲時間分別為550ms、300ms和200ms左右。而隨著設備持續(xù)工作時間的增加,其傳輸延遲時間只有小幅度增長,在測試時間段內(nèi)平均延遲時間最大增量為50ms左右,說明系統(tǒng)滿足工作性能要求,具有良好的實用性。
4結語
本文設計并實現(xiàn)了智能家居系統(tǒng)的多屏互動,深入探討和擴展了UPnP技術以及Android應用程序開發(fā),不僅實現(xiàn)了流媒體多屏互動娛樂功能,而且實現(xiàn)了家居控制軟件的共享與即時點控,達到“隨處”、“多屏”控制智能家居的目的。
參考文獻參考文獻:
[1]童曉渝,房秉毅,張云勇. 物聯(lián)網(wǎng)智能家居發(fā)展分析[J]. 移動通信,2010(9):1620.
[2]黃也平,杜懌平. 三網(wǎng)融合與無線網(wǎng)絡新競爭格局探討多屏、多終端互動的營銷應用[J]. 東南傳播, 2013(1) :111114.
[3]THOMPSON T. The Android mobile phone platform[J]. The World of Software Development,2008,33(9):40 47.
[4]羅旋. 中興通訊IPTV平臺的多屏互動設計研究[D].長沙:湖南大學, 2012.
[5]曹甜甜. 基于Android系統(tǒng)的UPNP媒體播放器的研究與實現(xiàn)[D].南京:南京郵電大學, 2013.
[6]YONGHONG WU, JIANCHAO LUO, LEI LUO. Porting mobile web application engine to the Android platform [C]. 10th IEEE International Conference on Computer and Information Technology,2010.
[7]徐垚,周海濤,周小龍. 社交電視手機客戶端與IPTV播控平臺雙屏互動設計[J]. 廣播與電視技術,2013(1):1534.
[8]張喆. 基于UPnP協(xié)議的智能家庭網(wǎng)絡設備的研究與實現(xiàn)[D].南京:南京郵電大學, 2013.
責任編輯(責任編輯:杜能鋼)