一种基于SmartPnP协议的设备互连方法及系统的制作方法_3

文档序号:8945594阅读:来源:国知局
〃stateURL〃: 〃/api/spnp/Announcer/state/,,,
〃controlList〃: {
〃Notify〃: {
〃url〃:〃/api/spnp/Announcer/notify^,
"method":"POST",
// t j // r //.., // r // ,// // ,// // ?.? T.j ? Γ ?// //.,
data: { pr1rity:{ type: string , validList:L emergency , crit
?-1 // //.// //I // //.//Π I
ica_L , warning , normal , minor 」_},message:{ type: string 11},
〃BroadcastNotify〃: {
”-1 // // , //
url: * ,
"method":"INVOKE",
,,target,,: 〃spnp: announcer: notify,,,
// t j // r //.., // r // ,// // ,// // ?.? T.j ? Γ ?// //.,
data: { pr1rity:{ type: string , validList:L emergency , crit
?-1 // //.// //I // //.//Π I
ica_L , warning , normal , minor 」_},
//”i// // ,//Ii
message:{ type: string 11
}
}
}
BroadcastNotify 一 Through HTTPU接受以HTTPU方式广播通知。发送端可能于一定时间内重复发送同一通知数次。具体代码如下:
INVOKE * HTTP/1.1 HOST: 239.255.255.250:1900 TARGET: spnp: announcer:notify SCALE: globalCONTENT-TYPE: applicat1n/jsonCONTENT-LENGTH: 71
{,,pr1rity,,: ,,warning,,,,,message,,: ,,Phone call to Joseph’s mobile phone.,,}Notify — Through HTTP接受以HTTP方式通知,具体代码如下:
POST /api/spnp/Announcer/notify HTTP/1.1HOST: 10.70.10.21CONTENT-TYPE: applicat1n/jsonCONTENT-LENGTH: 71
{,,pr1rity,,: ,,warning,,,,,message,,: ,,Phone call to Joseph’s mobile phone.,,} Device
装置类别,仅用于分类与显示需求,并无特殊能力。下面列出一些例子,具体代码如下:
A.GeneralDevice
B.TV
C.DesktopPC
D.NotebookPC
E.MediaBox
F.Speaker
G.MobilePhone
H.AirCondit1ner
1.AirPurifier
J.LightControlerK.Refrigerator发现
套用原本SSDP逻辑。在UPnP的基础上有以下扩展。
[0057]Advertisemen
套用原UPnP中的SSDP规则,但服务并不各自单独发送ssdp:alive与ssdp:byebye通知,而是挂在rootdevice中。
[0058]NOTIFY ssdp:alive
在rootdevice 的alive 消息中,Smart PnP 新增两个header,分别为X-SPNP-L0CAT10N 与 X-SPNP-SL。具体代码如下:
NOTIFY ^ HTTP/1.1
HOST: 239.255.255.250:1900
LOCAT1N: http://10.70.10.21/api/spnp/device, xmlX-SPNP-LOCAT1N: http://10.70.10.21/api/spnp/device, jsonNT: upnp:rootdeviceNTS: ssdp:alive
SERVER: OS/vers1n UPnP/1.0 product/vers1nUSN: uuid:uuid::upnp:rootdeviceX-SPNP-SL: urn: Smart PnP—org: service:FixedApplianceBasic:1;urn: SmartPnP—org:service: Announcer:1
其中X-SPNP-LOCAT1N:指定SPnP的装置描述位置,该描述为JSON格式。X-SPNP-SL:服务清单,会以〃;"来串接所有装置提供服务的URN。
[0059]NOTIFY ssdp: byebye
同UPnP,关机或离线时应该发送,具体代码如下:
NOTIFY ^ HTTP/1.1
HOST: 239.255.255.250:1900
NT: upnp:rootdevice
NTS: ssdp:byebye
USN: uuid:uuid::upnp:rootdevice
X-SPNP-SL: urn: Smart PnP—org: service:FixedApplianceBasic:1;urn: SmartPnP—org:service:Announcer:1
一个客户端可以发送以下HTTPU的request来询问环境有哪些可用装置或服务。所述request请求称为M-SEARCH,代码如下:
M-SEARCH ^ HTTP/1.1HOST: 239.255.255.250:1900MAN: 〃ssdp:discover"
ST: urn:Smart PnP—org:service:FixedApplianceBasic:1MX: 10
当一个装置接收到M-SEARCH消息,应该针对每个service回传类似下面的消息。
[0060]HTTP/1.1 200 OKCACHE-C0NTR0L: max-age = 1800DATE: Thuj 03 Jul 2014 04:07:37 GMTEXT:
LOCAT1N: http://10.70.10.21/api/spnp/device, xml
X-SPNP-LOCAT1N: http://10.70.10.21/api/spnp/device, json
SERVER: OS/vers1n UPnP/1.0 product/vers1n
ST: urn:Smart PnP—org:service:FixedApplianceBasic:1
USN: uuid:uuid::urn:Smart PnP-org:service:FixedApplianceBasic:1
装置描述
档案描述分两种格式,XML与JS0N。为了与原始UPnP兼容,可将Smart PnP装置信息嵌入于UPnP装置信息描述的XML中。另一种方式为单独描述,以JSON形式呈现,用于在Smart PnP广播通知消息中,X-SPNP-L0CAT10N所指定的描述文件。
[0061]以下分别就此两种格式给予例子。
[0062]UPnP 支援
原UPnP装置叙述增列namespace urn:Smart PnP-org:device 部分描述来叙述Smart PnP服务。范例如下。
[0063]〈xml vers1n="l.0〃 encoding="UTF_8"> 〈root xmIns = 〃urn:schemas-upnp-org: device-1-0〃 xmlns:s = 〃urn:SmartPnP-org:device〃>
<specVers1n>
<major>l</major>
<minor>0</minor>
</specVers1n>
<device>
<deviceType>urn:Smart PnP-org:device:TV</deviceType>
<friendlyName>TCL TV</friendlyName>
<manufacturer>TCL INC.〈/manufacturer〉
<manufacturerURL>http://www.tcl.com/</manufacturerURL>
<modelName>TCL-TV40001</modelName>
<modelNumber>TCL-TV40001</modelNumber>
<modelURL>http://10.70.10.21/</modelURL>
<modeIDescript1n>TCL Smart TV</modeIDescript1n> <serialNumber>00000000000000</serialNumber> <UDN>uuid:a8ed7ffd-1893-4346-aae8-fc4a7a682a4a</UDN>
<iconList>
<icon>
<mimetype>image/gif</mimetype>
〈width〉16〈/width>
<height>16</height>
<depth>8</depth〉
<url>/ligd.gif〈/url>
</icon>
</iconList>
<s:serviceList>
<s:service) <s:serviceType>urn:Smart PnP—org:service:FixedApplianceBasic:1</s:serviceType>
<s:controlURL>/api/spnp/FixedAppIianceBasic</s:controlURL>
</s: service)
<s: service)
<s:serviceType>urn:Smart PnP-org:service:Announcer:1</
s:serviceType&
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1