UPnP在控制指針和被控制設備之間提供通訊功能。而網絡介質、TCP/IP協議、HTTP僅提供基本的連接和IP地址分配。整個工作過程需要處理六個方面的內容,即設備尋址、發現設備、對設備的描述、設備控制、設備事件、設備表達。
設備尋址:
地址是整個UPnP系統工作的基礎條件,每個設備都應當是DHCP(Dynamic Host Configuration Protocol動態主機配置協議)的客戶。當設備首次與網絡建立連接后,利用DHCP服務,使設備得到一個IP地址。這個IP地址可以是DHCP系統指定的,也可以是由設備選擇的。當局域網內沒有提供DHCP服務時,UPnP設備將按照Auto-IP的協議,從169.254/169.16地址范圍獲取一個局域網內唯一的IP地址。設備還能使用昵稱(friendly name),這就需要域名解析服務(DNS)來解決。
發現設備:
可分成兩種情況,一種是在有控制請求之后,在當前的網絡中查找有無對應的可用設備;另一種情況是某一設備接入網絡、取得IP地址之后,就開始向網絡“廣播”自己已經進入網絡,即尋找控制請求。
設備的描述:
簡單說,這是聲明“自己”是什么樣的設備,例如名稱、制造廠商、序列號碼等等。剛開始“發現”設備后,控制指針對這個設備的“了解”還很少,需要依據URL找到該設備的描述文件,從這些文件中讀取更多的描述信息。描述信息的范圍很廣,一般都是由設備的制造廠商提供的。主要的描述項目有:控制的模式名稱和模式號碼、設備序列號、制造廠商名稱、廠商的WEB的URL……等等。這些一般都存放在特定的XML文件中。
設備控制:
控制指針找到設備描述之后,會從描述中“提煉”出要進行的操作并獲悉所有的服務;對每個UPnP設備來說,這些描述必須是很確切、很詳細的,描述中可能包含有命令或行為列表、服務響應信息、用到的參數等等。對于服務的每個行為,也伴有描述信息:主要是整個服務進行期間的變量、變量的數據類型、可用的取值范圍和事件的特征。
要控制某個設備,控制點必須先發送一個控制行為請求,要求設備開始服務,然后再按設備的URL發送相應的控制消息,控制消息就是放置在XML文件中的那些SOAP格式的信息。最后,服務會返回響應信息,指出服務是成功或是失敗。
設備事件:
在服務進行的整個時間內,只要變量值發生了變化或者模式的狀態發生了改變,就產生了一個事件,系統將修改上述提到的事件列表的內容。隨之,事件服務器把事件向整個網絡進行廣播。另一方面,控制點也可以事先向事件服務器訂閱事件信息,保證將該控制點感興趣的事件及時準確地傳送過來。
廣播或訂閱事件,傳送的都是事件消息,事件消息也放在XML文件中,使用的格式是GENA。
設備投入工作之前的準備―――初始化過程,也是一個事件,初始化需要的各種信息也是用事件消息傳送的。包括的內容主要是:變量初始值,模式的初始狀態等等。
設備表達:
只要得到了設備的URL,就可以取得該設備表達的URL,然后可以將此表達納入用戶的本地瀏覽器上。這部分還包括與用戶對話的界面,以及與用戶進行會話的處理。
簡要介紹下UPnP的工作流程:設備加入網絡后通過設備尋址就可自動獲得IP地址,通過設備發現,控制點就可知道網絡上存在哪些設備,通過設備描述控制點就可知道設備詳細信息以及設備提供哪些服務,通過設備控制控制點可以使用設備的服務,通過設備事件設備就可以將其狀態變化及時告訴給感興趣的控制點,通過設備表達控制點可以用瀏覽器察看設備狀態和控制設備。通過上述的六個方面,UPnP設備可以做到在“零配置”的前提下提供了聯網設備之間的自動發現、自動聲明、“直接”信息交換和互操作等功能,真正實現“設備即插即用”。
UPnP所用到的主要協議還有:SSDP(Simple Service Discovery Protocol 簡單服務發現協議)、GENA(Generic Event Notification Architecture 通用事件通知結構)、SOAP(Simple Object Access Protocol 簡單對象訪問協議)、XML(Extensible Markup Language 可擴張標記語言)。采用IP協議來保證UPnP獨立與網絡傳輸的物理介質,SOAP協議來保證UPnP設備具有互操作能力,XML來對設備和服務進行統一的描述,HTTP協議來進行UPnP設備的信息交互。采用這些現存的、廣泛應用的協議能減少開發UPnP設備的工作量,使UPnP設備更好地融入現有網絡。
評論
查看更多