UPnP的相關資料 整理

2021-07-16 09:43:44 字數 2270 閱讀 1089

upnp: universal plag and play,通用即插即用

urn : uniform resource name,統一資源名稱,用於定位服務,與位址無關

url : universal resource location,統一資源定位符,一般是乙個鏈結形式,如:

uri : uniform resource indentifier,統一資源識別符號, urn和url都屬於uri,不過在upnp中,沒有uri

udn : unique device name,唯一裝置名,格式為 uuid:upnp-string 例如: uuid:upnp-tvemulator-1_0-1234567890001

sid : subscribe id,訂閱註冊號 格式為uuid:8-4-4-4-12 例如: uuid:920ebc56-594c-11e6-81a4-9c1bd9c2d948

devicetype : 裝置型別,如: urn:schemas-upnp-org:device:tvdevice:1

friendlyname : 裝置友好名稱,主要是方便使用者記憶,比長串的裝置型別字串好多了

scpdurl : 服務的url,如 :

servicetype : 服務型別,以urn標示,如:urn:schemas-upnp-org:service:tvcontrol:1

serviceid : 服務id號,如: urn:upnp-org:serviceid:tvcontrol1

cp:control point,控制點

upnp原理(2014-03-21 16:02): 

這篇部落格講解了基本的controlpoint(控制點)與裝置之間的控制結構

介紹了基本upnp控制的流程(裝置編址註冊-->發現-->描述-->控制-->事件-->表達)

upnp的工作過程(2013-11-10 15:38):

這篇部落格將6個步驟講得非常詳細,要仔細閱讀

upnp分為6個步驟:

先是addressing,裝置加入網路,通過dhcp或者auto-ip獲得ip;這部分在閃聯igrs中是沒有定義的。

然後是discovery,採用ssdp協議(udp),用multicast/unicast可以完成裝置的上線和離線通知和組播搜尋裝置,裝置用unicast(單播,udp)響應cp的搜尋。

往下是description,通過http協議(tcp)取回來是乙個xml文件,包含物理描述和服務描述;

再來是control,採用soap協議(http/tcp),完成cp和devices之間的互動;

eventing,採用gena協議(http/tcp),完成裝置事件訊息的訂閱和推送,為保證可靠性,故是tcp傳輸;事件的推送還有multicast (udp)。

最後是presentation。upnp並沒有定義presentation應該有哪些東西。乙個html嘛,哪樣寫得好哪樣來!

ssdp協議(****** service discovery protocol,簡單服務發現協議),允許上線的裝置發布廣播,通知cp自己擁有的服務.當乙個cp進入網路後,ssdp協議允許它搜尋網路上的可用裝置.

soap協議(****** object access protocol,簡單物件訪問協議),允許cp向裝置的controlurl傳送操作請求,soap協議含有訊息body,包含action invocation,指示如何控制裝置

gena協議(general event notification architecture,普通事件通知體系),允許cp和裝置之間進行訂閱訊息

dlna介紹(2011-05-03 16:49):

主要講了dlna(digital life networking alliance,數字生活網路聯盟)

為什麼要了解dlna呢,因為我們所使用的upnp協議技術,最初是為dlna服務的,屬於其中一層

很多裝置的描述標準也是dlna制定的.

upnp 構成了其裝置發現&控制,**管理和遠端ui這一層(很重要的一層)

關於裝置描述和服務描述檔案(2015-01-08 20:13):

裝置描述檔案(devicedesc.xml)定義裝置,以及裝置所提供的服務種類

服務描述檔案(service_scdp.xml)定義服務所需要的動作和服務所涉及的變數,狀態等..

具體到libupnp的使用,這裡有幾篇:

官網link:

arm linux下upnp使用(2012-06-24 18:42):

upnp程式設計(2012-11-22 15:17)(很詳細很好):

編譯與sample實驗(2013-03-07 11:20):     

UPNP 學習筆記整理 一

前言由於工作需要學習upnp協議,特意找了很多資料,網上看了很多牛人blog.自己也通過整理筆記,加深自己記憶印象.本人習慣 先看整體流程,再看實現細節和術語,否則開始沒有框架的感性認識,容易迷失在術語和細節從而浮躁打擊信心.看了框架後,一定要看官方文件,那裡的細節知識才是最準確的.因為其他人的文章...

ubus 相關資料整理

ubuntu編譯ubus及相關依賴庫 大昱的部落格 csdn部落格 交叉編譯libubox eric csdn部落格 openwrt ubus編譯安裝 segmentfault 思否 好!ubuntu編譯ubus及相關依賴庫 大昱的部落格 csdn部落格 看起來靠譜 openwrt ubus 移植到...

InstallShield相關資料整理

最近在研究使用安裝包打包,簡單研究之後選擇installshield來實現安裝包打包,一開始非常簡單,但是開始之後總是磕磕碰碰非常不順利,網上大量google baidu之後發現如下資料,特此備忘 installshield 海洋女神 安裝的本質就是拷貝 installshield 實現iis 元件...