电子设备间互联与控制的方法和系统\n技术领域\n[0001] 本发明涉及电子设备互连技术领域,更为具体地,涉及一种电子设备间互联与控制的方法和系统。\n背景技术\n[0002] 随着电子产业的飞速发展,办公、生产、交通、居家等很多场所配置了越来越多的电子设备(如:红外探测器、温度/湿度/烟感等传感器等),人们也逐渐更倾向于使用智能终端(平板电脑和智能手机)来进行办公和生活,并且由于自动感应控制的需要,智能终端中涉及的传感器的种类和数量也在不断增加(重力、温度等)。随着人们对电子设备使用的需求和控制要求的提高,电子设备甚至传感器之间进行相互感知、进行数据交换、甚至是相互控制,成为设备控制智能化的一个重要考核指标。\n[0003] 但是,由于电子设备的多样性(包括智能设备、非智能设备)以及设备间通讯协议的多样性,目前,导致以下问题的产生:\n[0004] 1、不同协议间的设备无法相互会话。由于电子设备的开发和应用的多样性,人们为了达到使智能终端和其他设备通讯的目的,不得不开发单独的程序与驱动。这样不仅浪费了大量的资源,而且程序与驱动的不同导致用户不能灵活的进行组合的设备控制。\n[0005] 2、无法灵活地按照需求利用非智能的设备,如红外探测、烟感等非智能的设备,由于其只可以和特定的控制器通讯,因此不能随意按需的被其他的设备利用。\n发明内容\n[0006] 鉴于上述问题,本发明的目的是提供一种电子设备间互联与控制的方法和系统。\n[0007] 根据本发明的一个方面,提供了一种电子设备间互联与控制的方法,包括:\n[0008] 按照电子设备的种类抽象出所述电子设备的属性和方法,其中,所述属性和方法与所述电子设备的功能相对应;\n[0009] 在上述步骤基础上,将所述电子设备映射为独立的标准应用程序,所述标准应用程序运行于网关服务器中并作为网关服务器的一个客户端存在;以及\n[0010] 通过同一传输控制协议在所有电子设备映射的标准应用程序之间进行通信和控制。\n[0011] 根据本发明的另一方面,提供了一种电子设备间互联与控制的系统,包括网关服务器、电子设备、设备虚拟化单元、设备抽象单元和通信控制单元,其中,[0012] 所述电子设备通过所述网关服务器互相连接;\n[0013] 所述设备虚拟化单元用于将所述电子设备映射为独立的标准应用程序,其中,所述标准应用程序运行于网关服务器中并作为网关服务器的一个客户端存在;\n[0014] 所述设备抽象单元用于根据所述电子设备的种类抽象出所述电子设备的属性和方法,其中,所述属性和方法与所述电子设备的功能相对应;\n[0015] 所述通信控制单元用于通过同一传输控制协议在所有设备映射的标准应用程序之间进行通信和控制。\n[0016] 利用上述根据本发明的电子设备间互联与控制的方法和系统,能够很好地屏蔽不同协议的差异性,实现设备间的互连和控制。另外,本发明利用XMPP作为通讯协议的载体,使设备间可以自由联通和控制,有效解决了设备跨网段的问题;与现有其他技术相比,本发明将设备虚拟为标准应用程序后,使用低耦合易理解的模块划分技术实现设备间自由组合式的控制,并且在未来的应用开发中无需重复开发,具有较低的实现成本和很强的扩展性。\n[0017] 为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。\n然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。\n附图说明\n[0018] 通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:\n[0019] 图1为根据本发明的无线网络安全接入控制方法的流程图;\n[0020] 图2为根据本发明实施例的一个应用场景示意图;\n[0021] 图3为根据本发明的无线网络安全接入控制装置的方框示意图。\n[0022] 在所有附图中相同的标号指示相似或相应的特征或功能。\n具体实施方式\n[0023] 在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。\n在其它例子中,为了便于描述一个或多个实施例,公知的结构和设备以方框图的形式示出。\n[0024] 在本发明以下的表述中,“设备”、“电子设备”均指能够被智能终端控制使用的如红外探测器、温度/湿度/烟感等传感器等电子设备。\n[0025] 为了避免电子设备的多样性导致的控制不便的问题,本发明提供的设备间互联与控制的方法把电子设备虚拟成独立的标准应用程序,使得这些应用程序之间能够通过相同的传输控制协议进行互连和控制,从而整合不同的电子设备。\n[0026] 为了能够准确分辨出虚拟成独立的标准应用程序的不同的电子设备,本发明按照设备的种类抽象出该类设备所应具有的属性和方法,这些属性和方法和真实设备的功能之间是相对应的(如电源开关、音量调整等),通过这种方式将应用程序和对应的电子设备联系起来。\n[0027] 以下将结合附图对本发明的具体实施例进行详细描述。\n[0028] 图1示出了根据本发明的设备间互联与控制的方法的流程图。\n[0029] 如图1所示,为了实现不同属性的设备间的互连与控制,首先需要通过总线将所需设备连接至网关服务器,通过局域网将控制电脑连接至网关服务器,然后,在设备控制层面对物理连接在一起的设备进行数据层的链接,具体包括以下步骤:\n[0030] S110:按照设备的种类抽象出该设备的属性和控制方法,该属性和控制方法和该设备的真实功能相对应;\n[0031] S120:将每个设备分别映射为一个独立的标准应用程序,所述标准应用程序运行于网关服务器中并作为网关服务器的一个客户端存在;\n[0032] S130:通过同一传输控制协议在所有电子设备映射的标准应用程序之间进行通信和控制。\n[0033] 在本发明的一个具体实施方式中,所采用的传输控制协议为扩展的XMPP,即由不同的电子设备虚拟而成的应用程序之间通过扩展的XMPP(Extensible Messaging and Presence Protocol,可扩展消息处理现场协议)传输控制协议进行通信(互连)和控制。\n[0034] XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性,因此,基于XMPP的应用具有超强的可扩展性,经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的协议,使之能与另一个进行通话,这样,就使得开发者更容易建立客户端用程序或给一个配好系统添加功能。为了表述的方便,在下面的具体实施方式中,均以XMPP为例说明本发明的互连控制方案,其他传输控制协议应用方法类似。\n[0035] 当然,除了XMPP协议之外,还可以应用其他类似的传输控制协议作为电子设备映射的标准应用程序之间的通信载体,如IMPP协议、PRIM协议,SIMPLE协议等,本领域技术人员可以根据本发明给出的XMPP应用的实施例做类似的扩充,把这些协议作为载体,来传输本发明提供的电子设备间互联与控制的方法中制定的会话协议。\n[0036] 图2示出了根据本发明实施例的一个应用场景示意图。如图2所示,红外探测器、门磁、遥控器、煤气探测器、烟雾探测器、智能开关等是物理存在于智能家居中的传感器或控制设备,它们通过RS232、485总线、ZigBee等总线连接到网关服务器上;平板电脑、PC机、手机等控制终端通过局域网连接到网关服务器上。\n[0037] 从图2可以看出,设备、电脑和网关服务器从物理层面上的连接方式,在数据层面,依据图1所示的设备间互联与控制的方法的流程,每个传感器或设备均被映射为一个标准的应用程序,这个标准的应用程序在在智能家居应用网络中运行于网关服务器中,并且作为一个XMPP服务器的客户端存在,平板电脑、手机、电脑也作为XMPP的客户端存在,他们和标准的应用程序间以对等身份(XMPP客户端)的利用本发明制定的会话协议进行互联与控制。\n[0038] 其中,具体地,在本实施例中,XMPP协议定义的3个关键顶级XML元素,分别为
、
和
,每个元素都可以通过属性和名字空间包含大量数据,其属性和名字空间都是XMPP协议的组成部分。其中,
元素用来包含2个XMPP实体间互相发送的消息内容;
元素表示实体可用性信息,可用性信息有“可用”和“不可用”2种;
元素用来构建2个实体间的会话,并且允许实体间来回传送XML格式的请求和响应以便取得或设置公共的用户信息,如名字等。本发明提供的设备间互联与控制的方法中制定的会话协议对
扩充了如下元素/标签(在本协议中把标准的应用程序叫做Actor):\n[0039] 1、request标签\n[0040] request标签是Actor向另外一个Actor发送请求的时候,所要用到的标签。\nrequest标签的定义如下:\n[0041]
\n[0042] 其中,action标签是request的子标签,每个action描述了一个request的动作。\n[0043]
""\n[0044] 下表一中给出了一些action标签的示例:\n[0045] 表一:\n[0046] \n[0047] \n[0048] 2、report标签\n[0049] report标签是根据其他的Actor的请求或者自发发送自己状态值的标签,包含status子标签:\n[0050]
\n[0051] 其中,status标签是report的子标签,代表每个命令及状态的值:\n[0052]
""\n[0053] 3、result标签\n[0054] result标签是在收到request或者report标签后,返回给发送者的标签:\n[0055]
\n[0056] 其中,retvalue:0接受,1拒绝,2丢弃,3error。\n[0057] 4、usage标签\n[0058] usage标签是report的子标签,在收到usage的action标签后,返回给发送者的标签,说明自己可以响应的action。\n[0059]
\n[0060] usage标签还包含Param子标签,param标签代表自己可以响应的action等信息:\n[0061]
"value"[0062] 如前所述,在本协议中把标准的应用程序叫做Actor,下面就以一个标准Actor为例对本发明所述的设备间互联与控制的方法中在数据层的链接部分进行更加详细地说明。\n[0063] 对现有的电子设备进行归类后,协议中定义了规定类型的标准设备,各个设备厂商只要按照这个规范进行实现,就可以在本发明所示的方法中使用(为了简化开发,在本发明的一个具体实施方式中,可以先定义一个API接口,用java语言开发一个package)。其中,规定类型的标准设备包括:\n[0064] 电视TV、视频Video、音频Audio、图片Pic、文本Text、空调Aircon、灯光light、开关switch、报警器alarmdev、门door、窗window、窗帘curtain。\n[0065] 所有的Actor都有2个param:1、usage用法,2、comment注释\n[0066]
\n[0067] \n[0068] Actor可选择下面两个param:1、reportAim报告目标,2、报告频率,以秒为单位,0表示触发时报告。\n[0069]
[0070]
[0071] 其中,对于电视TV(普通红外电视):\n[0072]
\n[0073] [0074] \n[0075] 对于视频Video、音频Audio:\n[0076] \n[0077] \n[0078] 对于图片Pic:\n[0079]
\n[0080] \n[0081] \n[0082] 对于文本Text:\n[0083]
\n[0084] \n[0085] \n[0086] 对于空调Aircon(非红外):\n[0087] \n[0088] 对于灯光light:\n[0089] \n[0090] 对于开关switch:\n[0091] \n[0092] \n[0093] 对于报警器alarmdev:\n[0094] \n[0095] 对于温湿度传感器Actor:\n[0096] \n[0097] 对于门door:\n[0098] \n[0099] 对于窗window、窗帘curtain:\n[0100]
\n[0101] \n[0102] \n[0103] 在应用程序的调用接口(API)定义方面,可以参考如下定义:\n[0104] 1、DSSP_Message类\n[0105] 对于Actor开发来说,只需要用到DSSP_ActorBase一个类。\n[0106] 只有两个public数据:to,xmlStr,分别是消息目的和xml消息字符串,用来在Actor中发送消息用。\n[0107] 2、DSSP_MessageSender类\n[0108] 维护一个队列,其中保存的是待发送消息,用来在Actor中发送消息用。\n[0109] \n[0110] 其中,加入数据:boolean offer(String to,String xmlStr)\n[0111] 获取并移出数据:DSSP_Message poll()\n[0112] 3、DSSP_ActorBase类\n[0113] DSSP_ActorBase是一个抽象类,开发Actor时必须继承实现这个类并实现抽象的接口函数,若要处理相应的消息,得在接口函数中实现,发送消息使用SendMessage函数。\n[0114] \n[0115] \n[0116] 其 中, 登 录 服 务 器 :void Login(String host,String userName,StringpassWord),相关参数包括:需要连接的服务器名(例如smarthome.com)、用户名、密码,在连接、登录服务器并启动发送消息线程、编程时必须用到该函数。\n[0117] 离开服务器:void Loguot(),表示停止发送消息线程并断开与服务器的连接,编程时会用到该函数。\n[0118] 处理要发送的数据包:void run(),没有参数,该函数通过java的线程机制,当发送消息队列中用需要发送的消息时发送消息,编程时不需要考虑。\n[0119] 取得消息ID:String getMessageId(),没有参数,发送的消息的ID,格式为(用户名@服务器/时间戳),编程时不需要考虑。\n[0120] 发送
消息:String SendMessage(String to,DSSP_Request request),用于发送request信息用函数,参数包括:发送目标(例如xxxx@smarthome.com)、request类,返回值为消息ID。\n[0121] 发送消息:void SendMessage(String to,DSSP_Result result),用于发送result信息用函数,参数包括:发送目标(例如xxxx@smarthome.com)、result类。\n[0122] 发送消息:String SendMessage(String to,DSSP_Report report),用于发送report信息用函数,参数包括:发送目标(例如xxxx@smarthome.com)和report类,返回值为消息ID。\n[0123] 接口函数:ProcessRequest,ProcessResult,ProcessReport,ProcessError,用于处理接收到的相应数据用,编程时必须实现,参数包括传入对应的数据类。\n[0124] 4、DSSP_PacketFilter类:\n[0125] 用于实现接口PacketFilter,判断包是否会被响应,以便响应所有包。\n[0126] 5、DSSP_PacketListener类:\n[0127] 用于实现接口PacketListener,用来将包中的xml字串解析成相应的类后交给对应的Actor响应类的对应接口函数处理。\n[0128] \n[0129] 6、DSSP_Connection类:\n[0130] 用来与服务器连接的、通信的类,编程不会用到。\n[0131] \n[0132] 通过上述具体实施方式可以看出,本发明提供的电子设备间互联与控制的方法能够有效解决设备跨网段的问题,屏蔽不同协议之间的差异性,实现设备间的互连和控制。与现有其他技术相比,本发明实现成本较低,并且具有很强的扩展性。\n[0133] 与上述方法相对应,本发明还提供一种电子设备间互联与控制的系统。\n[0134] 图3示出了根据本发明的电子设备间互联与控制的系统300的方框示意图。如图\n3所示,电子设备间互联与控制的系统300包括网关服务器310、电子设备320、设备虚拟化单元330、设备抽象单元340和通信控制单元350,另外,还可以包括控制终端360。\n[0135] 其中,电子设备320通过网关服务器3 10互相连接;设备虚拟化单元330用于将电子设备320虚拟为独立的标准应用程序,该应用程序运行于网关服务器310中并作为一个网关服务器310的客户端存在;设备抽象单元340用于根据电子设备320的种类抽象出该电子设备320的属性和方法,其中,所述属性和方法与所述电子设备的功能相对应;通信控制单元350用于通过相同的传输控制协议在所有电子设备映射的应用程序之间进行通信和控制。\n[0136] 控制终端360通过局域网与网关服务器310连接,从而通过网关服务器实现对电子设备320的控制。\n[0137] 如上参照附图以示例的方式描述了根据本发明的电子设备间互联与控制的方法和系统。但是,本领域技术人员应当理解,对于上述本发明所提出的电子设备间互联与控制的方法及系统,还可以在不脱离本发明内容的基础上做出各种改进,如通信协议的选择,电子设备、控制终端以及网关服务器之间的物理连接方式等。因此,本发明的保护范围应当由所附的权利要求书的内容确定。