Upload
wen-liao
View
234
Download
2
Embed Size (px)
Citation preview
萬用遙控器要處理的問題
● 以家電的遙控器比喻○ 每個家電按鈕不同,功能不同,使用方式不同
■ 就算同一種家電,不同廠牌,甚至同廠牌不同型號
一樣有相同的問題○ 要怎麼知道現在有那幾台設備可以用?
■ A牌電風扇■ B牌播放器■ C牌電燈
○ 要怎麼知道設備狀態?
每個家電按鈕不同,功能不同,使用方式不同
● 大家講好規矩● 主導者:UPnP forum
■ 很多大頭○ 規範Device control protocols
■ AV■ 電燈控制■ 印表機■ …
觀念
● 整個控制可以分成兩個角色○ 遙控器○ 設備
● 遙控器的按鈕,可以看成呼叫服務○ 將溫度設定成25度○ 切到下一個頻道
● 接樓上,所以這是一個遠端呼叫的概念。洋人的話就是remote procedure call,簡稱RPC
UPnP Networks Steps
Addressing
Discover
Description
Event
Presentation
http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/
Control
講中文:Control point篇
● 知道自己在那邊。(跳過Auto IP,一言難盡)● 先知道自己是啥,以媒體播放器(media
render)為例○ 問看看網路上有沒有媒體播放器,有的請發聲
○ 當然不是問完以後就沒事,搞不好上線後十三分鐘後
有另外一個媒體播放器上線,你也得知道吧?
● 從剛才報數的媒體播放器中知道他有提供哪些服務。
● 開工如訂閱媒體播放器的播放狀態、播放影片,調整音量等
● Presentation呢?沒這東西(煙)
講中文:Device篇
● 知道自己在那邊。(跳過Auto IP,一言難盡)● 先知道自己是啥,以媒體播放器(media
render)為例○ 定期公佈,告訴大家,我是是媒體播放器唷。以下是我
的服務...○ 有人來問你是不是媒體播放器要回答我是
● 開工如處理播放影片,調整音量,接受訂閱event當trigger時通知control point等
● Presentation呢?看實作,有的話,你可以用瀏覽器連上去更改一些設定
名詞
● HTTP○ Hypertext Transfer Protocol
● HTTPU○ U就是UDP
● HTTPMU○ M是Multicast○ U還是UDP
● HTTPD○ Daemon ,就是web server
名詞
● SSDP○ Simple Service Discovery Protocol
● SOAP○ Simple Object Access protocol
● GENA○ General Event Notification Architecture
無聊的方塊圖
TCP
IP
UDP
HTTP HTTPU HTTPMU
SOAP GENA HTTPD SSDP
UPnP Device Architecture
Device Control Protocols
APP/Libraries
http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/
無聊的方塊圖
TCP
IP
UDP
HTTP HTTPU HTTPMU
SOAP GENA HTTPD SSDP
UPnP Device Architecture
Device Control Protocols
APP/Libraries使用XML描述呼叫遠端服務以及回傳
的結果
http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/
無聊的方塊圖
TCP
IP
UDP
HTTP HTTPU HTTPMU
SOAP GENA HTTPD SSDP
UPnP Device Architecture
Device Control Protocols
APP/Libraries註冊要監聽的event以及當event被觸發回傳
使用的通訊協定
http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/
無聊的方塊圖
TCP
IP
UDP
HTTP HTTPU HTTPMU
SOAP GENA HTTPD SSDP
UPnP Device Architecture
Device Control Protocols
APP/LibrariesDevice有設定Presentation URL的話總要有個提供網
頁的web server吧?
http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/
無聊的方塊圖
TCP
IP
UDP
HTTP HTTPU HTTPMU
SOAP GENA HTTPD SSDP
UPnP Device Architecture
Device Control Protocols
APP/Libraries
通知大家● Control point:
○ 哪邊有「我要的服務」的device?有的話該一聲
● Device○ 我還沒死○ 我要閃人了
http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/
無聊的方塊圖
TCP
IP
UDP
HTTP HTTPU HTTPMU
SOAP GENA HTTPD SSDP
UPnP Device Architecture
Device Control Protocols
APP/Libraries
Device 回應 control point的詢問
http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/
Notification type
Device advertisement: root device (1)
Notification sub type
Unique service name
Root device description URL!
Device response順序和自我宣傳差別只有NT換成ST以及沒有NTS描述
● NT: Notification type● ST: Service type● NTS: Notification sub type
總結
● UPnP 提供預先定義好的規範,讓不同的是設備不需要驅動程式,特殊軟體就可以透過網路操作
● UPnP透過SSDP讓control point能夠找出網路的Device
● UPnP透過GENA讓control point能夠被動接受device送出來的事件