CN105162618A - 一种基于Smart PnP协议的设备互连方法及系统 - Google Patents
一种基于Smart PnP协议的设备互连方法及系统 Download PDFInfo
- Publication number
- CN105162618A CN105162618A CN201510467269.5A CN201510467269A CN105162618A CN 105162618 A CN105162618 A CN 105162618A CN 201510467269 A CN201510467269 A CN 201510467269A CN 105162618 A CN105162618 A CN 105162618A
- Authority
- CN
- China
- Prior art keywords
- intelligent appliance
- appliance equipment
- smartpnp
- agreement
- center
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
- H04L41/0809—Plug-and-play configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/283—Processing of data at an internetworking point of a home automation network
- H04L12/2832—Interconnection of the control functionalities between home networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于Smart?PnP协议的设备互连方法及系统,所述方法包括:中心智能家电设备向周围一预定距离范围内发送查询可用服务指令;在所述预定距离范围内的外围智能家电设备接收所述查询指令,并按预先设置的格式生成回复信息,并将回复信息回发给中心智能家电设备;所述中心智能家电设备接收到回复信息后,与外围智能家电设备完成互连。本发明中对于物联网中的智能家电设备的通信采用基于REST结构的Smart?PnP协议,从而使智能家电设备的通信协议可方便地与HTML5技术结合,提高了设备的兼容性,减小智能电视客户端联网的硬件需求,简化了软件设计,为用户提供了方便。
Description
技术领域
本发明涉及物联网技术领域,尤其涉及一种基于SmartPnP协议的设备互连方法及系统。
背景技术
通用即插即用(UPnP,UniversalPlugandPlay)是广为使用的一套网络标准,该标准适用于互连多个设备。随着物联网时代的到来,智能家电日益普及,家庭中许多设备都具备网络功能,加上智能手机的推波助澜,UPnP的应用随处可见。
UPnP采用简单对象访问协议(SOAP,SimpleObjectAccessProtocol)作为远程动作请求的通讯协议,然而SOAP具有两项主要缺点:
1.SOAP经常导致兼容性的问题。由于各家厂商的SOAP实际操作情况,对于XML的解读严谨度不同,导致功能调用时,常会被不同的特定装置拒绝,造成产品间的不兼容。
2.请求过程复杂度高。由于语法结构的高复杂度,SOAP请求不容易在HTML来调用,一般需针对应用设计个别的客户端,故无法快速地开发网络应用,尤其是以HTML为基础的相关软件。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于SmartPnP协议的设备互连方法及系统,旨在解决现有技术中物联网中采用通用即插即用协议时,智能设备在功能调用时产品不兼容,不利用网络应用,而且在联网时无法正常的连接的缺陷。
本发明解决技术问题所采用的技术方案如下:
一种基于SmartPnP协议的设备互连方法,其中,所述方法包括:
A、中心智能家电设备向周围一预定距离范围内发送查询可用服务指令;
B、在所述预定距离范围内的外围智能家电设备接收所述查询指令,并按预先设置的格式生成回复信息,并将回复信息回发给中心智能家电设备;
C、所述中心智能家电设备接收到回复信息后,与外围智能家电设备完成互连。
所述的基于SmartPnP协议的设备互连方法,其中,所述步骤C之后还包括:
D、所述中心智能家电设备向所述外围智能家电设备发送订阅消息,所述外围智能家电设备接收所述订阅消息后,向所述中心智能家电设备发送自身状态信息。
所述的基于SmartPnP协议的设备互连方法,其中,所述步骤A具体包括:
A1、中心智能家电设备通过SSDP协议类型向周围一预定距离范围内发送查询可用服务指令。
所述的基于SmartPnP协议的设备互连方法,其中,所述步骤A之前还包括:
S、预先将采用JSON的数据交换格式进行描述且采用Rest协议进行远程功能调用的SmartPnP协议写入中心智能家电设备和外围智能家电设备中。
上述任一项所述的基于SmartPnP协议的设备互连方法,其中,所述外围智能家电设备在关机或离线时会发送离线通知至中心智能家电设备。
一种基于SmartPnP协议的设备互连系统,其中,所述系统包括:
服务查询模块,用于中心智能家电设备向周围一预定距离范围内发送查询可用服务指令;
接收与回复模块,用于在所述预定距离范围内的外围智能家电设备接收所述查询指令,并按预先设置的格式生成回复信息,并将回复信息回发给中心智能家电设备;
互连模块,用于所述中心智能家电设备接收到回复信息后,与外围智能家电设备完成互连。
所述的基于SmartPnP协议的设备互连系统,其中,所述系统还包括:
订阅消息通信模块,用于所述中心智能家电设备向所述外围智能家电设备发送订阅消息,所述外围智能家电设备接收所述订阅消息后,向所述中心智能家电设备发送自身状态信息。
所述的基于SmartPnP协议的设备互连系统,其中,所述服务查询模块包括:
服务查询单元,用于中心智能家电设备通过SSDP协议类型向周围一预定距离范围内发送查询可用服务指令。
所述的基于SmartPnP协议的设备互连系统,其中,所述系统还包括:
协议写入模块,用于预先将采用JSON的数据交换格式进行描述且采用Rest协议进行远程功能调用的SmartPnP协议写入中心智能家电设备和外围智能家电设备中。
上述任一项所述的基于SmartPnP协议的设备互连系统,其中,所述外围智能家电设备在关机或离线时会发送离线通知至中心智能家电设备。
本发明提供了一种基于SmartPnP协议的设备互连方法及系统,所述方法包括:中心智能家电设备向周围一预定距离范围内发送查询可用服务指令;在所述预定距离范围内的外围智能家电设备接收所述查询指令,并按预先设置的格式生成回复信息,并将回复信息回发给中心智能家电设备;所述中心智能家电设备接收到回复信息后,与外围智能家电设备完成互连。本发明中对于物联网中的智能家电设备的通信采用基于REST结构的SmartPnP协议,从而使智能家电设备的通信协议可方便地与HTML5技术结合,提高了设备的兼容性,减小智能电视客户端联网的硬件需求,简化了软件设计,为用户提供了方便。
附图说明
图1是本发明的一种基于SmartPnP协议的设备互连方法的较佳实施例的流程图。
图2是本发明的一种基于SmartPnP协议的设备互连方法中的较佳实施例的与UPnP兼容的SmartPnP协议的软件堆栈图。
图3是本发明的一种基于SmartPnP协议的设备互连系统的较佳实施例的功能原理框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明第一实施例所述的一种基于SmartPnP协议的设备互连方法,如图1所示,包括:
步骤S100、中心智能家电设备向周围一预定距离范围内发送查询可用服务指令。
具体实施时,物联网中的智能家电设备中预先录入对应的通信协议,在具体实施时,中心智能家电设备向周围通过广播形式发出查询可用服务的指令。
所述步骤S100之前还包括:
步骤S1、预先将采用JSON的数据交换格式进行描述且采用Rest协议进行远程功能调用的SmartPnP协议写入中心智能家电设备和外围智能家电设备中。
具体实施时,SmartPnP以UPnP协议为基础,以REST(RepresentationalStateTransfer)架构为远程功能调用协议,描述格式改以JSON(JavaScriptObjectNotation)为主。透过HTTP导向的机制,UPnP装置的PresentationPage将可藉由HTML5以撰写WebAPP的方式来呈现,并且可以方便地直接调用远程装置的控制服务。重要的是,在这样的软件框架下,客户端软件将不再需要个别客制,可改由装置端直接提供HTML档案的方式来实现,大大简化软件开发的困难与增加弹性。
其中,JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。
具体的,如图2所示,本发明还提供了一种SmartPnP与UpnP兼容的软件堆栈图,所述软件堆栈图中包括IP模块、SSDP模块、GENA模块、SOAP模块、HTTPU/MU模块、HTTP模块、UDP模块、TCP模块。
其中各模块具体功能概述如下:
SSDP模块
简单服务发现协议(SSDP,SimpleServiceDiscoveryProtocol)提供局域网络内发现装置的机制。装置加入局域网络后,可以向控制点(ControlPoint,即接受服务的UPnP客户端)广播自己的服务。反向地,控制点也能主动发出广播消息,来搜寻网络中的装置与服务。
SOAP模块
简单对象存取协议(SOAP,SimpleObjectAccessProtocol),一种交换数据的协议规范。控制点获取装置描述信息之后,便可以透过HTTP请求向该装置传送指令,请求消息以SOAP格式来封装。同样地,服务的响应消息也是采SOAP格式。
GENA模块
通用事件通知架构(GENA,GeneralEventNotificationArchitecture),用于事件订阅和通知。GENA事件消息以XML格式来封装一个或多个状态信息变量的当前数值。控制点可以向服务端申请订阅,服务端一旦内部状态改变,则向订阅者发出通知,以让控制点获知所关注的状态变化。
HTTP模块
超文本传输协议(HTTP,HyperTextTransferProtocol),提供资源请求的机制,资源乃由统一资源识别元(UniformResourceIdentifiers,URI)来标识。HTTP模块为SOAP与GENA的基础模块。此外,控制点可以透过HTTP来获取装置服务的描述文件,以了解装置服务的功能,与相关的控制与订阅请求URL。可选的,服务端也可以提供展示页面(PresentationPage)的URL,让控制点可以透过展示页面来控制装置。
HTTPU/MU模块
HTTPU/MU协议[6]是指在UDP基础上实现的通常在TCP上传送的HTTP协议。HTTPU/MU协议是SSDP与GENA协议的基础。
IP、UDP、TCP模块
网际网络的基础模块,为其它协议模块的底层基础。
基于这些协议堆栈的功能,UPnP主要的工作流程如下:
1.寻址(Addressing):设备获得IP地址(可由人员配置或自动获取)。
2.发现(Discovery):控制点透过SSDP发现装置。
3.描述(Description):控制点透过HTTP请求抓取装置描述文件对发现的装置进行了解。
4.控制(Control):控制点透过SOAP请求来控制装置。
5.事件通知(Event):控制点监听装置的GENA状态通知。
本发明中SmartPnP协议的内容包括:
SmartPnP是规范装置间沟通与信息交换的通用协议。沟通方式以HTTP为主,HTTPU/HTTPMU为辅,内容格式为JSON。以架构简易,实作简便,扩充性强为目标所设计的通讯协议。下面就DomainName、StateType、StateSubscription、Services、Device与装置描述逐一说明。
Name
在原UPnP规范中URN里使用的Domain一律订为SmartPnP-org。
Type
协议中对于状态变量描述的规范。下面以整数(integer)与字符串(string)为例,可视需求扩充其它型态。
整数型态,可以视需求定义有效范围(range)属性。
range
有效范围,选择性限制,为两个整数的array,有效范围包含这两个整数。例如:{"value":2,"range":[0,4]},有效范围为0≦value≦4。
string
字符串型态,可以视需求定义最大长度(maxLength)与有效字符串(validList)属性。
最大长度,选择性限制。值为用来表示最大长度的整数。为有效字符长度(UTF-8)。例如:{"value":"SmartPnP","maxLength":8},最大有效长度为8,正好是字符串SmartPnP的长度。在软件中若以C字符串存放,array长度需大于等于9以确保有足够空间加入NULLterminator。
设置有效字符串选项,选择性限制。为一字符串array。值只能是这个array的其中一个。例如:{"value":"bright","validList":["bright","normal","dark"]},即有效字符串有"bright"、"normal"与"dark"三种。
StateSubscription
对stateURL(底下以/api/spnp/FixedApplianceBasic/state/为例)发送SUBSCRIBE请求,可以订阅装置状态的变动,具体代码如下:
SUBSCRIBE/api/spnp/FixedApplianceBasic/state/HTTP/1.1
HOST:10.70.10.21
CALLBACK:callbackURL
NT:spnp:event
TIMEOUT:Second-3600
其中,各字段定义为:HOST:订阅者IP地址,CALLBACK:消息回呼URL,NT:通知类型(NotificationType),TIMEOUT:请求的订阅持续时间。
若订阅请求正确,将会回传如下的消息:
HTTP/1.1200OK
DATE:Thu,03Jul201404:07:37GMT
SERVER:OS/versionUPnP/1.0product/version
SID:uuid:subscriptionuuid
TIMEOUT:Second-3600
其中各字段定义为:DATE:响应时间,SERVER:系统版本,SID:本订阅的通用唯一标识符,TIMEOUT:允许的订阅持续时间。
若被订阅装置有状态变化时,就会发送如下面的消息到订阅者指定的callbackURL。具体代码如下:
NOTIFYcallbackpathHTTP/1.1
HOST:clientaddress
NT:spnp:event
NTS:spnp:propchange
SID:uuid:subscriptionuuid
SEQ:205
CONTENT-TYPE:application/json
CONTENT-LENGTH:39
{"location":1,"name":"BedroomTV"}
其中,各字段定义为HOST:订阅者IP地址,NT:通知类型(NotificationType),NTS:通知子类型(NotificationSubType),SID:本订阅的通用唯一标识符,SEQ:本订阅消息的通知序号,CONTENT-TYPE:消息格式,CONTENT-LENGTH:消息长度。
Services
Service为以REST订制的服务。一般服务应置于HTTP服务中/api/spnp/[ServiceName]/下,使用HTTPGET连上该网址可以取得服务的功能描述。服务的所有状态则置于该服务路径下的state/,也就是/api/spnp/[ServiceName]/state/。客户端可以对该URL直接取得所有的状态。也可对特定状态逐一取得。对于特定状态的修改,只需对其POST其value所需要的新值即可。
基本定义
个别特定装置规范均依循下面所述相同格式制定。
功能描述
针对装置的/api/spnp/[ServiceName]/发送GET请求,可以取得该服务的功能描述,格式如下:
{
"service":"[URNoftheservice]",
"stateURL":"/api/spnp/[ServiceName]/state/",
"controlList":{
"[ControlName1]":{
"url":"/api/spnp/[ServiceName]/[Entry]",
"method":"[HTTPmethod,likeGET,POST]",
"data":{[Dataformatdescription]}
},
"[ControlName2]":{
"url":"*",
"target":"[Invoketargetidentifier]",
"method":"[HTTPmethod,likeINVOKE]",
"data":{[Dataformatdescription]}
}
},
"states":{
"[State1]":{[StateTypeofState1]},
"[State2]":{[StateTypeofState2]}
}
}
Dataformatdescription
数据格式描述定义。以下描述调用一个控制(Control)时所附带的DATA字段数据格式。参数数据必须为一JSONdictionary。利用此dictionary来串起多个变动参数。而描述该数据形式的JSON也是一个dictionary,但值部分改为依StateType章节描述的变量定义,再补上"type"元素来记录变量的类别。例如integer就会补上{"type":"integer"}。
例如,某一控制需要以下格式的参数
{
"name1":"value1",
"name2":"value2",
"name3":24
}
其数据格式描述将会是类似下面表示的样式
{
"name1":{"type":"string"},
"name2":{"type":"string"},
"name3":{"type":"integer"}
}
为具体地说明Service的描述,底下以两项具体服务作为实例说明。
FixedApplianceBasicService
固定式家电服务,设装置位置与自订名称。
功能描述具体代码如下:
{
"service":"urn:SmartPnP-org:service:FixedApplianceBasic:1",
"stateURL":"/api/spnp/FixedApplianceBasic/state/",
"controlList":{},
"states":{
"power”:{"value":1,"compatibility":"controllable,subscribable",
"type":"integer","range":[0,1]},
"location":{"value":0,"compatibility":"controllable,subscribable","type":"integer"},
"name":{"value":"LivingRoomTV",
"compatibility":"controllable,subscribable","type":"string"}
}
}
States
直接使用HTTPGET连上stateURL,可以取得所有状态的集合描述,具体代码如下:
stateURL:/api/spnp/FixedApplianceBasic/state/
{
"power":{"value":1,"compatibility":"controllable,subscribable",
"type":"integer","range":[0,1]},
"location":{"value":0,"compatibility":"controllable,subscribable","type":"integer"},
"name":{"value":"LivingRoomTV",
"compatibility":"controllable,subscribable","type":"string"}
}
电源状态具体代码如下:
stateURL:/api/spnp/FixedApplianceBasic/state/power
{"value":1,"compatibility":"controllable,subscribable","type":"integer","range":[0,1]}
物理位置具体代码如下:
设置装置在家中的哪个房间或区块
stateURL:/api/spnp/FixedApplianceBasic/state/location
{"value":0,"compatibility":"controllable,subscribable","type":"integer"}
装置名称具体代码如下:
stateURL:/api/spnp/FixedApplianceBasic/state/name
{"value":"LivingRoomTV","compatibility":"controllable,subscribable","type":"string"}
AnnouncerService
接收通知信息,并提示或警告使用者。
功能描述,具体代码如下:
{
"service":"urn:SmartPnP-org:service:Announcer:1",
"stateURL":"/api/spnp/Announcer/state/",
"controlList":{
"Notify":{
"url":"/api/spnp/Announcer/notify",
"method":"POST",
"data":{"priority":{"type":"string","validList":["emergency","critical","warning","normal","minor"]},
"message":{"type":"string"}}
},
"BroadcastNotify":{
"url":"*",
"method":"INVOKE",
"target":"spnp:announcer:notify",
"data":{"priority":{"type":"string","validList":["emergency","critical","warning","normal","minor"]},
"message":{"type":"string"}}
}
}
}
BroadcastNotify-ThroughHTTPU
接受以HTTPU方式广播通知。发送端可能于一定时间内重复发送同一通知数次。具体代码如下:
INVOKE*HTTP/1.1
HOST:239.255.255.250:1900
TARGET:spnp:announcer:notify
SCALE:global
CONTENT-TYPE:application/json
CONTENT-LENGTH:71
{"priority":"warning","message":"PhonecalltoJoseph'smobilephone."}
Notify-ThroughHTTP
接受以HTTP方式通知,具体代码如下:
POST/api/spnp/Announcer/notifyHTTP/1.1
HOST:10.70.10.21
CONTENT-TYPE:application/json
CONTENT-LENGTH:71
{"priority":"warning","message":"PhonecalltoJoseph'smobilephone."}
Device
装置类别,仅用于分类与显示需求,并无特殊能力。下面列出一些例子,具体代码如下:
A.GeneralDevice
B.TV
C.DesktopPC
D.NotebookPC
E.MediaBox
F.Speaker
G.MobilePhone
H.AirConditioner
I.AirPurifier
J.LightControler
K.Refrigerator
发现
套用原本SSDP逻辑。在UPnP的基础上有以下扩展。
Advertisemen
套用原UPnP中的SSDP规则,但服务并不各自单独发送ssdp:alive与ssdp:byebye通知,而是挂在rootdevice中。
NOTIFYssdp:alive
在rootdevice的alive消息中,SmartPnP新增两个header,分别为X-SPNP-LOCATION与X-SPNP-SL。具体代码如下:
NOTIFY*HTTP/1.1
HOST:239.255.255.250:1900
LOCATION:http://10.70.10.21/api/spnp/device.xml
X-SPNP-LOCATION:http://10.70.10.21/api/spnp/device.json
NT:upnp:rootdevice
NTS:ssdp:alive
SERVER:OS/versionUPnP/1.0product/version
USN:uuid:uuid::upnp:rootdevice
X-SPNP-SL:urn:SmartPnP-org:service:FixedApplianceBasic:1;urn:SmartPnP-org:service:Announcer:1
其中X-SPNP-LOCATION:指定SPnP的装置描述位置,该描述为JSON格式。X-SPNP-SL:服务清单,会以";"来串接所有装置提供服务的URN。
NOTIFYssdp: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:SmartPnP-org:service:FixedApplianceBasic:1;urn:SmartPnP-org:service:Announcer:1
一个客户端可以发送以下HTTPU的request来询问环境有哪些可用装置或服务。所述request请求称为M-SEARCH,代码如下:
M-SEARCH*HTTP/1.1
HOST:239.255.255.250:1900
MAN:"ssdp:discover"
ST:urn:SmartPnP-org:service:FixedApplianceBasic:1
MX:10
当一个装置接收到M-SEARCH消息,应该针对每个service回传类似下面的消息。
HTTP/1.1200OK
CACHE-CONTROL:max-age=1800
DATE:Thu,03Jul201404:07:37GMT
EXT:
LOCATION:http://10.70.10.21/api/spnp/device.xml
X-SPNP-LOCATION:http://10.70.10.21/api/spnp/device.json
SERVER:OS/versionUPnP/1.0product/version
ST:urn:SmartPnP-org:service:FixedApplianceBasic:1
USN:uuid:uuid::urn:SmartPnP-org:service:FixedApplianceBasic:1
装置描述
档案描述分两种格式,XML与JSON。为了与原始UPnP兼容,可将SmartPnP装置信息嵌入于UPnP装置信息描述的XML中。另一种方式为单独描述,以JSON形式呈现,用于在SmartPnP广播通知消息中,X-SPNP-LOCATION所指定的描述文件。
以下分别就此两种格式给予例子。
UPnP支援
原UPnP装置叙述增列namespaceurn:SmartPnP-org:device部分描述来叙述SmartPnP服务。范例如下。
<xmlversion="1.0"encoding="UTF-8">
<rootxmlns="urn:schemas-upnp-org:device-1-0"xmlns:s="urn:SmartPnP-org:device">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:SmartPnP-org:device:TV</deviceType>
<friendlyName>TCLTV</friendlyName>
<manufacturer>TCLINC.</manufacturer>
<manufacturerURL>http://www.tcl.com/</manufacturerURL>
<modelName>TCL-TV40001</modelName>
<modelNumber>TCL-TV40001</modelNumber>
<modelURL>http://10.70.10.21/</modelURL>
<modelDescription>TCLSmartTV</modelDescription>
<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:SmartPnP-org:service:FixedApplianceBasic:1</s:serviceType>
<s:controlURL>/api/spnp/FixedApplianceBasic</s:controlURL>
</s:service>
<s:service>
<s:serviceType>urn:SmartPnP-org:service:Announcer:1</s:serviceType>
<s:controlURL>/api/spnp/Notifier</s:controlURL>
</s:service>
</s:serviceList>
<presentationURL>http://10.70.10.21/</presentationURL>
</device>
</root>
JSON装置描述文件
{
"type":"urn:SmartPnP-org:device:TV",
"friendlyName":"TCLTV",
"manufacturer":"TCLINC",
"manufacturerURL":"http://www.tcl.com/",
"modelName":"TCL-TV40001",
"modelNumber":"TCL-TV40001",
"modelURL":"http://10.70.10.21/",
"modelDescription":"TCLSmartTV",
"serialNumber":"00000000000000",
"UDN":"uuid:a8ed7ffd-1893-4346-aae8-fc4a7a682a4a",
"iconList":[
{"mimetype":"image/gif","width":16,"height":16,"depth":8,"url":"/ligd.gif"}
],
"presentationURL":"http://10.70.10.21/",
"serviceList":[
{"type":"urn:SmartPnP-org:service:FixedApplianceBasic:1","controlURL":"/api/spnp/FixedApplianceBasic"},
{"type":"urn:SmartPnP-org:service:Announcer:1","controlURL":"/api/spnp/Announcer"}
]
}
步骤S200、在所述预定距离范围内的外围智能家电设备接收所述查询指令,并按预先设置的格式生成回复信息,并将回复信息回发给中心智能家电设备。
具体实施时,本实施例中如果其他的智能家电设备和中心智能家电设备在预定的距离范围内,或是通过网络之类进行连接,可接收到中心智能设备的查询指令,并根据查询指令生成回复信息,并将回复信息通过网络通道按照预先设置的协议类型发送给中心智能家电设备。
步骤S300、所述中心智能家电设备接收到回复信息后,与外围智能家电设备完成互连。
具体实施时,当所述中心智能家电设备润滑刚才回复信息,即可知周围有可连接设备,此时设备互连完成。
所述步骤S300之后还包括:
步骤S400、所述中心智能家电设备向所述外围智能家电设备发送订阅消息,所述外围智能家电设备接收所述订阅消息后,向所述中心智能家电设备发送自身状态信息。
进一步地,所述步骤S100具体包括:
步骤S101、中心智能家电设备通过SSDP协议类型向周围一预定距离范围内发送查询可用服务指令。
具体实施时,简单服务发现协议(SSDP,SimpleServiceDiscoveryProtocol)是一种应用层协议,提供了在局部网络里面发现设备的机制。控制点(也就是接受服务的客户端)可以通过使用简单服务发现协议,根据自己的需要查询在自己所在的局部网络里面提供特定服务的设备。设备(也就是提供服务的服务器端)也可以通过使用简单服务发现协议,向自己所在的局部网络里面的控制点声明它的存在。本实施例中就采用SSDP协议格式来发送查询可用服务指令。
进一步的实施例中,所述外围智能家电设备在关机或离线时会发送离线通知至中心智能家电设备。
由上述实施例可知,本发明提供了一种基于SmartPnP协议的设备互连方法,其中SmartPnP协议以UPnP协议为基础,改以REST(RepresentationalStateTransfer)架构为远程功能调用协议,描述格式改以JSON(JavaScriptObjectNotation)为主。透过HTTP导向的机制,UPnP装置的PresentationPage将可藉由HTML5以撰写WebAPP的方式来呈现,并且可以方便地直接调用远程装置的控制服务。重要的是,在这样的软件框架下,客户端软件将不再需要个别客制,可改由装置端直接提供HTML档案的方式来实现,大大简化软件开发的困难与增加弹性。
基于上述实施例,本发明还提供一种基于SmartPnP协议的设备互连系统的较佳实施例的功能原理框图,如图3所示,所述系统包括:
服务查询模块510,用于中心智能家电设备向周围一预定距离范围内发送查询可用服务指令;具体如上所述。
接收与回复模块520,用于在所述预定距离范围内的外围智能家电设备接收所述查询指令,并按预先设置的格式生成回复信息,并将回复信息回发给中心智能家电设备;具体如上所述。
互连模块530,用于所述中心智能家电设备接收到回复信息后,与外围智能家电设备完成互连;具体如上所述。
所述的基于SmartPnP协议的设备互连系统,其中,所述系统还包括:
订阅消息通信模块,用于所述中心智能家电设备向所述外围智能家电设备发送订阅消息,所述外围智能家电设备接收所述订阅消息后,向所述中心智能家电设备发送自身状态信息;具体如上所述。
所述的基于SmartPnP协议的设备互连系统,其中,所述服务查询模块包括:
服务查询单元,用于中心智能家电设备通过SSDP协议类型向周围一预定距离范围内发送查询可用服务指令;具体如上所述。
所述的基于SmartPnP协议的设备互连系统,其中,所述系统还包括:
协议写入模块,用于预先将采用JSON的数据交换格式进行描述且采用Rest协议进行远程功能调用的SmartPnP协议写入中心智能家电设备和外围智能家电设备中;具体如上所述。
上述任一项所述的基于SmartPnP协议的设备互连系统,其中,所述外围智能家电设备在关机或离线时会发送离线通知至中心智能家电设备;具体如上所述。
综上所述,本发明提供了一种基于SmartPnP协议的设备互连方法及系统,所述方法包括:中心智能家电设备向周围一预定距离范围内发送查询可用服务指令;在所述预定距离范围内的外围智能家电设备接收所述查询指令,并按预先设置的格式生成回复信息,并将回复信息回发给中心智能家电设备;所述中心智能家电设备接收到回复信息后,与外围智能家电设备完成互连。本发明中对于物联网中的智能家电设备的通信采用基于REST结构的SmartPnP协议,从而使智能家电设备的通信协议可方便地与HTML5技术结合,提高了设备的兼容性,减小智能电视客户端联网的硬件需求,简化了软件设计,为用户提供了方便。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种基于SmartPnP协议的设备互连方法,其特征在于,所述方法包括:
A、中心智能家电设备向周围一预定距离范围内发送查询可用服务指令;
B、在所述预定距离范围内的外围智能家电设备接收所述查询指令,并按预先设置的格式生成回复信息,并将回复信息回发给中心智能家电设备;
C、所述中心智能家电设备接收到回复信息后,与外围智能家电设备完成互连。
2.根据权利要求1所述的基于SmartPnP协议的设备互连方法,其特征在于,所述步骤C之后还包括:
D、所述中心智能家电设备向所述外围智能家电设备发送订阅消息,所述外围智能家电设备接收所述订阅消息后,向所述中心智能家电设备发送自身状态信息。
3.根据权利要求1所述的基于SmartPnP协议的设备互连方法,其特征在于,所述步骤A具体包括:
A1、中心智能家电设备通过SSDP协议类型向周围一预定距离范围内发送查询可用服务指令。
4.根据权利要求1所述的基于SmartPnP协议的设备互连方法,其特征在于,所述步骤A之前还包括:
S、预先将采用JSON的数据交换格式进行描述且采用Rest协议进行远程功能调用的SmartPnP协议写入中心智能家电设备和外围智能家电设备中。
5.根据权利要求1-4任一项所述的基于SmartPnP协议的设备互连方法,其特征在于,所述外围智能家电设备在关机或离线时会发送离线通知至中心智能家电设备。
6.一种基于SmartPnP协议的设备互连系统,其特征在于,所述系统包括:
服务查询模块,用于中心智能家电设备向周围一预定距离范围内发送查询可用服务指令;
接收与回复模块,用于在所述预定距离范围内的外围智能家电设备接收所述查询指令,并按预先设置的格式生成回复信息,并将回复信息回发给中心智能家电设备;
互连模块,用于所述中心智能家电设备接收到回复信息后,与外围智能家电设备完成互连。
7.根据权利要求6所述的基于SmartPnP协议的设备互连系统,其特征在于,所述系统还包括:
订阅消息通信模块,用于所述中心智能家电设备向所述外围智能家电设备发送订阅消息,所述外围智能家电设备接收所述订阅消息后,向所述中心智能家电设备发送自身状态信息。
8.根据权利要求6所述的基于SmartPnP协议的设备互连系统,其特征在于,所述服务查询模块包括:
服务查询单元,用于中心智能家电设备通过SSDP协议类型向周围一预定距离范围内发送查询可用服务指令。
9.根据权利要求6所述的基于SmartPnP协议的设备互连系统,其特征在于,所述系统还包括:
协议写入模块,用于预先将采用JSON的数据交换格式进行描述且采用Rest协议进行远程功能调用的SmartPnP协议写入中心智能家电设备和外围智能家电设备中。
10.根据权利要求6-9任一项所述的基于SmartPnP协议的设备互连系统,其特征在于,所述外围智能家电设备在关机或离线时会发送离线通知至中心智能家电设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510467269.5A CN105162618A (zh) | 2015-08-03 | 2015-08-03 | 一种基于Smart PnP协议的设备互连方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510467269.5A CN105162618A (zh) | 2015-08-03 | 2015-08-03 | 一种基于Smart PnP协议的设备互连方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105162618A true CN105162618A (zh) | 2015-12-16 |
Family
ID=54803382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510467269.5A Pending CN105162618A (zh) | 2015-08-03 | 2015-08-03 | 一种基于Smart PnP协议的设备互连方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105162618A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105554690A (zh) * | 2015-12-23 | 2016-05-04 | 姚伟志 | 点到点的智能设备管理系统 |
CN108415745A (zh) * | 2018-02-09 | 2018-08-17 | 福建星网锐捷通讯股份有限公司 | 一种移动终端上ui控件操控智能设备的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120182920A1 (en) * | 2011-01-18 | 2012-07-19 | Samsung Electronics Co., Ltd. | Method and apparatus for phone communication using home network |
CN103152234A (zh) * | 2013-02-20 | 2013-06-12 | 广州市佳思信息科技有限公司 | 一种实现数字家庭网络设备间互联的方法 |
CN103825929A (zh) * | 2013-06-09 | 2014-05-28 | 奕甲智能技术(上海)有限公司 | 智能设备之间实现一对多控制的一个新方法和系统 |
CN104731659A (zh) * | 2013-12-24 | 2015-06-24 | 电子部品研究院 | 用于映射虚拟资源的位置信息的装置和方法 |
-
2015
- 2015-08-03 CN CN201510467269.5A patent/CN105162618A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120182920A1 (en) * | 2011-01-18 | 2012-07-19 | Samsung Electronics Co., Ltd. | Method and apparatus for phone communication using home network |
CN103152234A (zh) * | 2013-02-20 | 2013-06-12 | 广州市佳思信息科技有限公司 | 一种实现数字家庭网络设备间互联的方法 |
CN103825929A (zh) * | 2013-06-09 | 2014-05-28 | 奕甲智能技术(上海)有限公司 | 智能设备之间实现一对多控制的一个新方法和系统 |
CN104731659A (zh) * | 2013-12-24 | 2015-06-24 | 电子部品研究院 | 用于映射虚拟资源的位置信息的装置和方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105554690A (zh) * | 2015-12-23 | 2016-05-04 | 姚伟志 | 点到点的智能设备管理系统 |
CN108415745A (zh) * | 2018-02-09 | 2018-08-17 | 福建星网锐捷通讯股份有限公司 | 一种移动终端上ui控件操控智能设备的方法 |
CN108415745B (zh) * | 2018-02-09 | 2021-03-19 | 福建星网锐捷通讯股份有限公司 | 一种移动终端上ui控件操控智能设备的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100830940B1 (ko) | 유피엔피(UPnP)를 이용한 홈 네트워크의 원격 제어시스템 | |
JP4041118B2 (ja) | ゲートウェイ装置、ネットワークシステム、通信プログラム及び通信方法 | |
US7958272B2 (en) | Method and apparatus for outputting a user interface (UI) event of 3rd party device in home network | |
CN1943171B (zh) | 用于控制分布式站的网络中的设备的方法和网络站 | |
EP1058422A1 (en) | Methods for bridging a HAVi sub-network and a UPnP sub-network and device for implementing said methods | |
CN102484596B (zh) | 在家庭网络中控制远程用户界面的方法和装置 | |
US8775640B2 (en) | Method and system of interaction between entities on a communication network | |
US7539152B2 (en) | Service providing apparatus, service providing method, and program | |
US7725566B2 (en) | Framework for enabling service tuning for UPNP remote access | |
US20060037036A1 (en) | Remote control method of home network and system thereof | |
CN103004186B (zh) | 在计算机设备之间配置高清晰度视频电话的装置和方法 | |
CN102549968A (zh) | 在远程用户界面服务器和远程用户界面客户端间界面连接的装置和方法 | |
US20130268578A1 (en) | Method And Apparatus For Facilitating Communications With A Managed Client Device | |
US20090254671A1 (en) | Remote control of a device by a terminal | |
AU2011245872A1 (en) | Method for providing message and device therefor | |
US7693972B2 (en) | Directory service in an automation system | |
KR20050078541A (ko) | 홈네트워크 디바이스 모니터링 및 제어 방법 | |
CN105162618A (zh) | 一种基于Smart PnP协议的设备互连方法及系统 | |
KR20050079480A (ko) | 홈 네트워크 서비스 제공 UPnP기반 RG 시스템 | |
EP2168327B1 (en) | Method of receiving/transmitting event message, controlled device, and control point | |
CN101902460A (zh) | 网络接入对象的操作组件生成处理方法及设备 | |
MXPA04008808A (es) | Metodo para actualizar un cliente de la web en una red domestica no basada en ip, y dispositivos para implementar el proceso. | |
EP2666257B1 (en) | Method and system for providing an enhanced event notification in an universal plug and play home network environment | |
CN101778020A (zh) | 通用即插即用设备数据模型发现及通知的方法、装置和系统 | |
EP2609713B1 (en) | Method and apparatus for sharing memo by using upnp telephony |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151216 |