国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于UPnP的數(shù)字電視機(jī)頂盒控制技術(shù)的研究

2013-12-29 00:00:00陳艷
電腦知識與技術(shù) 2013年1期

摘要:數(shù)字電視機(jī)頂盒技術(shù)代表嵌入式家庭多媒體終端的發(fā)展趨勢,其延伸出的“信息化家電平臺”概念更是對家庭多媒體終端技術(shù)產(chǎn)生了深遠(yuǎn)的影響。該論文旨在為智能家庭網(wǎng)絡(luò)整合提供一種靈活、簡便的系統(tǒng)實(shí)現(xiàn)方案。如果將數(shù)字電視機(jī)頂盒接入家庭網(wǎng)絡(luò),控制家庭網(wǎng)絡(luò)中的設(shè)備,提供可視化的GUI(Graphical User Interface),方便用戶操作,實(shí)現(xiàn)資源共享,那么這樣的網(wǎng)絡(luò)正是人們所期望的。

關(guān)鍵詞:UPnP;數(shù)字電視機(jī)頂盒:控制點(diǎn);libupnp

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)01-0162-03

隨著越來越多的設(shè)備聯(lián)入網(wǎng)絡(luò),對于共享設(shè)備以及共享設(shè)備提供的資源和服務(wù)的需求也越來越強(qiáng)烈,透明的訪問各種聯(lián)入網(wǎng)絡(luò)的資源也成為了一種非常復(fù)雜的任務(wù)。UPnP(Universal Plug and Play),通用即插即用。Microsoft公司稱“UPnP”將延伸到家庭中的每一個設(shè)備,它會成為個人電腦、應(yīng)用程序、智能設(shè)備集成工作所必需的框架、協(xié)議和接口標(biāo)準(zhǔn)。它是一種架構(gòu)在TCP/IP和HTTP技術(shù)之上的,分布式、開放的網(wǎng)絡(luò)結(jié)構(gòu),以使得在聯(lián)網(wǎng)的設(shè)備間傳遞控制和數(shù)據(jù)。UPnP 技術(shù)實(shí)現(xiàn)了控制點(diǎn)、設(shè)備和服務(wù)之間通訊的支持,并且設(shè)備和相關(guān)服務(wù)的也使用XML(Xtensible Markup Language)定義并且公布出來。對于設(shè)備的描述,使用HTML(Hypertext Markup Language)表單表述設(shè)備控制界面。它既允許設(shè)備供應(yīng)商提供基于瀏覽器的用戶界面和編程控制接口,也允許開發(fā)人員定制自己的設(shè)備界面。

UPnP論壇成立于1999年10月18日,該組織目前已吸引超過200個在消費(fèi)電子、家庭自動化、計算機(jī)、家電、計算機(jī)網(wǎng)絡(luò)和移動設(shè)備等領(lǐng)域的頂級供應(yīng)商的參與。UPnP技術(shù)在IP層以上,應(yīng)用層以下,所以與具體的物理接入手段和應(yīng)用無關(guān)。使用UPnP協(xié)議不需要設(shè)備驅(qū)動程序,因此使用UPnP建立的網(wǎng)絡(luò)是介質(zhì)無關(guān)的,它可以運(yùn)行在幾乎所有的操作系統(tǒng)平臺之上,可以使用C,C++,JAVA和VB等開發(fā)語言,使得在辦公室、家庭和其他公共場所方便地構(gòu)建設(shè)備相互聯(lián)通的網(wǎng)絡(luò)環(huán)境[1-2]。

總之,使用UPnP,設(shè)備可以動態(tài)加入網(wǎng)絡(luò),自動獲得一個IP地址,向其他設(shè)備公布它的能力或者獲知其他設(shè)備的存在和服務(wù),所有這些過程都是自動完成的,此后設(shè)備能夠彼此直接通訊。

1 SDK架構(gòu)

Linux SDK for UPnP Devices(libupnp)是一個便攜的、可移植的UPnP的C語言開發(fā)包。為開發(fā)者建立符合UPnP設(shè)備體系規(guī)范的控制點(diǎn)、設(shè)備和橋提供了一套API和開源代碼。Libupnp使開發(fā)人員擺脫各種協(xié)議的細(xì)節(jié),專心進(jìn)行服務(wù)或者控制所需的具體開發(fā)。SDK各模塊之間的關(guān)系如圖1所示[3]。

1)Device/Control Point:客戶端或服務(wù)器程序運(yùn)行在整個SDK的最頂層,實(shí)現(xiàn)一個特定服務(wù)的功能。例如,一個網(wǎng)關(guān)類的服務(wù),服務(wù)器實(shí)現(xiàn)能夠用UPnP控制的“網(wǎng)絡(luò)使能”功能。

2)SDK API:SDK API從控制點(diǎn)或服務(wù)程序中提取出核心UPnP協(xié)議的細(xì)節(jié)并給應(yīng)用程序訪問功能提供統(tǒng)一的接口。這使得開發(fā)者免于SSDP,GENA和SOAP各種協(xié)議細(xì)節(jié)的煩惱。

3)SSDP:SSDP(SimpleService Discovery Protocol)模塊實(shí)現(xiàn)了簡單服務(wù)發(fā)現(xiàn)協(xié)議,提供UPnP的發(fā)現(xiàn)階段。該模塊允許控制點(diǎn)發(fā)送多播信息搜索網(wǎng)絡(luò)上的設(shè)備并接受應(yīng)答。

4)Mini Web Server:迷你Web服務(wù)器模塊處理標(biāo)準(zhǔn)HTTP GET請求,許多UPnP部分都用這種基本的HTTP請求服務(wù)。該模塊管理那些能用GET命令獲得的文檔地址,并實(shí)現(xiàn)了使用HTTP協(xié)議的實(shí)際數(shù)據(jù)流。迷你Web服務(wù)器模塊實(shí)現(xiàn)了HTTP/1.1的RANGE頭,允許一個遠(yuǎn)程客戶端請求一個文件中特定的一片或者多片。

5)GENA:GENA模塊實(shí)現(xiàn)通用事件通知架構(gòu),實(shí)現(xiàn)UPnP的事件部分??刂泣c(diǎn)使用該模塊訂閱和取消訂閱感興趣的服務(wù),服務(wù)應(yīng)用程序從該模塊中接受訂閱和退訂消息并產(chǎn)生相應(yīng)的事件。

6)SOAP:SOAP(Simple Object Access Protocol)模塊實(shí)現(xiàn)簡單對象訪問協(xié)議,提供UPnP的控制部分。控制點(diǎn)使用該模塊產(chǎn)生相應(yīng)的XML文檔來檢索一個服務(wù)的狀態(tài)表,服務(wù)器使用該模塊解碼控制請求并產(chǎn)生應(yīng)答。

7)HTTP:HTTP對接收信息的HTTP頭進(jìn)行語法分析并構(gòu)建發(fā)送信息頭。該模塊能處理HTTP/1.0和HTTP/1.1頭,也支持HTTP/1.1F分塊編碼語法。

2 機(jī)頂盒作為控制器的設(shè)計和實(shí)現(xiàn)

2.1 初始化與注冊

一個控制點(diǎn)應(yīng)用程序在使用任何API函數(shù)前必須先初始化SDK。初始化時應(yīng)用程序可指定IP地址和端口號。對控制點(diǎn)來說,初始化設(shè)置了用于偵聽事件的缺省IP地址和端口,若IP地址是NULL,那第一個非空,非回環(huán)地址將被啟用。如果端口號為0,將使用一個隨機(jī)端口。也可以在初始化之后使用函數(shù)UpnpGetServerIpAddress()和UpnpGetServerPort()來從SDK檢索到IP地址和端口號。對控制點(diǎn),選定一個IP地址的唯一好處就是可以在多接口配置中偵聽一個特定的接口,選定一個固定的端口號沒有任何實(shí)際意義。初始化代碼如下:

呈贡县| 霸州市| 博兴县| 连江县| 阜平县| 隆子县| 西华县| 沿河| 旌德县| 景泰县| 青田县| 长沙市| 铜川市| 图们市| 梓潼县| 陇西县| 本溪| 依安县| 定襄县| 大余县| 台山市| 开封市| 长寿区| 海原县| 治多县| 新龙县| 绥宁县| 林口县| 志丹县| 乐业县| 新沂市| 浪卡子县| 镇赉县| 北流市| 安康市| 尚义县| 济南市| 忻城县| 台江县| 沅陵县| 崇义县|