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