衡友躍 宮紀明 況莉莉
(淮北職業(yè)技術學院計算機系,安徽 淮北 235000)
基于UPnP的家庭網(wǎng)絡照明設備的研究與設計
衡友躍 宮紀明 況莉莉
(淮北職業(yè)技術學院計算機系,安徽 淮北 235000)
由于越來越多的嵌入式設備的出現(xiàn)和家庭網(wǎng)絡的發(fā)展,實現(xiàn)家庭網(wǎng)絡中的各種嵌入式設備互聯(lián)互通已經(jīng)成為人們的迫切需求?,F(xiàn)今世界各著名設備廠商紛紛提出了各自的新技術和解決方案,其中,微軟提出的UPnP技術最有發(fā)展前途,得到了最廣泛的支持,是當今各國研究的熱點。本文在分析UPnP協(xié)議棧、UPnP的基本組件及工作流程的基礎上,給出了基于UPnP的家庭網(wǎng)絡照明設備的詳細設計方案,實驗證明組網(wǎng)方便,易于控制。
UPnP;家庭網(wǎng)絡;照明設備
通用即插即用 (UPnP)是一種用于PC機和智能設備(或儀器)的常見對等網(wǎng)絡連接的體系結構,尤其是在家庭中。UPnP以Internet標準和技術(例如TCP/IP、HTTP和 XML)為基礎,使這樣的設備彼此可自動連接和協(xié)同工作,從而使網(wǎng)絡(尤其是家庭網(wǎng)絡)對更多的人成為可能[1]。
UPnP定義了設備之間、設備和控制點、控制點之間通訊的協(xié)議。讓來自不同公司的設備非常方便的就可以在一起工作。UPnP設備協(xié)議棧如圖1所示:
圖1 UPnP協(xié)議棧
UPnP網(wǎng)絡的基本組件包括服務、設備和控制點。其組件圖如圖2所示:
圖2 UPnP組件圖
3.1 設備
UPnP網(wǎng)絡中定義的設備具有很廣泛的含義,各種各樣的家電、電腦外設、智能設備、無線設備、個人電腦等等都可以成為其中一員。一個UPnP設備可以是多個服務的載體和多個子設備的嵌套集[2]。例如一臺打印機有提供打印這樣的服務,屬于設備。
3.2 服務(service)
在UPnP網(wǎng)絡中,最小的控制單元就是服務。服務描述的是設備在不同的情況下的活動和設備的狀態(tài)[3]。例如,路由服務可以表述為路由變化(狀態(tài)變化)、當前的路由(路由的狀態(tài))以及設置路由和讀取路由兩個活動,通過這兩個活動,你就可以控制服務。
3.3 控制點(Control Point)
在UPnP網(wǎng)絡中,控制點指的是可以發(fā)現(xiàn)并控制其它設備的控制設備。在UPnP網(wǎng)絡中,設備可以和控制點合并。也就是說,同一個設備,可以同時具有控制點和設備的功能的功能,即可以作為作為控制點發(fā)現(xiàn)和控制其它設備,也可以作為設備提供服務。
UPnP工作流程如圖3所示[4]。
圖3 工程流程圖
尋址,控制點跟設備都先取得IP地址才能做之后的溝通。發(fā)現(xiàn),控制點尋找整個網(wǎng)絡上的UPnP設備,而設備同時也要宣告他本身的存在。描述,控制點取得設備的描述,這包括設備提供什么樣的服務。控制,控制點發(fā)出動作信號給設備。事件,控制點監(jiān)聽設備的狀態(tài),當狀態(tài)改變時做出相應的處理動作。展示,控制點利用HTML界面來控制設備和監(jiān)看設備狀態(tài)。
5.1 light設備中class Overview
圖4是創(chuàng)建一個基于UPnP的light設備時用到的相關類。
圖4 類圖
5.2 light的設備描述編寫
一般來說,設備描述都是基于UPnP論壇上己定義的模板,這些標準化的模板提供一系列基本的服務和預定義的設備類型,廠商可以在其中作出自己的擴充[5]。部分內(nèi)容如下:
5.3 初始化 light設備
創(chuàng)建一個基于UPnP的light設備,根據(jù)根設備的描述文件創(chuàng)建一個設備實例化的類。創(chuàng)建的這個設備為根設備,只有根設備用start()方法可以被設備激活。下面是初始化設備的關鍵代碼:
5.4 通知
啟動一個light設備時,設備自動通過SSDP(simple service Discovery Protocol):alive 被宣 告已經(jīng)進入網(wǎng)絡,當設備用stop()方法停止使用時,通過SSDP:byebye通知,如圖5所示。
圖5 通知
5.5 light service
通過正在使用的設備的服務ID使用getService()可以找到一個服務,也可以通過服務的名字找到服務的action和狀態(tài)變量。設備或服務都可以通過getAction()獲得action,通過getStateariable()可以獲得狀態(tài)變量,下面代碼是通過light設備名字獲得服務的action和服務的狀態(tài)變量。
5.6 light的控制實現(xiàn)
從控制點接受控制事件的動作,設備需要執(zhí)行ActionListener接口,監(jiān)聽器必須執(zhí)行一個actionControlReceived(),它有action和參數(shù)列表。輸入的參數(shù)列表是從控制點傳遞的值,在輸出參數(shù)時設置一些響應的值,且當請求可用時返回一個true值。相反當請求不可用時,返回一個false。下面是部分關鍵代碼。
5.7 light展示部分的實現(xiàn)
通過以上幾個步驟,基于UPnP家庭照明設備的設計基本上就實現(xiàn)了,為獲得展示頁面,light控制點提交一個超文本傳輸協(xié)議請求到展示頁面網(wǎng)址,light設備返回一個結果頁面。
論文系統(tǒng)地研究了UPnP的協(xié)議棧、基本組件及實現(xiàn)流程,并結合light控制點和設備實現(xiàn)家庭照明的控制,從規(guī)范描述和設備開發(fā)兩個方面深入研究UPnP的實現(xiàn)技術,實驗證明該方案組網(wǎng)方便、易于控制。
[1]UPnP Forum,About UPnP[EB].http://www.UPnP.org.
[2]楊宗凱,雷嘉,余江.數(shù)字家庭網(wǎng)關UPnP模塊的設計與實現(xiàn)[J].計算機工程與科學,2007,(5).
[3]肖繼民.基于UPnP的家庭網(wǎng)絡技術及實現(xiàn)研究[D].南京:南京郵電大學,2007.
[4]沈彬斌.UPnP中間件技術在數(shù)字家庭網(wǎng)絡中的應用研究[D].成都:電子科技大學,2006.
[5]李平均,申健.基于UPnP的AV體系結構的設計與實現(xiàn)[J].計算機工程與設計,2007,28(14):3521-3522.
THE RESEARCH AND DESIGN ON HOME METWORK IN LIGHTING DEVICE BASED ON UPNP
HENG You-yue GONG Ji-ming KUANG Li-li
(The Department of computer,Huaibei Vocational and Technical College,Huaibei Anhui 235000)
with the development of more and more embedded device and home network,it is an urgent need to realize all kinds of interconnection and interworking during the home network.New technologies and solutions have been put forward by almost each famous device manufacturers in the world.Especially,UPnP is the most promising put forward by Microsoft,which has gotten the widest support.At the same time,UPnP is the hot spot in the search area all over the world.This essay has supplied detailed scheme about lighting device in the home network on the basis of the analysis of protocol stack,basic component as well as the work flow on UPnP.Besides,experiment has proved that networking is more convenient and easier to control.
UPnP;home network;lighting device
TP399
A
1672-2868(2012)03-0077-04
2012-3-21
安徽省高校優(yōu)秀青年人才基金項目(項目編號:2012SQRL254)
衡友躍(1979-),男,安徽鳳陽人?;幢甭殬I(yè)技術學院計算機系工程師,講師,碩士研究生,研究方向:嵌入式系統(tǒng)工程。
責任編輯:宏 彬