CN103237056B - 一种设备终端、控制终端和服务器及其控制方法 - Google Patents
一种设备终端、控制终端和服务器及其控制方法 Download PDFInfo
- Publication number
- CN103237056B CN103237056B CN201310108182.XA CN201310108182A CN103237056B CN 103237056 B CN103237056 B CN 103237056B CN 201310108182 A CN201310108182 A CN 201310108182A CN 103237056 B CN103237056 B CN 103237056B
- Authority
- CN
- China
- Prior art keywords
- control
- target device
- upnp
- lan
- server
- 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.)
- Active
Links
Abstract
本发明实施例提供的一种设备终端、控制终端和服务器及其控制方法,该设备终端控制方法包括:接收服务器传送过来的基于XMPP协议的命令并解析所述基于XMPP协议的命令;将经过解析的命令转换成基于UPnP协议的命令;将基于UPnP协议的命令解析后通过数据接口传送给控制模块。通过本发明的设备终端、控制终端和服务器及其控制方法使设备终端的底层接口统一,有效避免了局域网和广域网控制设备终端时,接口不一致的弊端,而且还能实现控制模式的自动切换。
Description
技术领域
本发明涉及通信领域,尤其涉及一种设备终端、控制终端和服务器及其控制方法。
背景技术
随着互联网技术的发展和普及,尤其是云计算技术的发展,出现了所谓云家电的智能家电产品。云家电系统通常是由设备终端和云端服务器、控制终端三部分组成。设备终端提供完整家电功能的同时,负责数据采集、命令响应处理、数据接收、状态上报等功能;云端服务器主要实现消息、数据发送,各种数据挖掘,分析及增值应用;控制终端主要提供用户远程控制和查询设备状态的功能。
现有的云家电系统中,控制终端主要是基于XMPP协议对家电设备终端进行远程操控,即使用户在家里,控制命令仍然是通过云端服务器转发,网络不好时,可能会有很严重的延时。另外,也有一些家电设备终端加入了局域网控制模块,不过这些家电设备终端通常将广域网控制路径和局域网控制路径分开处理,以避免互斥冲突,但也因此造成了接口多样,不统一,软件开发难度大。
发明内容
本发明实施例提供了一种设备终端控制方法,旨在解决家电设备接口多样,不统一的问题。
该设备终端控制方法,包括如下步骤:
接收服务器传送过来的基于XMPP协议的命令并解析所述基于XMPP协议的命令;
将经过解析的命令转换成基于UPnP协议的命令;
将基于UPnP协议的命令解析后通过数据接口传送给控制模块。
所述设备终端控制方法还包括:
接收控制模块返回的命令响应并转换为基于UPnP协议的状态信息响应;
解析所述基于UPnP协议的状态信息响应;
将经过解析的状态信息响应转换为基于XMPP协议的状态信息响应并传送给服务器。
所述将基于UPnP协议的命令解析后通过数据接口并传送给控制模块之前还包括:接收控制终端传送过来的基于UPnP协议的命令。
所述设备终端控制方法还包括:接收控制模块返回的根据所述控制终端传送过来的基于UPnP协议的命令做出响应的命令响应,转换为基于UPnP协议的状态信息响应并传送给控制终端。
所述接收控制终端传送过来的基于UPnP协议的命令之前还包括:接收控制终端的控制请求并做出响应;获取控制终端的设备信息,建立与控制终端的基于UPnP协议的通信链路。
所述接收服务器传送过来的基于XMPP协议的命令并解析所述基于XMPP协议的命令之前还包括:向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路。
所述将基于UPnP协议的命令解析后通过数据接口传送给控制模块的步骤具体为将基于UPnP协议的命令解析后,转换成串口命令或者并口命令传送给控制模块。
本发明实施例还提供了一种设备终端,该设备终端包括:
XMPP客户端,用于接收服务器传送过来的基于XMPP协议的命令并解析所述基于XMPP协议的命令;
UPnP控制点,用于将XMPP客户端解析过的命令转换成基于UPnP协议的命令;
UPnP设备,用于将基于UPnP协议的命令解析后通过数据接口传送给控制模块。
所述UPnP设备还用于接收控制模块返回的命令响应并转换为基于UPnP协议的状态信息响应;
所述UPnP控制点还用于接收并解析所述UPnP设备传送过来的所述基于UPnP协议的状态信息响应;
所述XMPP客户端还用于将经过所述UPnP控制点解析的状态信息响应转换为基于XMPP协议的状态信息响应并传送给服务器。
所述UPnP设备还用于接收控制终端传送过来的基于UPnP协议的命令并解析,然后通过数据接口传送给控制模块。
所述UPnP设备进一步用于:接收控制模块返回的根据所述控制终端传送过来的基于UPnP协议的命令做出响应的命令响应,转换为基于UPnP协议的状态信息响应并传送给控制终端。
所述UPnP设备还用于接收控制终端的控制请求并做出响应,获取控制终端的设备信息,建立与控制终端的基于UPnP协议的通信链路。
所述XMPP客户端还用于:向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路。
本发明实施例还提供一种控制终端控制方法,包括如下步骤:
向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路;
获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息;
接收选定目标设备的指令;
判断目标设备是否属于局域网在线设备终端,当目标设备是局域网在线设备终端时,通知通信单元与目标设备建立基于UPnP协议的通信链路;向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路。
所述当目标设备是局域网在线设备终端时,通知通信单元与目标设备建立基于UPnP协议的通信链路;向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路的步骤之后还包括:
接收对目标设备的控制命令;
转发所述控制命令给通信模块;
将所述控制命令转换成基于UPnP协议的命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备。
所述判断目标设备是否属于局域网在线设备终端,当目标设备是局域网在线设备终端时,通知通信单元与目标设备建立基于UPnP协议的通信链路;向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路的步骤进一步包括:当目标设备不是局域网在线设备终端,而是广域网在线设备时,通知通信单元与向服务器发出选定目标设备的指令;将选定目标设备的指令传送给服务器,获取服务器返回的目标设备状态信息。
所述将选定目标设备的指令传送给服务器,获取服务器返回的目标设备状态信息的步骤之后还包括:
接收对目标设备的控制命令;
转发所述控制命令给通信单元;
将所述控制命令转换成基于XMPP协议的目标终端控制命令后,通过与服务器的通信链路传送给服务器。
本发明实施例还提供了一种控制终端,该控制终端包括:
XMPP客户端,用于向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路,获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息;
交互模块,用于接收选定目标设备的指令;
管理模块,用于判断目标设备是否属于局域网在线设备终端,当目标设备是局域网在线设备终端时,通知通信单元与目标设备建立基于UPnP协议的通信链路;
UPnP控制点,用于向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路。
所述交互模块,还用于接收对目标设备的控制命令;
所述管理模块,还用于将所述交互模块传送过来的所述控制命令转发给通信模块;
所述UPnP控制点,还用于将所述管理模块传送过来的所述控制命令转换成基于UPnP协议的命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备。
所述管理模块,还用于当目标设备不是局域网在线设备终端,而是广域网在线设备时,通知通信单元与向服务器发出选定目标设备的指令;
所述XMPP客户端,还用于将选定目标设备的指令传送给服务器,获取服务器返回的目标设备状态信息。
所述交互模块,还用于接收对目标设备的控制命令;
所述管理模块,还用于转发所述控制命令给通信模块;
所述XMPP客户端,还用于将所述控制命令转换成基于XMPP协议的目标终端控制命令后,通过与服务器的通信链路传送给服务器。
本发明实施例还提供了一种服务器控制方法,包括如下步骤:
接收设备终端的登陆请求,建立与设备终端的基于UPnP协议的通信链路,接收设备终端上传的设备终端状态信息;以及接收控制终端的登陆请求,建立与控制终端的基于XMPP协议的通信链路;
将广域网在线设备的信息发送给控制终端;
接收控制终端传送过来的选定目标设备的指令;
发送所述被选定的目标设备的状态信息给控制终端;
接收控制终端传送过来的基于XMPP协议的目标终端控制命令;
将所述目标终端控制命令转发给目标终端;
接收目标终端传送过来的基于XMPP协议的状态信息响应;
将所述基于XMPP协议的状态信息响应转发给控制终端。
与现有技术相比,本发明的设备终端通过构建UPnP控制点,使得控制终端的UPnP控制点和设备终端的UPnP控制点可以使用相同的底层模块,由设备终端的XMPP客户端传送的经过UPnP控制点后发送给UPnP设备的命令与控制终端的UPnP控制点发送给UPnP设备的命令在形式上是一样的,两者统一通过UPnP协议送达UPnP设备处理。从而本发明的设备终端可以使底层设备接口统一,有效避免了局域网和广域网控制设备终端时,接口不一致的弊端。另外,由于UPNP协议栈本身具有线程互斥机制,从而可以避免多人同时通过广域网或局域网模式操作底层设备而带来的冲突,简化了程序设计。
而且本发明的控制终端还能根据用户所处的位置,自动选择控制模式(局域网控制模式或者广域网控制模式),充分发挥局域网控制网络延时小,不需要耗费上网流量的优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种设备终端控制方法的流程示意图;
图2是图1所示设备终端控制方法的上行流程示意图;
图3是本发明实施例提供的一种云家电系统的系统结构图;
图4是本发明实施例提供的一种设备终端的控制流程图;
图5是本发明实施例提供的一种控制终端控制方法的流程示意图;
图6是本发明实施例提供的另一种控制终端控制方法的流程示意图;
图7是本发明实施例提供的一种控制终端的控制流程图;
图8是本发明实施例提供的一种广域网控制模式操作的流程示意图;
图9是本发明实施例提供的一种局域网控制模式操作的流程示意图;
图10是本发明实施例提供的一种处理目标设备控制事件的流程示意图;
图11是本发明实施例提供的一种控制终端的装置结构图;
图12是本发明实施例提供的一种服务器控制方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种设备终端控制方法,参考图1,设备终端控制方法包括如下步骤:
步骤S101,接收服务器传送过来的基于XMPP协议(Extensible Messageing andPresence Protocol,可扩展消息与存在协议)的命令并解析所述基于XMPP协议的命令;
步骤S102,将经过解析的命令转换成基于UPnP协议(Universal Plug and Play,通用即插即用)的命令;
步骤S103,将基于UPnP协议的命令解析后通过数据接口传送给控制模块。
该设备终端控制方法首先将从服务器传送过来的XMPP协议命令转换成UPnP协议命令,然后再由UPnP协议命令转换成设备终端的控制模块可以执行的命令,例如串口命令或者并口命令。上述流程属于服务器发送数据给设备终端的下行数据流程,设备终端传送数据给服务器的上行流程如图2所示,其步骤如下:
步骤S104,接收控制模块返回的命令响应并转换为基于UPnP协议的状态信息响应;
步骤S105,解析该基于UPnP协议的状态信息响应;
步骤S106,将经过解析的状态信息响应转换为基于XMPP协议的状态信息响应并传送给服务器。
该上行流程将设备终端的控制模块做出的命令响应先转换成UPnP状态信息响应再转换成服务器可以接收的XMPP状态信息响应,上述命令响应可以是串口形式的命令响应或者并口形式的命令响应等。
参考图3,图3是一种云家电系统的系统结构图,该云家电系统包括设备终端、服务器和控制终端,设备终端可以是空调、冰箱和洗衣机等家电设备,还可以是电视、音响和灯光系统等家用电子设施。设备终端包括XMPP客户端(XMPP Client)201、UPnP控制点(UPnPControl Point)202、UPnP设备(UPnPDevice)203、消息处理模块(Message Handler)204和控制模块(MCU)205。控制终端包括XMPP客户端206、UPnP控制点207、管理模块(LineMonitor)208和交互模块(GUI Module)209。服务器包括通信服务器(IM Server)210和数据处理服务器(Data Server)211。该服务器是Openfire IM服务器,其中,通信服务器210负责数据报文的接收转发,数据处理服务器211负责数据的分析、入库及各种增值应用。由于本发明的设备终端同时满足XPMM和UPnP两种通信模式,因此,用户可以使用控制终端分别通过广域网或者局域网对设备终端进行控制。
采用广域网控制模式时,设备终端通过服务器将数据转发到设备终端,如上述设备终端控制方法中的步骤S101-103;设备终端发送的数据也通过服务器传送给设备终端,如上述设备终端控制方法中的步骤S104-106。在进行上述步骤S101-106之前,设备终端首先向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路。具体地,设备终端的XMPP客户端201按照服务器预先分配的账号连接到通信服务器210,建立与服务器的通信链路,为广域网控制提供设备终端到服务器的通信链路。
采用局域网模式时,控制终端可以通过其UPnP控制点207将数据发送到设备终端的UPnP设备203,同时通过UPnP控制点207接收UPnP设备203返回的数据。对应上述局域网控制模式,在步骤S103之前,该设备终端控制方法还包括接收控制终端传送过来的基于UPnP协议的命令的步骤,以及接收控制模块返回的根据控制终端传送过来的基于UPnP协议的命令做出响应的串口命令响应或者并口命令响应,转换为基于UPnP协议的状态信息响应并传送给控制终端的步骤。在上述进行局域网的数据传输之前,设备终端首先需要与控制终端建立连接,具体执行的操作如下:接收控制终端的控制请求并做出响应;获取控制终端的设备信息,建立与控制终端的基于UPnP协议的通信链路。
参考图3,本发明实施例提供的一种控制终端包括:用于接收服务器传送过来的基于XMPP协议的命令并解析所述基于XMPP协议的命令的XMPP客户端201、用于将XMPP客户端解析过的命令转换成基于UPnP协议的命令的UPnP控制点202、用于将基于UPnP协议的命令解析后通过数据接口传送给控制模块的UPnP设备203。上述UPnP设备203还用于接收控制模块返回的命令响应并转换为基于UPnP协议的状态信息响应。上述UPnP控制点202还用于接收并解析UPnP设备传送过来的该基于UPnP协议的状态信息响应。上述XMPP客户端201还用于将经过UPnP控制点202解析的状态信息响应转换为基于XMPP协议的状态信息响应并传送给服务器。
具体地,UPnP控制点202是能够实现UPnP控制点功能控制器,用于扫描检索UPnP设备203并与之建立通信链路,将来自XMPP客户端201的数据命令转为UPnP的数据命令传递到UPnP设备203,接收并解析UPnP设备203发来的UPnP数据,将解析获取的数据发送到XMPP客户端201。UPnP设备203是指其他服务或者是设备的容器,用于解析来自包括UPnP控制点202以及控制终端的UPnP控制点207的数据,并调用消息处理模块204提供的接口函数将数据传递到设备终端控制模块205,将消息处理模块204反馈的设备终端状态信息发送到UPnP控制点202。上述状态信息可以是空调设备的运行状态、风量和设定温度,冰箱的冷藏室温度、冷冻室温度,洗衣机的各种洗涤参数等。消息处理模块204负责将设备终端的控制模块205返回的各种数据通过接口函数汇报到UPnP设备203,将UPnP设备203发送的数据通过消息处理模块204提供的接口函数发送到控制模块205进行处理。控制模块205用于控制设备终端的硬件设备运行,实现各种设备终端的各种功能,该控制模块205可以是空调、冰箱和洗衣机等家电设备的控制器,控制空调、冰箱和洗衣机的运行。
在本实施例中,设备终端的XMPP客户端201、UPnP控制点202、UPnP设备203和消息处理模块204运行于独立的单片机系统上,例如可以将它们设置在一块具备网络连接功能的外置控制板上,外置控制板的单片机系统通过串口或者并口与设备终端的控制模块205实现数据交互。消息处理模块204是外置控制板的单片机系统与控制模块205之间的接口模块。不过,在其他实施例中,设备终端的XMPP客户端201、UPnP控制点202、UPnP设备203、消息处理模块204和控制模块205也可以使用同一控制系统,消息处理模块204和控制模块205之间的接口将发生改变,可以通过定义函数接口来传递数据,也可以定义消息格式通过消息事件来实现数据交互。
下面对设备终端的控制流程进行说明,本实施例以串口形式的外置控制板为例,外置控制板具备局域网和广域网的连接功能,能够通过广域网登陆服务器,也能够让控制终端通过UPnP技术建立局域网连接。如图4所示,当设备终端的系统上电后,首先完成XMPP客户端201和UPnP设备203的初始化。
XMPP客户端201首先根据预设的账号登陆到通信服务器210并保持在线,即保持控制模块205到通信服务器210之间的通信链路可用。参考图4的步骤305-308,步骤307是将当前XMPP线路状态记录在XMPP客户端201的状态表中;图4的步骤301-304是UPnP设备203的流程,步骤306中XMPP客户端201监听通信服务器210发送的命令消息和UPnP控制点202上报的消息,具体参考图4的步骤311-313。参考步骤309,当XMPP客户端201连接到通信服务器210后,由XMPP客户端201创建线程并初始化UPnP控制点202。
在步骤314和步骤315中,UPnP控制点202按照UPnP标准接口建立和UPnP设备203的控制链路。步骤315是UPnP事件监听,主要是监听XMPP客户端事件消息以及监听UPnP设备上报事件消息。步骤316-320为UPnP控制点202的数据处理流程,在步骤316,UPnP控制点202判断是否需要上报消息,若判断需要上报消息,则执行步骤317,UPnP控制点202判断XMPP链路是否正常,若判断XMPP链路正常,则执行步骤318,UPnP控制点202将事件封装转发到XMPP客户端201,若判断XMPP链路不正常,则执行步骤319,UPnP控制点202缓存事件数据,并定时汇报到服务器;若UPnP控制点202判断不需要上报消息,则执行步骤320,UPnP控制点202转为UPnP控制事件,送往UPnP设备203处理。
对于广域网下行数据处理流程(服务器发送数据到设备终端的控制模块205),在步骤310,XMPP客户端201将接收并解析XMPP通信报文,获取数据信息,并调用UPnP控制点202提供的接口函数将数据传递到UPnP控制点202,如步骤312所示。UPnP控制点202监听并接收UPnP事件消息后,通过步骤320将数据发送到UPnP设备203。UPnP设备203监听并接收到事件消息后,调用消息处理模块204提供的函数将消息发送到控制模块205。控制模块205接收到串口消息后,按照要求控制设备终端的硬件设备响应控制命令。
对于广域网上行数据处理流程(控制模块205发送数据到服务器),消息处理模块204接收设备终端控制模块205发送的上行数据后,解析并调用UPnP设备提供的接口函数将上行数据传递到UPnP设备203。UPnP设备203监听到上报消息后,分析并调用UPnP控制点202提供的接口(函数或者消息),将消息发送到UPnP控制点202,具体可参考步骤301、302和304。UPnP控制点202接收UPnP设备203发送的数据后,调用XMPP客户端201提供的接收函数或者发送函数将该数据转为XMPP数据报文并发送到服务器。
在局域网中,可以通过控制终端的UPnP控制点207直接控制设备终端,控制终端的UPnP控制点207和设备终端的UPnP控制点202的功能实质上是相同,均可建立UPnP控制链路对设备进行控制。本发明的设备终端通过构建UPnP控制点202,使得UPnP控制点207和设备终端的UPnP控制点202可以使用相同的底层模块,由XMPP客户端201传送的经过UPnP控制点202后发送给UPnP设备203的命令与控制终端的UPnP控制点207发送UPnP设备203的命令在形式上是一样的,两者统一通过UPnP协议送达UPnP设备203处理。从而本发明的设备终端可以使底层设备接口统一,有效避免了局域网和广域网控制设备终端时,接口不一致的弊端。另外,由于UPNP协议栈本身具有线程互斥机制,从而可以避免多人同时通过广域网或局域网模式操作底层设备而带来的冲突,简化了程序设计。
本发明实施例还提供一种控制终端控制方法,参考图5,该控制终端控制方法包括如下步骤:
步骤S401,向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路;
步骤S402,获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息;
步骤S403,接收选定目标设备的指令;
步骤S404,判断目标设备是否属于局域网在线设备终端,当目标设备是局域网在线设备终端时,通知通信单元与目标设备建立基于UPnP协议的通信链路;向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路。
上述控制终端控制方法用于建立控制终端与设备终端之间的通信连接,步骤S401中的登陆请求是控制终端的XMPP客户端206按照服务器预先分配的账号连接到通信服务器210,建立与通信服务器210的通信链路,形成广域网控制下控制终端到服务器的通信链路,用于完成控制终端与服务器的数据交换。在建立了广域网的通信链路之后,设备终端从服务器获取广域网在线设备终端的信息,通过广域网在线设备终端的信息可以判断当前有哪些设备终端处于广域网在线状态,对于处在广域网在线状态的设备终端,控制终端可以通过服务器连接这些设备终端,以便实现数据的收发。设备终端获取广域网在线设备终端的信息后,将这些信息记录到管理模块208中。步骤S402中的扫描局域网在线的设备终端并记录局域网在线设备终端的信息是控制终端在局域网模式下用于发现局域网在线设备的操作。该操作与前面广域网下获取广域网在线设备信息的步骤可以同时进行,也可以错开执行,两者不区分先后顺序。控制终端可以通过UPnP控制点207扫描发现局域网在线的符合UPnP协议的设备终端,并将相关信息记录到管理模块208中。管理模块208用于存储一个全局的通信状态变量表及操作变量表的接口函数,记录与被控设备之间的局域网链路状态、与服务器之间的广域网链路状态、当前控制终端所处的控制模式以及控制模式的优先级标志等,并提供其他模块进行通信状态的查询和修改。
控制终端可以将上述已经获取到的广域网在线设备终端的信息和局域网在线设备终端的信息通过交互模块209呈现给用户,该控制终端可以是智能手机、便携式笔记本和平板电脑等移动设备,上述信息可以通过触控屏幕展示给用户,当用户想要控制某个设备终端时,可以从屏幕选中该设备终端。
通过控制终端,用户可以通过广域网或者局域网对设备终端进行控制,由于局域网控制具有网络延时小,不需要耗费上网流量等优点,因此,在本实施例中,控制终端优选采用局域网控制模式连接和控制设备终端,即当用户想要控制的设备终端(目标终端)同时处于局域网在线和广域网在线状态时,控制终端将优选采用局域网控制模式。因此,在步骤S404中,控制终端首先判断目标是否可以进行局域网控制,如果该目标设备可以进行局域网控制时,管理模块208将通知通信单元与目标设备建立基于UPnP协议的通信链路,该通信单元的功能可以由XMPP客户端206和UPnP控制点207实现,广域网的通信由XMPP客户端206执行,局域网的通信由UPnP控制点207。对于局域网控制模式,管理模块208将通知UPnP控制点207与目标设备建立基于UPnP协议的通信链路,接到上述通知后,UPnP控制点207向目标设备发送控制请求,获取目标设备返回的设备描述信息,根据设备描述信息建立与目标设备的基于UPnP协议的通信链路。建立通信链路后,用户便可以通过控制终端对目标设备进行控制操作。具体的执行步骤如下:
步骤S405,接收对目标设备的控制命令;
步骤S406,转发该控制命令给通信模块;
步骤S407,将控制命令转换成基于UPnP协议的命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备。
用户的控制命令由交互模块209获取并发送给管理模块208,该控制命令可以是空调开机、控制空调制冷和获取冰箱内的食品信息等,管理模块208收到上述控制命令后,根据之前建立通信链路的信息,将控制命令发送给相应的通信单元,在本实施例中,步骤S405执行时,在步骤S404中执行了局域网控制模式,建立了与目标设备的基于UPnP协议的通信链路,因此,管理模块208会将管理模块208控制命令发送给UPnP控制点207,由UPnP控制点207通过局域网链路传送给设备终端的UPnP设备203,再由UPnP设备203发送给控制模块205执行。
目标设备对上述控制命令的处理流程可以参考前述设备终端控制方法,目标设备处理完控制命令可能会返回相应的状态信息响应,UPnP控制点207将接收目标设备返回的该基于UPnP协议的状态信息响应,并将该状态信息响应解析后经管理模块208传送给交互模块209进行相应的呈现。
在上述步骤S404的判断目标设备是否属于局域网在线设备终端的时候,当管理模块208根据其存储的广域网在线设备终端的信息和局域网在线设备终端的信息判定目标设备不是局域网在线设备终端,而是广域网在线设备时,通知通信单元(XMPP客户端206)与向服务器发出选定该目标设备的指令,然后由XMPP客户端206将选定目标设备的指令传送给服务器,获取服务器返回的该目标设备的状态信息。
控制终端在通过上述步骤建立了与目标设备的关联后,将可以通过广域网发送相应的控制命令给该目标设备。该控制命令发送流程具体包括:
接收对目标设备的控制命令;
转发该控制命令给通信单元;
将控制命令转换成基于XMPP协议的目标终端控制命令后,通过与服务器的通信链路传送给服务器。
目标设备收到服务器转发过来的上述目标终端控制命令后,将通过XMPP客户端201——UPnP控制点202——UPnP设备203——消息处理模块204——控制模块205的链路传送到控制模块205并执行。目标设备会将相应的状态信息响应发送给服务器,由XMPP客户端206接收服务器返回的基于XMPP协议的状态信息响应,将该状态信息响应解析后经管理模块208传送给交互模块209进行相应的呈现。
通过本实施例的控制终端控制方法,控制终端既可以通过局域网控制设备终端,又可以通过广域网控制设备终端,并且本实施的控制终端控制方法还可以按照局域网优先的顺序连接设备终端,使连接更稳定,而且节省流量。
本发明实施例还提供一种控制终端,该控制终端包括XMPP客户端206、UPnP控制点207、管理模块208和交互模块209,其中:
XMPP客户端206,用于向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路,获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息;
交互模块209,用于接收选定目标设备的指令;
管理模块208,用于判断目标设备是否属于局域网在线设备终端,当目标设备是局域网在线设备终端时,通知通信单元与目标设备建立基于UPnP协议的通信链路;
UPnP控制点207,用于向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路。
进一步地,交互模块还用于接收对目标设备的控制命令,管理模块208还用于将交互模块传送过来的控制命令转发给通信模块,UPnP控制点207还用于将管理模块208传送过来的控制命令转换成基于UPnP协议的命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备。
进一步地,管理模块208还用于当目标设备不是局域网在线设备终端,而是广域网在线设备时,通知通信单元与向服务器发出选定目标设备的指令;XMPP客户端206还用于将选定目标设备的指令传送给服务器,获取服务器返回的目标设备状态信息。
进一步地,交互模块209还用于接收对目标设备的控制命令;管理模块208还用于转发控制命令给通信模块;XMPP客户端206还用于将控制命令转换成基于XMPP协议的目标终端控制命令后,通过与服务器的通信链路传送给服务器。
本发明实施例还提供另一种控制终端控制方法,参考图6,该控制终端控制方法包括如下步骤:
步骤S502,向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路;
步骤S504,获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息;
步骤S506,判断是否产生目标设备选定事件,如果产生目标设备选定事件,则将目标设备选定事件中的设备终端选定为目标设备;
步骤S508,根据预定的控制模式以及目标设备的在线状态确定通信模式。
在本实施例的控制终端控制方法中,控制终端对设备终端进行控制时采用的控制模式主要包括局域网控制模式和广域网控制模式,不同于前面的实施例,本实施例的控制终端控制方法不再默认局域网控制模式优先,而是以控制终端预先确定的需要优先采用的控制模式或者用户确定的需要优先采用的控制模式作为通信模式的第一选择,当该第一选择无法执行时再尝试切换到另一种控制模式。增强了系统的自由度,方便用户根据具体的情况进行合理的选择。由于目标设备的在线状态包括局域网在线、广域网在线和不在线等,因此,步骤S508在执行时具体包括判断预定的控制模式是局域网控制模式还是广域网控制模式,以及目标设备属于局域网在线设备还是广域网在线设备,当预定的控制模式是局域网控制模式且目标设备属于局域网在线设备时,通知通信单元(UPnP控制点207)与目标设备建立基于UPnP协议的通信链路,向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路;当预定的控制模式是广域网控制模式且目标设备属于广域网在线设备时,查询目标设备的状态信息,接收服务器返回的目标设备的状态信息并存储。上述两个判断步骤涉及控制模式与在线状态对应的情况,实际采用的控制模式与预定的控制模式一致,在上述步骤之后进一步判断不一致的情况,即当预定的控制模式是局域网控制模式且目标设备属于广域网在线设备时,查询目标设备的状态信息,接收服务器返回的目标设备的状态信息并存储;当预定的控制模式是广域网控制模式且目标设备属于局域网在线设备时,通知通信单元与目标设备建立基于UPnP协议的通信链路,向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路。另外,如果目标设备不在线则不执行控制操作,直至目标设备上线。
通过上述步骤确定了控制模式、建立了与目标设备的关联之后,控制终端将进入具体的控制模式操作阶段,具体地,当预定的控制模式是局域网控制模式且目标设备属于局域网在线设备时,通知通信单元与目标设备建立基于UPnP协议的通信链路,向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路的之后还将控制模式记录为局域网控制模式,执行局域网控制模式操作;当预定的控制模式是广域网控制模式且目标设备属于广域网在线设备时,查询目标设备的状态信息,接收服务器返回的目标设备的状态信息并存储的步骤之后还将控制模式记录为广域网控制模式,执行广域网控制模式操作;当预定的控制模式是局域网控制模式且目标设备属于广域网在线设备时,查询目标设备的状态信息,接收服务器返回的目标设备的状态信息并存储的步骤之后还将控制模式记录为广域网控制模式,执行广域网控制模式操作;当预定的控制模式是广域网控制模式且目标设备属于局域网在线设备时,通知通信单元与目标设备建立基于UPnP协议的通信链路,向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路的步骤之后还将控制模式记录为局域网控制模式,执行局域网控制模式操作。
参考图7,图7是根据前面的控制终端控制方法形成的一个具体的控制终端流程图,该控制终端流程图将控制终端的运行分成了XMPP客户端和UPnP控制点两个不同的线程执行,XMPP客户端206定期从服务器中获取广域网在线设备列表,UPnP控制点207定期扫描局域网在线设备,获取局域网在线设备列表。当启动控制终端后,首先完成各个功能模块的初始化,初始化管理模块208、初始化XMPP客户端206、初始化UPnP控制点207、初始化交互模块209。XMPP客户端206根据预设的账号登陆到通信服务器210,并保持在线,即保持控制终端到服务器的通信链路可用,参考图7的步骤601、602、603、619、620。在用户没有选择目标设备之前,XMPP客户端206将执行步骤603→604→608→609→614→615→603。
其中,步骤604“用户选择设备A”是指交互模块209启动后,呈现设备列表给用户,用户从设备列表中选取其中一个具体设备,则用户选取的设备为“设备A”。设备列表列出了广域网的在线设备和局域网的在线设备,该设备列表可以将广域网和局域网的在线设备分成两部分呈现,也可以将相关设备一起呈现并且加上是否在线、处于广域网还是局域网等的识别标识等,具体的呈现形式在此不作限制。步骤604是判断“用户是否选择广域网设备中的设备A”,步骤609是判断“用户是否选择局域网设备中的设备A”。
当用户选择广域网设备列表中的设备A后,按照步骤605、606、607、611、612、613、618判断是否切换到局域网模式,广域网设备列表是指设备列表中属性为“广域网可用”或者“广域网和局域网都可用”的设备集合。步骤616、618是根据预定的控制模式来判断是否需要进行控制模式切换,该预定的控制模式可以是局域网优先或者广域网优先。
其中,切换到局域网控制模式是指发送数据时,使用UPnP控制点207到UPnP设备203之间的控制通路,并且通过修改管理模块208中的网络状态,控制XMPP线程从步骤603开始进行周期性监测,路径为步骤603→604→608→609→610→616→617→615→603。切换到广域网控制模式是指发送数据时,使用XMPP客户端201、通信服务器210及XMPP客户端206之间的链路,并控制UPnP线程从步骤621开始周期性监测,路径为步骤621→622→626→627→628→629→631→621。
当判断目标设备在局域网在线设备列表中时,切换到局域网控制模式。
具体的,参考图7的步骤604→605→606→618→611→612→613。
步骤604,判断用户选择的设备A是否在广域网在线设备列表中;
步骤605,若设备A在广域网在线设备列表中,从管理模块获取当前的局域网在线设备列表;
步骤606,判断设备A是否在当前的局域网在线设备列表中;
步骤618,当判断设备A在当前的局域网在线设备列表中,判断是否要切换到局域网控制模式;
步骤611,预先设置局域网优先,则XMPP客户端建立和设备A的局域网通路;
步骤612,切换到局域网控制模式,执行局域网控制模式操作;
步骤613,记录工作模式等状态参数到管理模块。
可选地,所述方法还包括:
当判断目标设备在广域网在线设备列表,但不在局域网在线设备列表中时,则保持广域网控制模式。
具体的,参考图7的步骤604→605→606→607。
步骤604,判断用户选择的设备A是否在广域网在线设备列表中;
步骤605,若设备A在广域网在线设备列表中,从管理模块获取当前的局域网在线设备列表;
步骤606,判断设备A是否在当前的局域网在线设备列表中;
步骤607,若设备A不在当前的局域网在线设备列表中,则保持广域网控制模式,执行广域网控制模式操作。
可选地,所述方法还包括:
当判断目标设备不在广域网在线设备列表中时,则判断目标设备是否在局域网在线设备列表;
当判断目标设备不在局域网在线设备列表中时,则执行步骤启动监测定时器,对事件消息进行监听。
具体的,参考图7的步骤604→608→609→614→615。
步骤604,判断用户选择的设备A是否在广域网在线设备列表中;
步骤608,当判断设备A不在广域网在线设备列表中,从管理模块中获取当前状态参数;
步骤609,判断设备A是否在局域网在线设备列表中;
步骤614,当判断设备A不在局域网在线设备列表中,则从在线设备列表中删除设备A;
步骤615,执行步骤701→702→703→603。
可选地,所述方法还包括:
当判读目标设备不在广域网在线设备列表,但判断目标设备在局域网在线设备列表中时,继续判断目标设备是否在更新后的广域网在线设备列表中;
当判断目标设备在更新后的广域网在线设备列表中,则切换到局域网控制模式;
当判断目标设备不在更新后的广域网在线设备列表中,则切换到局域网控制模式。
具体的,参考图7的步骤604→608→609→610→617和步骤604→608→609→610→616→617。
步骤604,判断用户选择的设备A是否在广域网在线设备列表中;
步骤608,当判断设备A不在广域网在线设备列表中,从管理模块中获取当前状态参数;
步骤609,判断设备A是否在局域网在线设备列表中;
步骤610,当设备A在局域网在线设备列表中,则判断设备A是否在更新后的广域网在线设备列表中;
步骤617,若设备A不在更新后的广域网在线设备列表中,则切换到局域网工作模式,执行局域网控制模式操作。以及
步骤604,判断用户选择的设备A是否在广域网在线设备列表中;
步骤608,当判断设备A不在广域网在线设备列表中,从管理模块208中获取当前状态参数;
步骤609,判断设备A是否在局域网在线设备列表中;
步骤610,当设备A在局域网在线设备列表中,则判断设备A是否在更新后的广域网在线设备列表中;
步骤616,当设备A在更新后的广域网在线设备列表中,判断是否需要切换到局域网工作模式;
步骤617,预先设置局域网模式优先,则切换到局域网工作模式,执行局域网控制模式操作。
作为一种可选的实施例,所述方法还包括:
若目标设备当前的设备控制模式是广域网控制模式,且根据所述广域网在线设备信息和局域网在线设备信息判断所述目标设备既属于广域网在线设备又属于局域网在线设备,则将设备控制模式保持为广域网控制模式。
具体的,假设优先级为广域网控制优先时,若目标设备当前的设备控制模式是广域网控制模式,且根据所述广域网在线设备信息和局域网在线设备信息判断所述目标设备既属于广域网在线设备又属于局域网在线设备,则将设备控制模式保持为广域网控制模式。
具体的,参考图7的步骤604→608→609→610→616→607。
步骤604,判断用户选择的设备A是否在广域网在线设备列表中;
步骤608,当判断设备A不在广域网在线设备列表中,从管理模块中获取当前状态参数;
步骤609,判断设备A是否在局域网在线设备列表中;
步骤610,当设备A在局域网在线设备列表中,则判断设备A是否在更新后的广域网在线设备列表中;
步骤616,当设备A在更新后的广域网在线设备列表中,判断是否需要切换到局域网工作模式;
步骤617,预先设置广域网控制模式优先,则保持广域网工作模式,执行广域网控制模式操作。
作为第一种可选的实施例,所述方法还包括:
若目标设备当前的设备控制模式是局域网控制模式,且根据所述广域网在线设备信息和局域网在线设备信息判断所述目标设备已经不属于局域网在线设备,但是属于广域网在线设备,则将设备控制模式切换为广域网控制模式。
可选地,所述若目标设备当前的设备控制模式是局域网控制模式,且根据所述广域网在线设备信息和局域网在线设备信息判断所述目标设备已经不属于局域网在线设备,但是属于广域网在线设备,则将设备控制模式切换为广域网控制模式,包括:
若目标设备当前的设备控制模式是局域网控制模式,判断目标设备是否在局域网在线设备列表中;
当判断目标设备不在局域网在线设备列表中时,则判断目标设备是否在广域网在线设备列表中;
当判断目标设备在广域网在线设备列表中时,继续判断所述目标设备是否在更新后的局域网在线设备列表中,若否,则切换到广域网控制模式。
具体的,参考图7的步骤621→622→626→627→628→629。
步骤621,进行局域网扫描,得到局域网在线设备列表;
步骤622,判断设备A是否在局域网在线设备列表中;
步骤626,若设备A不在局域网在线设备列表中,则从管理模块中获取广域网在线设备列表;
步骤627,判断设备A是否在广域网在线设备列表中;
步骤628,若设备A在广域网在线设备列表中,继续判断设备A是否在局域网在线设备列表中;
步骤629,若否,则切换到广域网控制模式,执行广域网控制模式操作。
所述方法还包括:
当判断所述目标设备在更新后的局域网在线设备列表中,则保持局域网控制模式。
具体的,参考图7的步骤621→622→626→627→628→632→623→624→625。
步骤621,进行局域网扫描,得到局域网在线设备列表;
步骤622,判断设备A是否在局域网在线设备列表中;
步骤626,若设备A不在局域网在线设备列表中,则从管理模块中获取广域网在线设备列表;
步骤627,判断设备A是否在广域网在线设备列表中;
步骤628,若设备A在广域网在线设备列表中,继续判断设备A是否在局域网在线设备列表中;
步骤632,当设备A在局域网在线设备列表中,判断是否需要切换到广域网模式;
步骤623,预先设置局域网优先,则保持局域网控制模式,建立和设备A的局域网通路;
步骤624,切换到局域网控制模式,执行局域网控制模式操作;
步骤625,将设备信息及局域网工作模式记录到管理模块。
所述方法还包括:
当判断目标设备不在局域网在线设备列表,且判断目标设备不在广域网在线设备列表时,则执行步骤启动监测定时器,对事件消息进行监听。
具体的,参考图7的步骤621→622→626→627→630→631→621。
步骤621,进行局域网扫描,得到局域网在线设备列表;
步骤622,判断设备A是否在局域网在线设备列表中;
步骤626,若设备A不在局域网在线设备列表中,则从管理模块中获取广域网在线设备列表;
步骤627,判断设备A是否在广域网在线设备列表中;
步骤630,当设备A不在广域网在线设备列表中时,则将设备A从在线设备列表中删除;
步骤631,执行步骤701→702→703→621。
作为第二种可选的实施例,所述方法还包括:
若目标设备当前的设备控制模式是局域网控制模式,且根据所述广域网在线设备列表和局域网在线设备列表判断所述目标设备既属于广域网在线设备,又属于局域网在线设备,则将设备控制模式切换为广域网控制模式。
所述若目标设备当前的设备控制模式是局域网控制模式,且根据所述广域网在线设备列表和局域网在线设备列表判断所述目标设备既属于广域网在线设备,又属于局域网在线设备,则将设备控制模式切换为广域网控制模式,包括:
若目标设备当前的设备控制模式是局域网控制模式,判断目标设备是否在局域网在线设备列表中;
当判断目标设备不在局域网在线设备列表中时,则判断目标设备是否在广域网在线设备列表中;
当判断目标设备在广域网在线设备列表中时,继续判断所述目标设备是否在更新后的局域网在线设备列表中;
若是,则切换到广域网控制模式。
具体的,假设优先级为广域网优先时,若目标设备当前的设备控制模式是局域网控制模式,且根据所述广域网在线设备列表和局域网在线设备列表判断所述目标设备既属于广域网在线设备,又属于局域网在线设备,则将设备控制模式切换为广域网控制模式。
具体的,参考图7的步骤621→622→626→627→628→632→629。
步骤621,进行局域网扫描,得到局域网在线设备列表;
步骤622,判断设备A是否在局域网在线设备列表中;
步骤626,若设备A不在局域网在线设备列表中,则从管理模块中获取广域网在线设备列表;
步骤627,判断设备A是否在广域网在线设备列表中;
步骤628,若设备A在广域网在线设备列表中,继续判断设备A是否在局域网在线设备列表中;
步骤632,当设备A在局域网在线设备列表中,判断是否需要切换到广域网模式;
步骤629,预先设置广域网控制优先,则切换到广域网控制模式,执行广域网控制模式操作。
上述广域网控制模式操作具体包括:
执行目标设备控制事件监听;
判断是否产生目标设备控制事件,如果产生目标设备控制事件,则执行目标设备控制事件处理,然后返回继续执行目标设备控制事件监听;如果没有产生目标设备控制事件,则按照预定的时间周期获取广域网在线设备终端的信息并更新记录;
根据更新后的广域网在线设备终端的信息判断目标设备是否属于广域网在线设备,如果是广域网在线设备,则返回继续执行目标设备控制事件监听;如果不是广域网在线设备,则判断目标设备是否属于局域网在线设备,如果目标设备属于局域网在线设备,将控制模式记录为局域网控制模式,执行局域网控制模式操作;如果目标设备不属于局域网在线设备则判定目标设备不在线,解除目标设备的选定并返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息。
上述处理目标设备控制事件具体的流程包括:
根据目标设备控制事件接收对目标设备的控制命令;
转发控制命令给通信单元;
将控制命令转换成基于XMPP协议的控制命令后通过与服务器的基于XMPP协议的通信链路传送给服务器。
进一步地,广域网控制模式操作的流程如图8所示,此时控制终端工作于广域网控制模式,处理目标设备控制事件具体的流程还包括:
接收服务器返回的基于XMPP协议的状态信息响应并解析;
根据解析后的状态信息响应将相应的状态信息数据发送给显示单元;
通过交互界面呈现所述状态信息数据。
在上述处理目标设备控制事件具体的流程中,当将控制命令转换成基于XMPP协议的控制命令后通过与服务器的基于XMPP协议的通信链路传送给服务器失败时,将控制模式记录为局域网控制模式,将控制命令转换成基于UPnP协议的控制命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备。
在图7的双线程运作模式下,广域网控制模式操作的流程如图8所示,此时控制终端工作于广域网控制模式:
步骤701,启动监测定时器;
步骤702,事件消息监听;
步骤703,判断消息是否属于定时器监测消息,若否则表示存在目标设备控制事件,执行步骤704,若是则执行步骤705;
步骤704,处理目标设备控制事件,处理结束后返回执行步骤702;
步骤705,获取广域网在线设备列表;
步骤706,判断设备A是否属于在线的广域网设备;
步骤707,从管理模块中获取当前状态参数;
步骤708,判断设备A是否属于在线的局域网设备;
步骤709,切换到局域网控制模式,执行局域网控制模式操作,记录网络状态信息;
步骤710,向交互模块发送提示事件;
步骤711,清除管理模块中选择的设备A;
步骤712,XMPP客户端获取广域网在线设备列表。
上述局域网控制模式操作的流程具体包括:
执行目标设备控制监听;
判断是否产生目标设备控制事件,如果产生目标设备控制事件,则处理目标设备控制事件,然后返回继续执行目标设备控制事件监听;如果没有产生目标设备控制事件,则按照预定的时间周期扫描局域网在线的设备终端,更新局域网在线设备终端的信息记录;
根据更新后的局域网在线设备终端的信息判断目标设备是否属于局域网在线设备,如果是局域网在线设备,则返回继续执行目标设备控制事件监听;如果不是局域网在线设备,则判断目标设备是否属于广域网在线设备,如果目标设备属于广域网在线设备,将控制模式记录为广域网控制模式,执行广域网控制模式操作;如果目标设备不属于广域网在线设备则判定目标设备不在线,解除目标设备的选定,返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息。
上述处理目标设备控制事件的流程具体包括:
根据目标设备控制事件接收对目标设备的控制命令;
转发控制命令给通信单元;
将控制命令转换成基于UPnP协议的控制命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备。
进一步地,处理目标设备控制事件的流程还包括:
接收目标设备返回的基于UPnP协议的状态信息响应并解析;
根据解析后的状态信息响应将相应的状态信息数据发送给显示单元;
通过交互界面呈现所述状态信息数据。
在上述处理目标设备控制事件具体的流程中,当将控制命令转换成基于UPnP协议的控制命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备失败时,将控制模式记录为广域网控制模式,将控制命令转换成基于XMPP协议的控制命令后,通过与服务器的基于XMPP协议的通信链路传送给服务器。
局域网控制模式操作的流程如图9所示,此时控制终端工作于局域网控制模式:
步骤801,启动监测定时器;
步骤802,事件消息监听;
步骤803,判断消息是否属于定时器监测消息,若是,则执行步骤805,若否,则执行步骤804;
步骤804,执行局域网的目标设备控制事件处理,处理完成后返回步骤802进行事件消息监听;
步骤805,UPnP扫描得到局域网在线设备列表;
步骤806,判断设备A是否在该列表中;
步骤807,从所述管理模块208中获取当前状态参数;
步骤808,判断设备A是否在广域网设备列表中;
步骤809,切换到广域网控制模式,执行广域网控制模式操作,记录网络状态信息;
步骤810,向交互模块发送提示事件;
步骤811,清除管理模块208中所选的设备A;
步骤812,所述UPnP控制点207进行UPnP扫描,得到局域网在线设备列表,该局域网在线设备列表是指属性为“局域域网可用”或者“广域网和局域网都可用”的设备集合。
UPnP控制点207按照UPnP协议规则发现设备并记录设备列表,在用户没有选择目标设备之前,UPnP控制点将执行步骤621→622→626→627→630→631→621。
用户运行控制终端软件后,UPnP控制点207和XMPP客户端206分别按照图7的流程运行,并将各自获取的在线设备信息保存到管理模块208中。
参考图10,图10是进行目标设备控制事件处理的具体流程,用户通过交互界面发出设备终端控制命令后,交互模块捕获到用户通过界面发出控制命令的事件后,调用管理模块208发送数据到设备终端控制模块205,发送流程如下:
步骤901,交互模块传来待发数据;
步骤902,管理模块208发送数据;
具体地,由于当前的控制模式是已知的,因此管理模块208可以直接调用相应的通信通道进行数据发送。
步骤903,判断是否发送失败;
具体的,数据发送失败是指发送定时器超时后重发数据,仍然无法将数据发送到设备终端,此时,可以认为网络不通,应重新选择通信模式。
步骤904,判断是否是局域网控制模式,若否,则执行步骤905,若是,则执行步骤907;
步骤905,切换模式到广域网控制模式;
步骤906,控制XMPP客户端206尝试连接到服务器;
本步骤中,控制XMPP客户端206重新建立通信链路。
步骤907,切换模式到局域网控制模式;
步骤908,控制UPnP控制点207重新扫描设备列表;
步骤909,记录状态信息;
步骤910,尝试发送数据;
步骤911,判断是否发送成功;
步骤912,通知交互模块系统存在网络故障;
步骤913,结束本次发送流程。
在图7中的步骤204或者步骤222中,当判断用户没有选择一个目标设备时,本发明的控制终端控制方法还会进一步判断是否已经存在被选定的目标设备,即用户是否在此之前已经选定了一个目标设备,且该目标设备正处于控制终端的控制中。具体地,控制终端控制方法中的判断是否产生目标设备选定事件,如果产生目标设备选定事件,则将目标设备选定事件中的设备终端选定为目标设备的步骤进一步包括:如果没有产生目标设备选定事件,则判断是否存在已经被选定的目标设备,如果存在已经被选定的目标设备,则根据预定的控制模式和已经被选定的目标设备的在线状态确定是否需要切换控制模式;如果没有已经被选定的目标设备,则返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息。
其中,根据预定的控制模式和所述已经被选定的目标设备的在线状态确定是否需要切换控制模式的步骤具体包括:当预定的控制模式是局域网控制模式且所述已经被选定的目标设备属于局域网在线设备时,将控制模式记录为局域网控制模式,执行局域网控制模式操作;当预定的控制模式是广域网控制模式且所述已经被选定的目标设备属于广域网在线设备时,将控制模式记录为广域网控制模式,执行广域网控制模式操作;当所述已经被选定的目标设备既不属于局域网在线设备,又不属于广域网在线设备时,返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息的步骤。
进一步地,根据预定的控制模式和所述已经被选定的目标设备的在线状态确定是否需要切换控制模式的步骤还包括:当预定的控制模式是局域网控制模式且所述已经被选定的目标设备属于广域网在线设备时,将控制模式记录为广域网控制模式,执行广域网控制模式操作;当预定的控制模式是广域网控制模式且所述已经被选定的目标设备属于局域网在线设备时,将控制模式记录为局域网控制模式,执行局域网控制模式操作。
在图7中,本发明的控制终端控制方法是通过步骤608→609→610和步骤626→627→628判断是否已经存在被选定的目标设备,并进根据需要进行相应的控制模式切换操作。
本实施例的控制终端控制方法能够根据具体的使用环境自动地选择局域网控制模式或者广域网控制模式,并且能个在使用环境变化时自动地进行控制模式的切换。假设用户在家里开启控制终端,选择“设备列表中的设备A”,假设采用局域网控制优先,则控制终端管理模块标记为局域网控制模式(UPnP模式),使用UPnP控制点207和设备终端的UPnP设备203建立的控制通道进行数据交互。当用户外出后,超过家庭局域网路由器的作用范围,将导致局域网通信链路断开,控制终端监听到此事件后,会根据最新的广域网在线设备信息进行控制模式的切换,最新的广域网在线设备信息可由603→604→608→609→610→616→617→615→603监测更新;当用户由户外回到户内,即进入局域网路由器的作用范围内时,控制终端的局域网线程621→622→626→627→628→629→631→621将会监测发现,步骤628的条件成立,进入模式切换判断,如果是局域网控制优先,则执行步骤632→623→624→625,切换到局域网控制模式工作。
本发明还提出一种能够自动在局域网控制模式和广域网控制模式之间切换的控制终端,如图11所示,该控制终端包括:
登陆模块1020,用于向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路;
在线设备终端信息记录模块1030,用于获取广域网在线设备终端的信息并记录,以及用于扫描局域网在线的设备终端并记录局域网在线设备终端的信息;
目标设备选定事件判断模块1040,用于判断是否产生目标设备选定事件,如果产生目标设备选定事件,则将目标设备选定事件中的设备终端选定为目标设备;
通信模式确定模块1050,用于根据预定的控制模式以及目标设备的在线状态确定通信模式。
其中,该预定的控制模式是指控制终端预先确定的需要优先采用的控制模式,或者用户确定的需要优先采用的控制模式。
该通信模式确定模块1050还用于:判断预定的控制模式是局域网控制模式还是广域网控制模式,以及目标设备属于局域网在线设备还是广域网在线设备,当预定的控制模式是局域网控制模式且目标设备属于局域网在线设备时,通知通信单元与目标设备建立基于UPnP协议的通信链路,向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路;当预定的控制模式是广域网控制模式且目标设备属于广域网在线设备时,查询目标设备的状态信息,接收服务器返回的目标设备的状态信息并存储。
该通信模式确定模块1050进一步用于:当预定的控制模式是局域网控制模式且目标设备属于广域网在线设备时,查询目标设备的状态信息,接收服务器返回的目标设备的状态信息并存储;当预定的控制模式是广域网控制模式且目标设备属于局域网在线设备时,通知通信单元与目标设备建立基于UPnP协议的通信链路,向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路。
该通信模式确定模块1050进一步还用于:当预定的控制模式是局域网控制模式且目标设备属于局域网在线设备时,通知通信单元与目标设备建立基于UPnP协议的通信链路,向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路之后将控制模式记录为局域网控制模式,执行局域网控制模式操作;当预定的控制模式是广域网控制模式且目标设备属于广域网在线设备时,查询目标设备的状态信息,接收服务器返回的目标设备的状态信息并存储之后将控制模式记录为广域网控制模式,执行广域网控制模式操作;当预定的控制模式是局域网控制模式且目标设备属于广域网在线设备时,查询目标设备的状态信息,接收服务器返回的目标设备的状态信息并存储之后将控制模式记录为广域网控制模式,执行广域网控制模式操作;当预定的控制模式是广域网控制模式且目标设备属于局域网在线设备时,通知通信单元与目标设备建立基于UPnP协议的通信链路,向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路之后将控制模式记录为局域网控制模式,执行局域网控制模式操作。
通信模式确定模块1050包括局域网控制模式操作模块1080,该局域网控制模式操作模块1080具体包括:
第一监听模块1081,用于执行目标设备控制监听;
第一判断模块1082,用于判断是否产生目标设备控制事件,如果产生目标设备控制事件,则处理目标设备控制事件,然后返回继续执行目标设备控制事件监听;如果没有产生目标设备控制事件,则按照预定的时间周期扫描局域网在线的设备终端,更新局域网在线设备终端的信息记录;
第二判断模块1083,用于根据更新后的局域网在线设备终端的信息判断目标设备是否属于局域网在线设备,如果是局域网在线设备,则返回继续执行目标设备控制事件监听;如果不是局域网在线设备,则判断目标设备是否属于广域网在线设备,如果目标设备属于广域网在线设备,将控制模式记录为广域网控制模式,执行广域网控制模式操作;如果目标设备不属于广域网在线设备则判定目标设备不在线,解除目标设备的选定,返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息。
局域网控制模式操作模块1080包括局域网目标设备控制事件处理模块1084,局域网目标设备控制事件处理模块1084用于:根据所述目标设备控制事件接收对目标设备的控制命令,转发所述控制命令给通信单元,将所述控制命令转换成基于UPnP协议的控制命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备。
局域网目标设备控制事件处理模块1084还用于:当将所述控制命令转换成基于UPnP协议的控制命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备失败时,将控制模式记录为广域网控制模式,将所述控制命令转换成基于XMPP协议的控制命令后,通过与服务器的基于XMPP协议的通信链路传送给服务器。
该通信模式确定模块1050还包括广域网控制模式操作模块1090,广域网控制模式操作模块1090具体包括:
第二监听模块1091,用于执行目标设备控制事件监听;
第三判断模块1092,用于判断是否产生目标设备控制事件,如果产生目标设备控制事件,则执行目标设备控制事件处理,然后返回继续执行目标设备控制事件监听;如果没有产生目标设备控制事件,则按照预定的时间周期获取广域网在线设备终端的信息并更新记录;
第四判断模块1093,用于根据更新后的广域网在线设备终端的信息判断目标设备是否属于广域网在线设备,如果是广域网在线设备,则返回继续执行目标设备控制事件监听;如果不是广域网在线设备,则判断目标设备是否属于局域网在线设备,如果目标设备属于局域网在线设备,将控制模式记录为局域网控制模式,执行局域网控制模式操作;如果目标设备不属于局域网在线设备则判定目标设备不在线,解除目标设备的选定并返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息。
广域网控制模式操作模块1090还包括广域网目标设备控制事件处理模块1094,广域网目标设备控制事件处理模块1094用于:根据所述目标设备控制事件接收对目标设备的控制命令,转发所述控制命令给通信单元,将所述控制命令转换成基于XMPP协议的控制命令后通过与服务器的基于XMPP协议的通信链路传送给服务器。
广域网目标设备控制事件处理模块1094还用于:当将所述控制命令转换成基于XMPP协议的控制命令后通过与服务器的基于XMPP协议的通信链路传送给服务器失败时,将控制模式记录为局域网控制模式,将所述控制命令转换成基于UPnP协议的控制命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备。
该目标设备选定事件判断模块1040进一步用于:如果没有产生目标设备选定事件,则判断是否存在已经被选定的目标设备,如果存在已经被选定的目标设备,则根据预定的控制模式和所述已经被选定的目标设备的在线状态确定是否需要切换控制模式;如果没有已经被选定的目标设备,则返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息。
目标设备选定事件判断模块1040包括控制模式切换模块1041,控制模式切换模块1041用于:当预定的控制模式是局域网控制模式且所述已经被选定的目标设备属于局域网在线设备时,将控制模式记录为局域网控制模式,执行局域网控制模式操作;当预定的控制模式是广域网控制模式且所述已经被选定的目标设备属于广域网在线设备时,将控制模式记录为广域网控制模式,执行广域网控制模式操作;当所述已经被选定的目标设备既不属于局域网在线设备,又不属于广域网在线设备时,返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息。
控制模式切换模块1041还用于:当预定的控制模式是局域网控制模式且所述已经被选定的目标设备属于广域网在线设备时,将控制模式记录为广域网控制模式,执行广域网控制模式操作;当预定的控制模式是广域网控制模式且所述已经被选定的目标设备属于局域网在线设备时,将控制模式记录为局域网控制模式,执行局域网控制模式操作。
控制终端还包括初始化模块1010,用于初始化控制终端。
另外,本发明的实施例还提出一种采用局域网优先的具备控制模式自动切换功能的控制终端控制方法,该控制终端控制方法包括如下步骤:
向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路;
获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息;
判断是否产生目标设备选定事件,如果产生目标设备选定事件,则将目标设备选定事件中的设备终端选定为目标设备;
判断目标设备是否属于局域网在线设备终端,当目标设备是局域网在线设备终端时,通知通信单元与目标设备建立基于UPnP协议的通信链路,向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路。
上述方法在判断到目标设备是局域网在线设备终端时便直接与目标设备建立基于UPnP协议的通信链路,只有当目标设备不是局域网在线设备终端时,才会进一步判断该目标设备是否属于广域网在线设备,其判断步骤如下:当目标设备是广域网在线设备终端时,查询目标设备的状态信息,接收服务器返回的目标设备的状态信息并存储。
上述当目标设备是局域网在线设备终端时,通知通信单元与目标设备建立基于UPnP协议的通信链路,向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路的步骤之后还包括将控制模式记录为局域网控制模式,执行局域网控制模式操作。上述当目标设备是广域网在线设备终端时,查询目标设备的状态信息,接收服务器返回的目标设备的状态信息并存储的步骤之后还包括将控制模式记录为广域网控制模式,执行广域网控制模式操作。
其中,局域网控制模式操作的流程包括:
执行目标设备控制监听;
判断是否产生目标设备控制事件,如果产生目标设备控制事件,则处理目标设备控制事件,然后返回继续执行目标设备控制事件监听;如果没有产生目标设备控制事件,则按照预定的时间周期扫描局域网在线的设备终端,更新局域网在线设备终端的信息记录;
根据更新后的局域网在线设备终端的信息判断目标设备是否属于局域网在线设备,如果是局域网在线设备,则返回继续执行目标设备控制事件监听;如果不是局域网在线设备,则判断目标设备是否属于广域网在线设备,如果目标设备属于广域网在线设备,将控制模式记录为广域网控制模式,执行广域网控制模式操作;如果目标设备不属于广域网在线设备则判定目标设备不在线,解除目标设备的选定,返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息的步骤。
局域网控制模式操作中的处理目标设备控制事件的流程具体包括:
根据所述目标设备控制事件接收对目标设备的控制命令;
转发所述控制命令给通信单元;
将所述控制命令转换成基于UPnP协议的控制命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备,当将所述控制命令转换成基于UPnP协议的控制命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备失败时,将控制模式记录为广域网控制模式,将所述控制命令转换成基于XMPP协议的控制命令后,通过与服务器的基于XMPP协议的通信链路传送给服务器。
广域网控制模式操作的流程包括:
执行目标设备控制事件监听;
判断是否产生目标设备控制事件,如果产生目标设备控制事件,则执行目标设备控制事件处理,然后返回继续执行目标设备控制事件监听;如果没有产生目标设备控制事件,则按照预定的时间周期获取广域网在线设备终端的信息并更新记录;
根据更新后的广域网在线设备终端的信息判断目标设备是否属于广域网在线设备,如果是广域网在线设备,则返回继续执行目标设备控制事件监听;如果不是广域网在线设备,则判断目标设备是否属于局域网在线设备,如果目标设备属于局域网在线设备,将控制模式记录为局域网控制模式,执行局域网控制模式操作;如果目标设备不属于局域网在线设备则判定目标设备不在线,解除目标设备的选定并返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息的步骤。
广域网控制模式操作中的处理目标设备控制事件的流程具体包括:
根据所述目标设备控制事件接收对目标设备的控制命令;
转发所述控制命令给通信单元;
将所述控制命令转换成基于XMPP协议的控制命令后通过与服务器的基于XMPP协议的通信链路传送给服务器,当将所述控制命令转换成基于XMPP协议的控制命令后通过与服务器的基于XMPP协议的通信链路传送给服务器失败时,将控制模式记录为局域网控制模式,将所述控制命令转换成基于UPnP协议的控制命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备。
上述判断是否产生目标设备选定事件,如果产生目标设备选定事件,则将目标设备选定事件中的设备终端选定为目标设备的步骤进一步包括:如果没有产生目标设备选定事件,则判断是否存在已经被选定的目标设备,如果存在已经被选定的目标设备,则根据所述已经被选定的目标设备的在线状态确定是否需要切换控制模式;如果没有已经被选定的目标设备,则返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息的步骤。
上述根据所述已经被选定的目标设备的在线状态确定是否需要切换控制模式的步骤包括:当所述已经被选定的目标设备属于局域网在线设备时,执行局域网控制模式操作;当所述已经被选定的目标设备属于广域网在线设备,不属于局域网在线设备时,执行广域网控制模式操作;当所述已经被选定的目标设备既不属于局域网在线设备,又不属于广域网在线设备时,返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息的步骤。
除了设备终端和控制终端的控制方法外,本发明还提供一种服务器控制方法,如图12所示,该服务器控制方法包括如下步骤:
步骤S1101,接收设备终端的登陆请求,建立与设备终端的基于UPnP协议的通信链路,接收设备终端上传的设备终端状态信息;以及接收控制终端的登陆请求,建立与控制终端的基于XMPP协议的通信链路;
步骤S1102,将广域网在线设备的信息发送给控制终端;
步骤S1103,接收控制终端传送过来的选定目标设备的指令;
步骤S1104,发送所述被选定的目标设备的状态信息给控制终端;
步骤S1105,接收控制终端传送过来的基于XMPP协议的目标终端控制命令;
步骤S1106,将所述目标终端控制命令转发给目标终端;
步骤S1107,接收目标终端传送过来的基于XMPP协议的状态信息响应;
步骤S1108,将所述基于XMPP协议的状态信息响应转发给控制终端。
当设备终端和控制终端登陆服务器后,在广域网控制模式下,设备终端和控制终端之间通过服务器进行通信、转发数据,当通信服务器210收到数据需要处理时,可以通过接口函数或者接口消息调用数据处理服务器211进行具体处理。如果通信服务器110收到数据只需要简单转发到控制终端或者设备终端时,则不用调用数据处理服务器111。
本发明的设备终端通过设置UPnP控制点202,使得设备终端在广域网和局域网两种运行模式下能够统一底层设备接口,简化了设计。本发明的控制终端能够自动选择局域网控制模式或者广域网控制模式,根据用户所处的位置和使用环境等自动进行控制模式切换,提高了便利性,使控制终端更人性化、智能化。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (15)
1.一种设备终端控制方法,包括如下步骤:
XMPP客户端接收服务器传送过来的基于XMPP协议的命令并解析所述基于XMPP协议的命令;
UPnP控制点将经过解析的命令转换成基于UPnP协议的命令,并将所述基于UPnP协议的命令发送给UPnP设备;
所述UPnP设备将基于UPnP协议的命令解析后通过数据接口传送给控制模块;
所述UPnP设备接收控制模块返回的命令响应并转换为基于UPnP协议的状态信息响应;
所述UPnP设备解析所述基于UPnP协议的状态信息响应;
所述UPnP控制点将经过解析的状态信息响应转换为基于XMPP协议的状态信息响应并传送给服务器,所述XMPP客户端、所述UPnP控制点以及所述UPnP设备均为设备终端中包含的模块;
所述将基于UPnP协议的命令解析后通过数据接口传送给控制模块之前还包括:
所述UPnP设备接收控制终端中的UPnP控制点传送过来的基于UPnP协议的命令。
2.根据权利要求1所述的设备终端控制方法,其特征在于,所述设备终端控制方法还包括:
接收控制模块返回的根据所述控制终端传送过来的基于UPnP协议的命令做出响应的命令响应,转换为基于UPnP协议的状态信息响应并传送给控制终端。
3.根据权利要求1所述的设备终端控制方法,其特征在于,所述接收控制终端中的UPnP控制点传送过来的基于UPnP协议的命令之前还包括:
接收控制终端的控制请求并做出响应;
获取控制终端的设备信息,建立与控制终端的基于UPnP协议的通信链路。
4.根据权利要求1所述的设备终端控制方法,其特征在于,所述接收服务器传送过来的基于XMPP协议的命令并解析所述基于XMPP协议的命令之前还包括:
向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路。
5.根据权利要求1所述的设备终端控制方法,其特征在于,所述将基于UPnP协议的命令解析后通过数据接口传送给控制模块的步骤具体为将基于UPnP协议的命令解析后,转换成串口命令或者并口命令传送给控制模块。
6.一种具有协议转换功能的设备终端,其特征在于,所述设备终端包括:
XMPP客户端,用于接收服务器传送过来的基于XMPP协议的命令并解析所述基于XMPP协议的命令;
UPnP控制点,用于将XMPP客户端解析过的命令转换成基于UPnP协议的命令,并将所述基于UPnP协议的命令发送给UPnP设备;
UPnP设备,用于将基于UPnP协议的命令解析后通过数据接口传送给控制模块;
所述UPnP设备还用于接收控制模块返回的命令响应并转换为基于UPnP协议的状态信息响应;
所述UPnP控制点还用于接收并解析所述UPnP设备传送过来的所述基于UPnP协议的状态信息响应;
所述XMPP客户端还用于将经过所述UPnP控制点解析的状态信息响应转换为基于XMPP协议的状态信息响应并传送给服务器;
所述UPnP设备还用于接收控制终端中的UPnP控制点传送过来的基于UPnP协议的命令并解析,然后通过数据接口传送给控制模块。
7.根据权利要求6所述的设备终端,其特征在于,所述UPnP设备进一步用于:
接收控制模块返回的根据所述控制终端传送过来的基于UPnP协议的命令做出响应的命令响应,转换为基于UPnP协议的状态信息响应并传送给控制终端。
8.根据权利要求6所述的设备终端,其特征在于,所述UPnP设备还用于接收控制终端的控制请求并做出响应,获取控制终端的设备信息,建立与控制终端的基于UPnP协议的通信链路。
9.根据权利要求6所述的设备终端,其特征在于,所述XMPP客户端还用于:
向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路。
10.一种控制终端控制方法,包括如下步骤:控制终端包括XMPP客户端以及UPnP控制点;
向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路;
获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息;
接收选定目标设备的指令;
若没有接收到选定目标设备的指令,判定是否已存在被选定的目标设备;当存在已经被选定的目标设备时,并根据预定的控制模式和已经被选定的目标设备的在线状态确定是否需要切换控制模式;当没有已经被选定的目标设备时,返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息;
若当前的控制模式为局域网控制模式,判断目标设备是否属于局域网在线设备终端,当目标设备是局域网在线设备终端时,通知通信单元与目标设备建立基于UPnP协议的通信链路;向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路;
当目标设备不是局域网在线设备终端,而是广域网在线设备时,通知通信单元与向服务器发出选定目标设备的指令;
将选定目标设备的指令传送给服务器,获取服务器返回的目标设备状态信息;
若当前的控制模式为广域网控制模式,判断目标设备是否属于在线的广域网在线终端,当目标设备是广域网在线设备终端时,通知通信单元与向服务器发出选定目标设备的指令;将选定目标设备的指令传送给服务器,获取服务器返回的目标设备状态信息;
当目标设备不是广域网在线设备终端时,从管理模块获取当前参数状态,以判断目标设备是否为局域网在线设备;若目标设备为局域网在线设备,通知通信单元与目标设备建立基于UPnP协议的通信链路;向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路;若目标设备不为局域网在线设备,XMPP客户端获取广域网在线设备列表。
11.根据权利要求10所述的控制终端控制方法,其特征在于,所述当目标设备是局域网在线设备终端时,通知通信单元与目标设备建立基于UPnP协议的通信链路;向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路的步骤之后还包括:
接收对目标设备的控制命令;
转发所述控制命令给通信模块;
将所述控制命令转换成基于UPnP协议的命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备。
12.根据权利要求10所述的控制终端控制方法,其特征在于,所述将选定目标设备的指令传送给服务器,获取服务器返回的目标设备状态信息的步骤之后还包括:
接收对目标设备的控制命令;
转发所述控制命令给通信单元;
将所述控制命令转换成基于XMPP协议的目标终端控制命令后,通过与服务器的通信链路传送给服务器。
13.一种控制终端,其特征在于,所述控制终端包括:
XMPP客户端,用于向服务器发送登陆请求,在登陆成功后,建立与服务器的基于XMPP协议的通信链路,获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息;
交互模块,用于接收选定目标设备的指令;
若没有接收到选定目标设备的指令,判定是否已存在被选定的目标设备;当存在已经被选定的目标设备时,并根据预定的控制模式和已经被选定的目标设备的在线状态确定是否需要切换控制模式;当没有已经被选定的目标设备时,返回执行获取广域网在线设备终端的信息并记录,扫描局域网在线的设备终端并记录局域网在线设备终端的信息;
管理模块,用于若当前的控制模式为局域网控制模式,判断目标设备是否属于局域网在线设备终端,当目标设备是局域网在线设备终端时,通知通信单元与目标设备建立基于UPnP协议的通信链路;
UPnP控制点,用于向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路;
所述管理模块,还用于当目标设备不是局域网在线设备终端,而是广域网在线设备时,通知通信单元与向服务器发出选定目标设备的指令;
所述XMPP客户端,还用于将选定目标设备的指令传送给服务器,获取服务器返回的目标设备状态信息;
若当前的控制模式为广域网控制模式,判断目标设备是否属于在线的广域网在线终端,当目标设备是广域网在线设备终端时,通知通信单元与向服务器发出选定目标设备的指令;将选定目标设备的指令传送给服务器,获取服务器返回的目标设备状态信息;
当目标设备不是广域网在线设备终端时,从管理模块获取当前参数状态,以判断目标设备是否为局域网在线设备;若目标设备为局域网在线设备,通知通信单元与目标设备建立基于UPnP协议的通信链路;向目标设备发送控制请求,获取目标设备的描述信息,建立与目标设备的基于UPnP协议的通信链路;若目标设备不为局域网在线设备,XMPP客户端获取广域网在线设备列表。
14.根据权利要求13所述的控制终端,其特征在于,
所述交互模块,还用于接收对目标设备的控制命令;
所述管理模块,还用于将所述交互模块传送过来的所述控制命令转发给通信模块;
所述UPnP控制点,还用于将所述管理模块传送过来的所述控制命令转换成基于UPnP协议的命令后通过与目标设备的基于UPnP协议的通信链路传送给目标设备。
15.根据权利要求13所述的控制终端控制方法,其特征在于,
所述交互模块,还用于接收对目标设备的控制命令;
所述管理模块,还用于转发所述控制命令给通信模块;
所述XMPP客户端,还用于将所述控制命令转换成基于XMPP协议的目标终端控制命令后,通过与服务器的通信链路传送给服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310108182.XA CN103237056B (zh) | 2013-03-29 | 2013-03-29 | 一种设备终端、控制终端和服务器及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310108182.XA CN103237056B (zh) | 2013-03-29 | 2013-03-29 | 一种设备终端、控制终端和服务器及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103237056A CN103237056A (zh) | 2013-08-07 |
CN103237056B true CN103237056B (zh) | 2018-07-03 |
Family
ID=48885072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310108182.XA Active CN103237056B (zh) | 2013-03-29 | 2013-03-29 | 一种设备终端、控制终端和服务器及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103237056B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103439934A (zh) * | 2013-08-14 | 2013-12-11 | 惠州Tcl家电集团有限公司 | 智能家电控制方法、服务器及系统 |
CN103701695B (zh) * | 2013-12-26 | 2017-02-01 | 四川九洲电器集团有限责任公司 | 一种智能家居网关控制系统 |
CN104010026B (zh) * | 2014-03-31 | 2018-04-17 | Tcl集团股份有限公司 | 一种控制家电的方法、装置和家电控制系统 |
CN105807617B (zh) * | 2014-12-30 | 2018-11-02 | 西安Tcl软件开发有限公司 | 智能家居设备的控制方法及装置 |
CN104503835A (zh) * | 2014-12-30 | 2015-04-08 | 浪潮(北京)电子信息产业有限公司 | 一种可用于atca结构服务器的管理模块程序自动切换方法及装置 |
CN106357712B (zh) * | 2015-07-16 | 2022-01-25 | 中兴通讯股份有限公司 | 移动终端控制方法、装置及系统 |
CN105024923B (zh) * | 2015-07-29 | 2018-05-15 | 北京梅泰诺通信技术股份有限公司 | 基于xmpp扩展消息的消息分类实现的方法及装置 |
CN105446154B (zh) * | 2015-12-22 | 2018-08-14 | 广东美的制冷设备有限公司 | 物联网家电的控制方法及系统 |
CN106230882A (zh) * | 2016-07-14 | 2016-12-14 | 美的智慧家居科技有限公司 | 第一机器、第二机器及第一机器对第二机器的控制方法 |
CN106488269A (zh) * | 2016-11-09 | 2017-03-08 | 四川长虹电器股份有限公司 | 基于第三方应用平台实现对电视设备控制的系统及方法 |
CN108234562B (zh) * | 2016-12-20 | 2021-02-05 | 电信科学技术研究院 | 一种设备控制方法、控制设备和受控设备 |
CN108717277A (zh) * | 2018-03-28 | 2018-10-30 | 重庆七彩虹数码科技有限公司 | 基于多传感器、多传输及多供电方式的传感器系统及方法 |
CN108989451A (zh) * | 2018-08-06 | 2018-12-11 | 百度在线网络技术(北京)有限公司 | 数据同步方法、设备云、数据同步服务器及存储介质 |
CN111988080B (zh) * | 2020-08-24 | 2022-05-31 | 深圳市青柠互动科技开发有限公司 | 一种卫星通信系统及方法 |
CN114070896B (zh) * | 2021-10-29 | 2023-12-15 | 深圳市优必选科技股份有限公司 | 通信接口、电子设备及设备管理方法 |
CN115550391B (zh) * | 2022-02-28 | 2023-08-11 | 荣耀终端有限公司 | 设备控制方法和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009049325A1 (en) * | 2007-10-12 | 2009-04-16 | Pie Digital, Inc. | System and method for automatic configuration and management of home network devices |
CN101702707A (zh) * | 2009-10-28 | 2010-05-05 | 深圳市同洲电子股份有限公司 | 一种实现远程控制的方法、系统及数字电视接收终端 |
CN201758454U (zh) * | 2010-04-27 | 2011-03-09 | 山东大学 | 物联网下的新型智能家居系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997916B (zh) * | 2010-11-03 | 2014-03-26 | 同辉佳视(北京)信息技术有限公司 | 一种基于网络进行文件传输的方法和装置 |
-
2013
- 2013-03-29 CN CN201310108182.XA patent/CN103237056B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009049325A1 (en) * | 2007-10-12 | 2009-04-16 | Pie Digital, Inc. | System and method for automatic configuration and management of home network devices |
CN101702707A (zh) * | 2009-10-28 | 2010-05-05 | 深圳市同洲电子股份有限公司 | 一种实现远程控制的方法、系统及数字电视接收终端 |
CN201758454U (zh) * | 2010-04-27 | 2011-03-09 | 山东大学 | 物联网下的新型智能家居系统 |
Non-Patent Citations (1)
Title |
---|
远程访问UPnP网络的方法与实现;杨威等;《计算机工程与设计》;20120531;第33卷(第5期);1692-1694 * |
Also Published As
Publication number | Publication date |
---|---|
CN103237056A (zh) | 2013-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103237056B (zh) | 一种设备终端、控制终端和服务器及其控制方法 | |
CN103200070B (zh) | 一种控制终端及其控制方法 | |
CN105652676B (zh) | 一种智能家居远程控制系统及控制方法 | |
CN105807617B (zh) | 智能家居设备的控制方法及装置 | |
CN105847093B (zh) | 一种基于物联网的互联互通系统、组网方法及通信方法 | |
CN105429883B (zh) | 多个智能设备与服务器设备的长连接方法及智能设备 | |
CN106713088A (zh) | 基于双mqtt服务器的智能家居设备控制方法及系统 | |
CN105897527A (zh) | 智能场景中智能家居设备的运行参数设置方法及装置 | |
CN110493270A (zh) | 物联网设备接入融合控制方法及其装置 | |
CN106899464A (zh) | 智能家居控制方法 | |
CN101141360A (zh) | 家庭网络中设备管理和控制的方法 | |
CN103312715A (zh) | 一种面向Web 服务的家庭网络系统架构 | |
CN110223495A (zh) | 用于在家庭网络系统中远程控制家庭设备的方法和设备 | |
CN103428799A (zh) | Wifi网络模块配置方法 | |
CN109756404A (zh) | 设备控制权的分享方法、装置、存储介质及计算机设备 | |
CN110501988A (zh) | 一种实现物联网设备融合控制方法及其装置 | |
CN105652675A (zh) | 一种智能家居设备的控制方法、装置、终端及系统 | |
CN103248543B (zh) | 一种对码方法、对码控制设备及对码设备 | |
CN110737203A (zh) | 智能家电的管理系统、方法和蓝牙网关 | |
CN110099393A (zh) | 监测配网设备的网络接入状态的方法、装置和系统 | |
Zhihua | Design of smart home system based on ZigBee | |
CN101951333A (zh) | 一种数字家庭智能终端控制系统 | |
CN103731562B (zh) | 为智能设备自适应匹配蓝牙设备的方法和装置 | |
CN112469055A (zh) | 设备配网方法、相关设备和存储介质 | |
CN101826995A (zh) | 一种家庭网络设备的管理方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |