设备联动控制方法、装置、电子设备和存储介质与流程

    专利查询2022-07-07  110



    1.本技术涉及智能家居领域,具体而言,涉及一种设备联动控制方法、装置、电子设备和存储介质。


    背景技术:

    2.随着智能家居的普及,用户购买的智能家居设备的数量会越来越多,并且这些设备可能不是出自同一厂家品牌,因一些平台差异和技术协议的差异等因素,导致它们之间的互联互通、相互联动控制存在一定障碍。
    3.现有技术中,通过第三方授权、系统平台与系统平台对接的方式,仅能实现不同平台之间真实设备的控制,但无法通过一个系统实现对另一个系统的自动化联动控制。


    技术实现要素:

    4.有鉴于此,本技术的目的在于提供一种设备联动控制方法、装置、电子设备和存储介质,以在不增加真实设备的硬件成本的基础上,通过一个系统实现对另一个系统的自动化联动控制。
    5.为了实现上述目的,本技术实施例采用的技术方案如下:
    6.第一方面,本技术提供一种设备联动控制方法,所述方法包括:
    7.获取第一系统下目标虚拟设备当前的设备状态;所述目标虚拟设备当前的设备状态,是将第二系统下目标虚拟设备在执行所述第二系统下的控制指令后的设备状态,同步至所述第一系统中得到;
    8.确定所述第一系统下与所述目标虚拟设备关联的自动化方案;
    9.若所述目标虚拟设备当前的设备状态满足所述关联的自动化方案中的目标自动化方案的触发条件,并则执行所述第一系统下的所述目标自动化方案。
    10.第二方面,本技术提供一种设备联动控制装置,所述装置包括:
    11.数据接收模块,用于获取第一系统下目标虚拟设备当前的设备状态;所述目标虚拟设备当前的设备状态,是将第二系统下目标虚拟设备在执行所述第二系统下的控制指令后的设备状态,同步至所述第一系统中得到;
    12.自动化方案确定模块,用于确定所述第一系统下与所述目标虚拟设备关联的自动化方案;
    13.自动化执行模块,用于若所述目标虚拟设备当前的设备状态满足所述关联的自动化方案中的目标自动化方案的触发条件,则执行所述第一系统下的所述目标自动化方案。
    14.在可选的实施方式中,所述第二系统下的控制指令包括自动化控制指令;所述目标虚拟设备当前的设备状态通过以下步骤同步得到:
    15.在所述第二系统下的目标事件满足所述第二系统下的自动化方案的触发条件,且所述第二系统下的自动化方案中的自动化动作设备为所述第二系统下的目标虚拟设备的情况下,根据所述第二系统下的自动化方案生成针对所述第二系统下的目标虚拟设备的自
    动化控制指令;
    16.根据所述自动化控制指令,控制所述第二系统下的目标虚拟设备执行所述第二系统下的自动化方案的目标动作,并将所述第二系统下的目标虚拟设备执行所述目标动作后的设备状态同步至所述第一系统中。
    17.在可选的实施方式中,所述自动化执行模块用于,若所述目标虚拟设备当前的设备状态满足所述关联的自动化方案中的目标自动化方案的触发条件,则确定所述目标虚拟设备为所述目标自动化方案中的自动化条件设备,并控制所述目标自动化方案中的自动化动作设备,执行所述目标自动化方案的目标动作。
    18.在可选的实施方式中,所述装置还包括:
    19.通信建立模块,用于建立所述第一系统与所述第二系统的绑定关系,并根据所述绑定关系建立所述第一系统与所述第二系统之间的通信链路;所述目标虚拟设备当前的设备状态,是基于所述第一系统与所述第二系统之间的通信链路,将所述第二系统下目标虚拟设备在执行所述第二系统下的控制指令后的设备状态,同步至所述第一系统中得到。
    20.在可选的实施方式中,所述装置还包括:
    21.虚拟设备创建模块,用于接收所述第一系统下的虚拟设备创建请求;所述虚拟设备创建请求包括请求创建的虚拟设备的属性参数;根据所述虚拟设备创建请求中的所述属性参数,在所述第一系统中创建对应的所述虚拟设备;在所述第一系统中创建所述虚拟设备后,基于所述第一系统与所述第二系统的绑定关系,将所述第一系统中创建的虚拟设备同步创建至所述第二系统中。
    22.在可选的实施方式中,所述虚拟设备创建模块用于基于所述第一系统中创建的所述虚拟设备,生成与所述虚拟设备对应的虚拟设备模板;根据所述虚拟设备模板生成所述第二系统下的虚拟设备创建请求;所述第二系统下的虚拟设备创建请求,用于指示在所述第二系统中基于所述虚拟设备模板同步创建对应的所述虚拟设备。
    23.在可选的实施方式中,所述装置还包括:
    24.设备状态调整模块,用于将所述目标虚拟设备的设备状态恢复至所述第二系统下目标虚拟设备执行所述控制指令前的设备状态,以便所述第一系统与所述第二系统之间进行下一次的设备联动控制。
    25.第三方面,本技术提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如前述实施方式中任一项所述的设备联动控制方法的步骤。
    26.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的设备联动控制方法的步骤。
    27.本技术实施例提供的设备联动控制方法、装置、电子设备和存储介质,由于第一系统和第二系统中都具有目标虚拟设备,在第二系统下的目标虚拟设备执行第二系统下的控制指令后,会将该第二系统下的目标虚拟设备的设备状态同步至第一系统中,从而得到第一系统下目标虚拟设备当前的设备状态,在第一系统下与目标虚拟设备关联的自动化方案中,当目标虚拟设备当前的设备状态满足某个目标自动化方案的触发条件,则执行第一系统下的目标自动化方案。如此,利用虚拟设备的设备状态在两个系统中的同步,用户通过第
    authentication,开放授权)授权方式。通过该方式,相当于一个系统拥有了访问或控制另一个系统的某个账号下的设备或数据的权限。
    44.当权限打通了之后,系统平台与系统平台对接通信,是按照双方约定好的一种技术协议规范(比如采用https协议、mqtt协议等进行传输、应用层的数据格式可以采用json格式),将某一方的接口或数据翻译成另一方可以识别的接口或数据,以此来实现相互间的通信。在完成对接通信之后,从一个系统发出去的控制命令,经过两个系统平台之间的中间翻译转换协议,就可以最终转换成另一个系统能识别的控制命令,最终控制到某些设备。
    45.在本实施例中,第一系统10和第二系统20可以为家居系统,还可以是其他类型的智能系统,在此不做限制。
    46.本实施例中以家居系统为例,第一系统10包括第一网关设备110、与第一网关设备110连接的第一家居设备120以及与第一网关设备110连接的第一服务器130。其中,第一网关设备110的数量可以为至少一个,第一家居设备120的数量可以为至少一个。另外,第一网关设备110的数量为多个时,不同第一网关设备110之间也可以进行通信连接。
    47.在本实施例中,第一网关设备110可以为智能家居控制的智能网关,可以实现系统信息的采集、信息输入、信息输出、集中控制、远程控制、联动控制等功能。网关设备可以负责具体的安防报警,家电控制,用电信息采集。第一网关设备110还可以通过无线方式与智能交互终端等产品进行信息交互。第一网关设备110还具备有无线路由功能,优良的无线性能,网络安全和覆盖面积。
    48.在本实施例中,第一家居设备120可以包括设置于室内空间中的多种智能家电设备、传感设备以及检测设备等,例如智能电视、智能冰箱、智能空调、温湿度传感器、压力传感器、烟雾传感器、人体传感器、门窗传感器、智能开关、插座、电灯、红外发射装置、摄像头装置等。与第一网关设备110连接的第一家居设备120,可以与第一网关设备110之间进行信息以及指令的交互。第一网关设备110与第一家居设备120可以通过蓝牙、wifi(wireless-fidelity,无线保真)、zigbee(紫峰技术)、以太网等通信方式连接,当然,第一网关设备110与第一家居设备120连接方式在本技术实施例中可以不作为限定。
    49.在本实施例中,第一服务器130可以是本地服务器、云服务器等服务器,具体的服务器类型在本技术实施例中可以不作为限定。与第一网关设备110连接的第一服务器130,可以通过无线方式与第一网关设备110之间进行信息的交互。设置于不同的室内空间的第一网关设备110都可以通过网络与同一个第一服务器130进行通信连接,以进行第一服务器130和第一网关设备110之间的信息交互。其中,第一服务器130可通过第一路由器140与第一网关设备110通信连接,第一家居设备120可通过wifi、以太网、thead等通信方式与第一路由器140连接。
    50.在本实施例中,第一服务器130还与第二系统20中的第二服务器210通信连接,第二服务器210也可以是本地服务器、云服务器等服务器,具体的服务器类型在本技术实施例中可以不作为限定。此外,与第一系统10类似,第二系统20中也包括各种第二家居设备220、与第二服务器210通信连接的第二路由器230、第二网关设备240等设备,具体内容此处不再详述。通过在第一系统10上触发一些语音控制或者自动化联动的执行,可以控制第二系统20中的一些设备,同样的,通过在第二系统20上触发一些语音控制或者自动化联动的执行,也可以控制第一系统10中的一些设备。
    51.进一步地,终端设备30可以通过2g/3g/4g/5g/wifi等无线方式与第一服务器130、第二服务器210之间进行信息的交互。当然,终端设备30与第一服务器130、第二服务器210之间的连接方式在本技术实施例中可以不作为限定。在一些实施方式中,终端设备30也可以通过2g/3g/4g/5g/wifi等无线方式与第一网关设备110、第二网关设备240之间进行信息的交互。
    52.以第一系统10为例,该终端设备30也可用于与用户之间进行交互,方便用户通过终端设备30可以基于第一路由器140与第一网关设备110进行无线通信。另外,用户可以在第一网关设备110和终端设备30同时添加一个账号信息,通过该账号信息实现第一网关设备110和终端设备30的信息同步。该终端设备30可以包括个人电脑(personal computer,pc)、平板电脑、智能手机、个人数字助理(personal digital assistant,pda)等,在此不做限定。
    53.在一些实施例中,用户可以通过终端设备30的应用程序(application,app)设置不同的触发场景或者自动化联动。例如,通过终端设备30上的app1可以与第一系统10中的第一服务器130通信,进而在第一系统10中设置不同的触发场景或者自动化联动;通过终端设备30上的app2可以与第二系统20中的第二服务器210通信,进而在第二系统20中设置不同的触发场景或者自动化联动。
    54.以第一系统10为例,作为一种方式,终端设备30可以将场景配置信息或者自动化方案上传至第一服务器130,以在达到该触发场景或者自动化的触发条件时,第一服务器130可根据存储的场景配置信息或者自动化方案,找到与该场景配置信息或者自动化方案中的执行动作对应的设备,以通知该设备进行执行动作以满足触发场景或自动化的执行结果。作为另一种方式,第一服务器130也可以将场景配置信息或者自动化方案发送给第一网关设备110,由第一网关设备110根据存储的场景配置信息或者自动化方案,找到与该场景配置信息或者自动化方案中的执行动作对应的设备。同时,第一网关设备110可以将设备的执行情况反馈回第一服务器130。
    55.例如,请参阅图2,用户通过终端设备30的app1设置的自动化方案为“门窗打开自动开灯”时,该自动化方案的触发条件为“门窗打开”,执行动作为“智能开关控制灯泡开灯”。此时基于此自动化方案,触发设备为门窗传感器120a,执行设备为与灯泡120c连接的智能开关120b。其中,自动化方案可以存储于第一网关设备110,也可以存储于第一服务器130,执行自动化联动的路径可以通过局域网,也可以通过广域网。
    56.若通过局域网路径,在第一网关设备110本地进行自动化执行,则门窗传感器120a感应到门窗打开,将门窗打开的信息事件上报给第一网关设备110,第一网关设备110接收到该信息事件后,可根据存储的自动化方案,找到与该自动化方案中的执行动作对应的设备,在本例中为智能开关120b,并通知智能开关120b控制开灯,从而实现门窗打开自动开灯的自动化联动。
    57.若通过广域网路径,在第一服务器130进行自动化执行,则门窗传感器120a感应到门窗打开,将门窗打开的信息事件上报给第一网关设备110,第一网关设备110接收到该事件后,将该事件上报给第一服务器130,第一服务器130根据存储的自动化方案,找到与该自动化方案中的执行动作对应的设备,在本例中为智能开关120b,并通过第一网关设备110通知智能开关120b控制开灯,从而实现门窗打开自动开灯的自动化联动。
    58.进一步地,开灯后,可以将成功开灯的执行结果反馈给第一网关设备110,第一网关设备110接收到该信息后,可以将当前时间、自动化方案的标识符(id,identity document)以及该自动化方案的执行结果上报第一服务器130,由第一服务器130进行存储。其中,id可以是唯一标识自动化方案的符号,可以是数字、文字等,在此不作限定。
    59.下面将结合附图具体描述本技术中的各实施例。
    60.请参照图3,为本技术实施例提供的设备联动控制方法的一种流程示意图。需要说明的是,本技术实施例的设备联动控制方法并不以图3以及以下的具体顺序为限制,应当理解,在其它实施例中,本技术的设备联动控制方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该设备联动控制方法可应用于电子设备,该电子设备可以是终端设备30,也可以是第一系统10下的服务器(第一服务器130)或网关(第一网关设备110),还可以是第二系统20下的服务器(第二服务器210)或网关(第二网关设备240)。下面,以电子设备为第一系统10下的服务器或者网关为例,对图3所示的具体流程进行详细阐述。
    61.步骤s301,获取第一系统下目标虚拟设备当前的设备状态;目标虚拟设备当前的设备状态,是将第二系统下目标虚拟设备在执行第二系统下的控制指令后的设备状态,同步至第一系统中得到。
    62.其中,第一系统和第二系统为两种不同的系统,例如,可以为两个不同的智能家居系统。第一系统和第二系统中预先同步创建了一些虚拟设备,这些虚拟设备除了是虚拟的以外,其具备和实际设备(真实设备)一样的常见特性(比如具备设备类型标识、设备名称、开关状态属性、温度属性、亮度属性等)。
    63.也即是说,本实施例中的虚拟设备,具备真实设备的基本属性参数(比如设备类型标识、设备名称、唯一编码id等),还可以具备其他设备属性(比如开关状态属性、温度属性、亮度属性等)。例如,可以定义一款“虚拟设备-插座”,具有“开关状态”属性;定义一款“虚拟设备-灯”,具有“开关状态”属性和“亮度”属性;定义一个“虚拟设备-计数器”,具备“计数值”属性。
    64.在本实施例中,目标虚拟设备可以是第一系统与第二系统中同步创建的虚拟设备中的任一个虚拟设备,故第一系统下目标虚拟设备与第二系统下目标虚拟设备具备相同的属性参数,这样目标虚拟设备就可充当两个系统之间产生联动关联关系的中间者。当第二系统下有针对目标虚拟设备的控制指令时,会控制第二系统下的目标虚拟设备执行该控制指令,并将第二系统下的目标虚拟设备执行该控制指令后的设备状态同步至第一系统中,从而得到第一系统下的目标虚拟设备当前的设备状态。其中,该设备状态可以包括虚拟设备的开关状态、功能状态等信息,其可以反映虚拟设备当前的工作情况。例如,对于“虚拟设备-插座”,其设备状态可以包括开关状态,对于“虚拟设备-灯”,其设备状态可以包括开关状态、亮度等。
    65.步骤s302,确定第一系统下与目标虚拟设备关联的自动化方案。
    66.在本实施例中,当在第一系统中创建虚拟设备后,用户可以通过终端设备30在第一系统中配置与该虚拟设备关联的一个或者多个自动化方案,并存储到电子设备中。其中,第一系统下的自动化方案是指在第一系统的各设备之间构建的联动关系。电子设备在获取到第一系统下目标虚拟设备当前的设备状态后,可以查找到该目标虚拟设备关联的一个或
    者多个自动化方案。
    67.步骤s303,若目标虚拟设备当前的设备状态满足关联的自动化方案中的目标自动化方案的触发条件,则执行第一系统下的目标自动化方案。
    68.在本实施例中,当虚拟设备充当了两个系统之间产生联动关联关系的中间者时,该虚拟设备通常是作为自动化的触发设备。电子设备在获取到目标虚拟设备当前的设备状态后,可以将该目标虚拟设备当前的设备状态与该目标虚拟设备关联的每个自动化方案的触发条件进行比对,当目标虚拟设备当前的设备状态满足某个自动化方案的触发条件时,则将该自动化方案确定为目标虚拟设备关联的自动化方案中的目标自动化方案,并执行该目标自动化方案,实现两个系统的联动控制功能。
    69.可见,本技术实施例提供的设备联动控制方法,由于第一系统和第二系统中都具有目标虚拟设备,在第二系统下的目标虚拟设备执行第二系统下的控制指令后,会将该第二系统下的目标虚拟设备的设备状态同步至第一系统中,从而得到第一系统下目标虚拟设备当前的设备状态,在第一系统下与目标虚拟设备关联的自动化方案中,当目标虚拟设备当前的设备状态满足某个目标自动化方案的触发条件,则执行第一系统下的目标自动化方案。如此,利用虚拟设备的设备状态在两个系统中的同步,用户通过第二系统可控制第一系统中与虚拟设备关联的自动化方案的执行,即在不增加真实设备的硬件成本的基础上,通过一个系统实现了对另一个系统的自动化联动控制,提升了用户体验。
    70.在一些实施例中,第二系统下的控制指令可以由用户触发生成,例如,用户可以通过终端设备30语音发出针对目标虚拟设备的控制指令或者在终端设备30上操作app2发出针对目标虚拟设备的控制指令,第二系统中的服务器或者网关控制目标虚拟设备执行该控制指令后,将目标虚拟设备的设备状态同步到第一系统中。
    71.在另一些实施例中,第二系统下的控制指令还可以是在第二系统中触发自动化场景来生成。用户通过终端设备30在第二系统中配置与目标虚拟设备关联的一个或者多个自动化方案,第二系统下的控制指令可以包括自动化控制指令,目标虚拟设备当前的设备状态通过以下步骤同步得到:
    72.在第二系统下的目标事件满足第二系统下的自动化方案的触发条件,且第二系统下的自动化方案中的自动化动作设备为第二系统下的目标虚拟设备的情况下,根据第二系统下的自动化方案生成针对第二系统下的目标虚拟设备的自动化控制指令;根据自动化控制指令,控制第二系统下的目标虚拟设备执行第二系统下的自动化方案的目标动作,并将第二系统下的目标虚拟设备执行目标动作后的设备状态同步至第一系统中。
    73.在本实施例中,自动化方案可以包括触发条件和目标动作,自动化方案中的设备可以包括自动化条件设备和自动化动作设备,当自动化条件设备满足触发条件时,自动化动作设备执行相应的目标动作。
    74.第二系统下的目标事件可以理解为第二系统中当前发生的事件,当第二系统中当前发生的事件是与某个自动化方案中的自动化条件设备相关的事件,且该事件满足该自动化方案的触发条件,第二系统中的服务器或者网关找到该自动化方案中的自动化动作设备,如果该自动化动作设备为第二系统下的目标虚拟设备,则生成针对该目标虚拟设备的自动化控制指令,根据该自动化控制指令,控制第二系统下的目标虚拟设备执行相应的目标动作,并将目标虚拟设备执行目标动作后的设备状态同步至第一系统中。
    75.可选地,上述步骤s303可以包括:若目标虚拟设备当前的设备状态满足关联的自动化方案中的目标自动化方案的触发条件,则确定目标虚拟设备为目标自动化方案中的自动化条件设备,并控制目标自动化方案中的自动化动作设备,执行目标自动化方案的目标动作。
    76.也即是说,虚拟设备可以作为自动化条件设备参与目标自动化方案的执行。对于第一系统中的目标虚拟设备关联的自动化方案中的任一待选自动化方案,若该目标虚拟设备的设备状态满足该待选自动化方案的触发条件,则将该待选自动化方案确定为目标自动化方案,将目标虚拟设备确定为该目标自动化方案中的自动化条件设备,在确定该目标自动化方案中的自动化动作设备后,控制该自动化动作设备执行目标自动化方案的目标动作,从而实现第一系统下目标自动化方案的执行。
    77.在实际应用中,无论是第一系统还是第二系统中创建的虚拟设备,除了可以充当两个系统平台之间产生联动关联关系的中间者外,还可以作为自动化条件设备或者作为自动化动作设备,参与到本系统平台的自动化联动控制中,扩展了虚拟设备的应用场景。
    78.以第一系统中的目标虚拟设备为例,假设该目标虚拟设备关联的自动化方案中包括第一自动化方案,第一自动化方案对应的自动化动作设备为目标虚拟设备,则电子设备在获取到第一系统中的第一目标事件,且第一目标事件满足第一自动化方案的触发条件的情况下,控制目标虚拟设备执行第一自动化方案的目标动作。
    79.例如,用户在第一系统中创建了一个虚拟设备-计数器,该虚拟设备关联的其中一个自动化方案(第一自动化方案)为如果入口处的人体移动传感器检测到有人移动,就执行目标动作“计数器的计数值增加1”。对于电子设备而言,当获取到的第一系统中的第一目标事件为“人体移动传感器上报有人移动”时,表明达到第一自动化方案的触发条件,确定第一自动化方案中的目标动作对应的自动化动作设备为计数器,于是控制该计数器的计数值增加1。
    80.假设该目标虚拟设备关联的自动化方案中还包括第二自动化方案,第二自动化方案对应的自动化条件设备为目标虚拟设备;则电子设备在获取到第一系统中与目标虚拟设备关联的第二目标事件,且第二目标事件满足第二自动化方案的触发条件的情况下,确定第二自动化方案对应的自动化动作设备,并控制自动化动作设备执行第二自动化方案的目标动作。
    81.例如,用户创建了一个虚拟设备-计数器,该虚拟设备关联的其中一个自动化方案(第二自动化方案)为如果计数器的计数值是100的倍数,就语音播报“入口经过人数为xxx人”。对于电子设备而言,当获取到的第一系统中的第二目标事件为“计数器的计数值”,且该计数器的计数值满足是100的倍数,表明达到第二自动化方案的触发条件,确定该第二自动化方案中的目标动作对应的执行设备为语音播报器,并控制语音播报器播报“入口经过人数为xxx人”。
    82.通过上述两条自动化方案,即自动化1:如果入口处的人体移动传感器检测到有人移动,就执行目标动作“计数器的计数值增加1”以及自动化2:如果计数器的计数值是100的倍数,就语音播报“入口经过人数为xxx人”,就可以实现第一系统中的人流量报数功能,而这并没有新增硬件设备成本。
    83.需要说明的是,在实际应用中,虚拟设备还可以不参与自动化联动中,而是作为一
    种状态呈现给用户,例如,主卧的虚拟设备“有无人传感器”可以呈现“有人”或者“无人”的状态。
    84.可选地,请参照图4,在步骤s301之前,该设备联动控制方法还可以包括:
    85.步骤s401,建立第一系统与第二系统的绑定关系,并根据绑定关系建立第一系统与第二系统之间的通信链路。
    86.其中,第一系统与第二系统可以通过账户授权建立绑定关系,进而基于绑定关系建立第一系统与第二系统之间的通信链路,以通过该通信链路实现第一系统与第二系统之间的信息交互。例如,第一系统中的目标虚拟设备当前的设备状态,可基于第一系统与第二系统之间的通信链路,将第二系统下目标虚拟设备在执行第二系统下的控制指令后的设备状态,同步至第一系统中得到。
    87.在本实施例中,用户可以在第二系统对应的app2上进行第一系统的账号权限的授权,这样第二系统就可以获得第一系统的账号下的全部设备的设备信息,并存储在第二系统的服务器、网关等设备中。同理,用户也可以在第一系统对应的app1上进行第二系统的账号权限的授权,这样第一系统就可以获得第二系统的账号下的全部设备的设备信息,并存储在第一系统的服务器、网关等设备中。如此,通过建立第一系统与第二系统的绑定关系,有利于实现两个系统之间的互联互通、相互联动控制。
    88.在实际应用中,用户可根据应用需求在第一系统中创建相应的虚拟设备,并基于第一系统与第二系统的绑定关系,将虚拟设备同步创建者第二系统中。基于此,请参照图5,该设备联动控制方法还可以包括:
    89.步骤s501,接收第一系统下的虚拟设备创建请求;虚拟设备创建请求包括请求创建的虚拟设备的属性参数。
    90.例如,用户可以利用手机app端、saas软件工具端等配置工具端,手工选择创建某种类型的虚拟设备,配置工具端响应用户的选择操作,向第一系统的电子设备发送虚拟设备创建请求,虚拟设备创建请求中可以包括用户请求创建的虚拟设备的唯一编码id、设备类型标识、设备属性、设备名称等属性参数。
    91.步骤s502,根据虚拟设备创建请求中的属性参数,在第一系统中创建对应的虚拟设备。
    92.在本实施例中,电子设备在接收到虚拟设备创建请求后,根据该虚拟设备创建请求中的属性参数,可在第一系统中创建对应的虚拟设备,创建出的虚拟设备除了是虚拟的之外,其具备真实设备的各种属性参数,例如设备唯一编码id、设备类型标识、设备属性、设备名称等。
    93.步骤s503,在第一系统中创建虚拟设备后,基于第一系统与第二系统的绑定关系,将第一系统中创建的虚拟设备同步创建至第二系统中。
    94.在本实施例中,电子设备在第一系统中创建好虚拟设备后,基于第一系统与第二系统的绑定关系,可在第二系统中同步创建相应的虚拟设备,从而将第一系统中创建的虚拟设备接入到第二系统中,使得第一系统和第二系统中都具备属性参数相同的虚拟设备。这样,虚拟设备就可以充当第一系统和第二系统之间产生联动关联关系的中间者,在第二系统中,就可以通过控制虚拟设备的执行,最终触发第一系统中与该虚拟设备关联的自动化方案的执行。
    95.在一种实施方式中,上述步骤s503可以包括:基于第一系统中创建的虚拟设备,生成与虚拟设备对应的虚拟设备模板;根据虚拟设备模板生成第二系统下的虚拟设备创建请求;第二系统下的虚拟设备创建请求,用于指示在第二系统中基于虚拟设备模板同步创建对应的虚拟设备。
    96.在本实施例中,电子设备在第一系统中创建好虚拟设备后,根据第一系统中创建好的虚拟设备,可生成与该虚拟设备相对应的虚拟设备模板。其中,该虚拟设备模板可以理解为该虚拟设备对应的属性参数,例如该虚拟设备的唯一编码id、设备类型标识、设备属性、设备名称等属性参数。
    97.电子设备根据虚拟设备模板生成第二系统下的虚拟设备创建请求后,该第二系统下的虚拟设备创建请求中会包括在第二系统中请求创建的虚拟设备的属性参数,进而,通过该第二系统下的虚拟设备创建请求,就可以在第二系统中创建与第一系统具有相同属性参数的虚拟设备。
    98.需要说明的是,在实际应用中,用户除了可以通过手机app端、saas软件工具端等创建虚拟设备外,还可以由算法程序根据需要自行创建“虚拟设备”并加以使用。比如用户问语音助手“家里有人吗”,便会触发算法程序知道需要创建一个用于判断“有人无人”的“虚拟设备”。
    99.可见,本技术实施例提供的设备联动控制方法,电子设备通过接收第一系统下的虚拟设备创建请求,并根据虚拟设备创建请求中的属性参数就可以创建所需的虚拟设备,并将该虚拟设备同步创建至第二系统中。创建的虚拟设备除了是虚拟的以外,其具备和真实设备一样的常见特性,将虚拟设备通过系统平台与系统平台对接的方式,接入到其他系统平台中后,这些虚拟设备充当了两个系统平台之间产生联动关联关系的中间者,以此来达到在不增加真实设备的硬件成本的基础上,通过一个系统实现了对另一个系统的自动化联动控制,提升了用户体验。
    100.可选地,考虑到虚拟设备执行控制指令后的设备状态发生了变化,为了保证下一次两个系统之间的自动化联动控制的正常进行,需要将虚拟设备的设备状态进行调整。基于此,请参照图6,在上述步骤s303之后,该设备联动控制方法还可以包括:
    101.步骤s601,将目标虚拟设备的设备状态恢复至第二系统下目标虚拟设备执行控制指令前的设备状态,以便第一系统与第二系统之间进行下一次的设备联动控制。
    102.例如,虚拟设备(插座a)对应的自动化方案为如果插座a打开,就执行“我回家了”的智能场景,电子设备判断第二系统下插座a执行控制指令后的设备状态变为打开状态,其匹配的目标自动化方案为如果插座a打开,就执行“我回家了”的智能场景,故执行智能场景“我回家了”,在目标自动化方案执行完毕后,关闭插座a,从而将两个系统中插座a的设备状态恢复至执行控制指令前的设备状态(即关闭状态),以确保下一次两个系统之间的自动化联动控制的正常进行。
    103.本技术实施例还提供一种应用场景,请参照图7,上述设备联动控制方法在该应用场景的应用如下:
    104.第一系统为a家居系统,第二系统为b家居系统,其中,a家居系统与b家居系统的组成结构可以相同或者相似,例如,都可以包括iot云端、路由器、智能家居网关、智能家居设备等,还可以包括在云端创建的虚拟设备以及在智能家居网关中创建的本地化的虚拟设备
    等,故在图7中未详细展示b家居系统的组成结构。a家居系统中的设备(例如,路由器、智能家居网关、智能家居设备等)与b家居系统中的设备可以是不同厂家的设备,a家居系统的系统平台与b家居系统的系统平台可以是不同厂商开发的应用平台。
    105.在实际应用中,用户先在a家居系统中创建虚拟设备,具体可以通过用户端(比如手机app端、saas软件工具端等)向iot云端或者智能家居网关发起虚拟设备创建请求,虚拟设备创建请求包括请求创建的虚拟设备的属性参数,iot云端或者智能家居网关根据接收到的虚拟设备创建请求中的属性参数,在a家居系统中创建对应的虚拟设备,在创建虚拟设备后,基于a家居系统与b家居系统的绑定关系,在b家居系统中同步创建相应的虚拟设备,从而将a家居系统创建的虚拟设备接入到b家居系统。针对创建的虚拟设备,还可在a家居系统中配置与该虚拟设备关联的一个或者多个自动化方案。这样,充分利用虚拟设备的硬件零成本优势,创建若干虚拟设备,并按需创建满足不同情景需求的自动化联动,然后借助虚拟设备作为打通不同系统平台的中间者角色,来实现不同系统平台之间的自动化场景联动,提升用户体验。
    106.具体的,用户通过a家居系统对应的app1,在a家居系统中编辑“我回家了”的智能场景,并创建添加了“虚拟设备-插座c”,还编辑该虚拟设备关联的一个自动化方案(如果插座c打开,就执行“我回家了”的智能场景)。用户在b家居系统对应的app2中对a家居系统中的账号进行授权,并同步创建“虚拟设备-插座c”到b家居系统中,即在b家居系统中也对应创建有“虚拟设备-插座c”,为便于用户语音控制该虚拟设备,用户可在app2中将虚拟设备的名称“插座c”修改为“我回家了”,当用户发出语音“打开我回家了”,b家居系统中的“插座c”就会执行“打开”的控制指令,并通过b家居系统中的iot云端将“虚拟设备-插座c”执行控制指令后的设备状态(打开状态)同步到a家居系统中的iot云端,若“虚拟设备-插座c”创建于iot云端,则由iot云端确定该“虚拟设备-插座c”关联的自动化方案,当判断“虚拟设备-插座c”的打开状态满足目标自动化方案(即如果插座c打开,就执行“我回家了”的智能场景)的触发条件,则会执行智能场景“我回家了”;同理,若“虚拟设备-插座c”创建于智能家居网关,则智能家居网关确定该“虚拟设备-插座c”关联的自动化方案,当判断“虚拟设备-插座c”的打开状态满足目标自动化方案(即如果插座c打开,就执行“我回家了”的智能场景)的触发条件,则会执行智能场景“我回家了”。
    107.当然,在另一种场景下,b家居系统中“虚拟设备-插座c”的设备状态也可通过触发b家居系统中的自动化方案的执行来获得。例如,b家居系统中配置有一个自动化方案(门窗打开,自动打开插座c),则当b家居系统中发生门窗打开的事件(目标事件)时,可判定该事件满足自动化方案的触发条件,则找到该自动化方案中的自动化动作设备(插座c),生成针对插座c的自动化控制指令,根据该自动化控制指令控制插座c执行打开动作,将插座c执行打开动作后的设备状态(打开状态)同步到a家居系统中的iot云端,由iot云端或者智能家居网关根据获取的“虚拟设备-插座c”的打开状态,控制a家居系统下智能场景“我回家了”的执行。
    108.为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种设备联动控制装置的实现方式。请参阅图8,为本技术实施例提供的设备联动控制装置800的一种功能模块图。需要说明的是,本实施例所提供的设备联动控制装置800,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中
    相应内容。该设备联动控制装置800包括数据接收模块810、自动化方案确定模块820、自动化执行模块830。
    109.该数据接收模块810,用于获取第一系统下目标虚拟设备当前的设备状态;目标虚拟设备当前的设备状态,是将第二系统下目标虚拟设备在执行第二系统下的控制指令后的设备状态,同步至第一系统中得到。
    110.可以理解,该数据接收模块810可以执行上述步骤s301。
    111.该自动化方案确定模块820,用于确定第一系统下与目标虚拟设备关联的自动化方案。
    112.可以理解,该自动化方案确定模块820可以执行上述步骤s302。
    113.该自动化执行模块830,用于若目标虚拟设备当前的设备状态满足关联的自动化方案中的目标自动化方案的触发条件,则执行第一系统下的目标自动化方案。
    114.可以理解,该自动化执行模块830可以执行上述步骤s303。
    115.可选地,该第二系统下的控制指令包括自动化控制指令;目标虚拟设备当前的设备状态通过以下步骤同步得到:
    116.在第二系统下的目标事件满足第二系统下的自动化方案的触发条件,且第二系统下的自动化方案中的自动化动作设备为第二系统下的目标虚拟设备的情况下,根据第二系统下的自动化方案生成针对第二系统下的目标虚拟设备的自动化控制指令;
    117.根据自动化控制指令,控制第二系统下的目标虚拟设备执行第二系统下的自动化方案的目标动作,并将第二系统下的目标虚拟设备执行目标动作后的设备状态同步至第一系统中。
    118.可选地,该自动化执行模块830用于,若目标虚拟设备当前的设备状态满足关联的自动化方案中的目标自动化方案的触发条件,则确定目标虚拟设备为目标自动化方案中的自动化条件设备,并控制目标自动化方案中的自动化动作设备,执行目标自动化方案的目标动作。
    119.可选地,请参照图9,该设备联动控制装置800还可以包括通信建立模块840、虚拟设备创建模块850、设备状态调整模块860。
    120.该通信建立模块840,用于建立第一系统与第二系统的绑定关系,并根据绑定关系建立第一系统与第二系统之间的通信链路;目标虚拟设备当前的设备状态,是基于第一系统与第二系统之间的通信链路,将第二系统下目标虚拟设备在执行第二系统下的控制指令后的设备状态,同步至第一系统中得到。
    121.可以理解,该通信建立模块840可以执行上述步骤s401。
    122.该虚拟设备创建模块850,用于接收第一系统下的虚拟设备创建请求;虚拟设备创建请求包括请求创建的虚拟设备的属性参数;根据虚拟设备创建请求中的属性参数,在第一系统中创建对应的虚拟设备;在第一系统中创建虚拟设备后,基于第一系统与第二系统的绑定关系,将第一系统中创建的虚拟设备同步创建至第二系统中。
    123.其中,该虚拟设备创建模块850具体用于基于第一系统中创建的虚拟设备,生成与虚拟设备对应的虚拟设备模板;根据虚拟设备模板生成第二系统下的虚拟设备创建请求;第二系统下的虚拟设备创建请求,用于指示在第二系统中基于虚拟设备模板同步创建对应的虚拟设备。
    124.可以理解,该虚拟设备创建模块850可以执行上述步骤s501~s503。
    125.该设备状态调整模块860,用于在自动化执行模块830执行第一系统下的目标自动化方案之后,将目标虚拟设备的设备状态恢复至第二系统下目标虚拟设备执行控制指令前的设备状态,以便第一系统与第二系统之间进行下一次的设备联动控制。
    126.可以理解,该设备状态调整模块860可以执行上述步骤s601。
    127.本技术实施例提供的设备联动控制装置中,数据接收模块用于获取第一系统下目标虚拟设备当前的设备状态,目标虚拟设备当前的设备状态,是将第二系统下目标虚拟设备在执行第二系统下的控制指令后的设备状态,同步至第一系统中得到;自动化方案确定模块用于确定第一系统下与目标虚拟设备关联的自动化方案,自动化执行模块用于若目标虚拟设备当前的设备状态满足关联的自动化方案中的目标自动化方案的触发条件,则执行第一系统下的目标自动化方案。如此,利用虚拟设备的设备状态在两个系统中的同步,用户通过第二系统可控制第一系统中与虚拟设备关联的自动化方案的执行,即在不增加真实设备的硬件成本的基础上,通过一个系统实现了对另一个系统的自动化联动控制,提升了用户体验。
    128.本技术实施例提供的电子设备可以包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的设备联动控制方法。
    129.该存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
    130.图10是本技术实施例提供的电子设备的一种硬件结构框图。如图10所示,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(processingunits,cpu)111(处理器111可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器113,一个或一个以上存储应用程序1123或数据1122的存储介质112(例如一个或一个以上海量存储设备)。其中,存储器113和存储介质112可以是短暂存储或持久存储。存储在存储介质112的程序可以包括一个或一个以上模块,每个模块可以包括对电子设备中的一系列指令操作。更进一步地,处理器111可以设置为与存储介质112通信,在电子设备上执行存储介质112中的一系列指令操作。电子设备还可以包括一个或一个以上电源116,一个或一个以上有线或无线网络接口115,一个或一个以上输入输出接口114,和/或,一个或一个以上操作系统1121,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等。
    131.输入输出接口114可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备的通信供应商提供的无线网络。在一个实例中,输入输出接口114包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口114可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。
    132.本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
    133.本技术实施例提供的电子设备,由于由于第一系统和第二系统中都具有目标虚拟设备,在第二系统下的目标虚拟设备执行第二系统下的控制指令后,会将该第二系统下的目标虚拟设备的设备状态同步至第一系统中,从而得到第一系统下目标虚拟设备当前的设备状态,在第一系统下与目标虚拟设备关联的自动化方案中,当目标虚拟设备当前的设备状态满足某个目标自动化方案的触发条件,则执行第一系统下的目标自动化方案。如此,利用虚拟设备的设备状态在两个系统中的同步,用户通过第二系统可控制第一系统中与虚拟设备关联的自动化方案的执行,即在不增加真实设备的硬件成本的基础上,通过一个系统实现了对另一个系统的自动化联动控制,提升了用户体验。
    134.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述设备联动控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。
    135.需要说明的是,在本文中,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
    ……”
    限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
    136.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,网关,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
    137.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
    转载请注明原文地址:https://tc.8miu.com/read-1424.html

    最新回复(0)