一种控制智能设备的方法、装置及网关
技术领域
本发明涉及通信技术领域,尤其涉及一种控制智能设备的方法、装置及网关。
背景技术
当用户A使用遥控终端远程开启起居室的电灯,而其他用户并不知道起居室的电灯已经被开启,假设用户B又通过遥控终端向起居室电的电灯发送开启指令,就会与电灯当前的状态发生冲突。再如,用户A通过遥控终端向热水器发送加热的命令,若用户B也通过遥控终端向热水器发送加热的命令,而此时热水器已经在执行用户A发出的加热的命令,若再执行用户B发出的加热的命令,热水器就可能做出一些异常的反应,最终可能导致电灯、热水器出现故障,甚者还会引发安全问题。
发明内容
鉴于上述的分析,本发明旨在提供一种控制智能设备的方法、装置及网关,用以解决现有技术中不同用户向同一智能设备发送的操作指令相冲突的问题。
为解决上述问题,本发明主要是通过以下技术方案实现的:
本发明一方面提供了一种控制智能设备的方法,该方法包括:
基于用户的第一操作指令触发智能设备执行所述第一操作指令;
在所述智能设备执行所述第一操作指令过程中,当接收到对所述智能设备进行操作的第二操作指令时,判断所述智能设备执行所述第二操作指令所进行的操作与执行所述第一操作指令所进行的操作是否冲突;
在确定二者的操作相冲突时,拒绝触发所述智能设备执行所述第二操作指令。
优选地,该方法还包括:
预先保存所述智能设备的当前状态信息和所述智能设备相冲突的操作指令的信息。
优选地,所述智能设备的当前状态信息包括:操作指令的发出者信息、操作指令信息和操作指令执行信息。
优选地,该方法还包括:
接收所述智能设备发送来对所述第一操作指令进行执行的信息后,或在接收所述智能设备发送来的对所述第一操作指令执行完成信息后,更新所述智能设备的当前状态信息。
优选地,所述判断所述智能设备执行所述第二操作指令所进行的操作与执行所述第一操作指令所进行的操作是否冲突的步骤具体包括:
根据所述智能设备的当前状态信息得到该智能设备正在执行的操作指令为所述第一操作指令,并根据所述智能设备相冲突的操作指令的信息判断该智能设备执行所述第二操作指令所进行的操作与执行所述第一操作指令所进行的操作是否冲突。
优选地,拒绝触发所述智能设备执行所述第二操作指令的步骤之后还包括:
向所述第二操作指令发出方发送拒绝执行所述第二操作指令的信息。
本发明再一方面提供了一种控制智能设备的装置,该装置包括:
处理单元,用于基于用户的第一操作指令触发智能设备执行所述第一操作指令;
判断单元,用于在所述智能设备执行所述第一操作指令过程中,当接收到对所述智能设备进行操作的第二操作指令时,判断所述智能设备执行所述第二操作指令所进行的操作与执行所述第一操作指令所进行的操作是否冲突,并在确定二者的操作相冲突时,拒绝触发所述智能设备执行所述第二操作指令。
优选地,所述处理单元还用于,预先保存所述智能设备的当前状态信息和所述智能设备相冲突的操作指令的信息。
优选地,所述处理单元还用于,在接收所述智能设备发送来的执行所述第一操作指令的信息后,或在接收所述智能设备发送来的对所述第一操作指令执行完毕的信息后,更新所述智能设备的当前状态信息。
优选地,所述判断单元具体用于,在所述智能设备执行所述第一操作指令过程中,当接收到对所述智能设备进行操作的第二操作指令时,根据所述智能设备的当前状态信息得到该智能设备正在执行的操作指令为所述第一操作指令,并根据所述智能设备相冲突的操作指令的信息判断该智能设备执行所述第一操作指令所进行的操作与执行所述第二操作指令所进行的操作是否冲突,并在确定二者的操作相冲突时,拒绝触发所述智能设备执行所述第二操作指令。
本发明又再一方面提供了一种网关,该网关包括:上述任意一种所述的装置。
本发明有益效果如下:
本发明提供的一种控制智能设备的方法、装置及网关,在智能设备执行第一操作指令过程中,如果接到对该智能设备进行操作的第二操作指令时,通过网关判断第二操作指令所进行的操作与执行所述第一操作指令所进行的操作是否冲突,如果冲突,则网关拒绝向所述智能设备转发第二操作指令,从而有效避免不同用户向同一智能设备发送的操作指令相冲突的问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为本发明实施例的一种控制智能设备的方法的流程图;
图2为本发明实施例的家庭局域网的布局图;
图3为本发明实施例的一种控制智能设备的装置的结构示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。为了清楚和简化目的,当其可能使本发明的主题模糊不清时,将省略本文所描述的器件中已知功能和结构的详细具体说明。
为了解决现有技术不同用户向同一智能设备发送的操作指令相冲突的问题,本发明提供了一种控制智能设备的方法、装置及网关,以下结合附图以及几个实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
方法实施例
本发明实施例提供的一种控制智能设备的方法,参见图1,该方法包括:
S101、基于用户的第一操作指令触发智能设备执行所述第一操作指令;
S102、在所述智能设备执行所述第一操作指令过程中,当接收到对所述智能设备进行操作的第二操作指令时,判断所述智能设备执行所述第二操作指令所进行的操作与执行所述第一操作指令所进行的操作是否冲突,并在确定二者的操作相冲突时,拒绝触发所述智能设备执行所述第二操作指令。
本发明在智能设备执行第一操作指令过程中,如果接到对该智能设备进行操作的第二操作指令时,通过网关判断第二操作指令所进行的操作与执行所述第一操作指令所进行的操作是否冲突,如果冲突,则网关拒绝向所述智能设备转发第二操作指令,从而有效避免不同用户向同一智能设备发送的操作指令相冲突的问题。
本发明实施例所述智能设备包括洗衣机、电灯、电视、电脑和热水器等等电器设备。
具体实施时,本发明可以通过网关将移动终端(或者称为遥控终端,实质为能够供用户向网关发送操作指令的任意终端)与各种智能设备相连接,用户通过操作移动终端发出对某智能设备进行操作的操作指令,该操作指令由移动终端发送给网关,再由网关将操作指令发送给相应的智能设备,从而控制该智能设备的运作。
下面以家庭网络为例对本发明所述的网络进行详细的说明:图2为本发明实施例的家庭局域网的布局图,如图2所示,本发明家庭局域网包括:智能家电(即上述的智能设备)、网关和移动终端(或是移动控制终端)三部分,智能家电通过家庭局域网连接至网关,具体的,智能家电是通过一些连接方法如Wi-Fi、Bluetooth或Zegbee等方法连接到智能网关,用户使用移动终端与网关通信,再由网关转发给相应的智能家电,整个网络形成一个星形的网络拓扑。
本发明实施例所述的方法还包括:预先保存所述智能设备的当前状态信息和所述智能设备相冲突的操作指令的信息。
具体实施时,可先建立设备状态表,并将所述智能设备的当前状态信息和所述智能设备相冲突的操作指令的信息保存在设备状态表,当然本领域的技术人员也可以根据实际需要设置两个表,一个为智能设备的当前状态信息表,另一个为智能设备相冲突的操作指令的信息表,其中智能设备的当前状态信息表用于存储智能设备的当前状态信息,智能设备相冲突的操作指令的信息表用于存储智能设备相冲突的操作的信息。
其中,智能设备的当前状态信息具体包括:操作指令的发出者信息(即,用户所使用的移动终端信息)、操作指令信息(如、开启指令、加热指令等等)、指令执行情况信息(具体包括操作指令执行的时间信息和执行进程信息等,如,在执行加热指令过程中,所述指令执行情况信息包括:当前加热的温度信息、起始执行该加热指令的时间信息、已执行时间信息等);
所述智能设备的相冲突的操作指令的信息,即为智能设备不能同时、或在预定时间段内不能执行的两个或多个操作指令的信息,如,针对加热器的预定时间段内的两个加热指令、电饭煲在预定时间段内的做粥指令和做饭指令,等等。
由于本领域的技术人员可以预先根据智能设备执行的指令的具体操作来得到相冲突的操作指令,因此,可以预先将该智能设备相冲突的操作指令的信息储存在设备状态表内,以供后续进行相应的指令冲突的判断。
本发明实施例可在初始设置阶段就在网关上建立设备状态表,并将以后所有用户触发的操作指令保存到该设备状态表中,也可以在收到用户的触发操作指令后,再生成该设备状态表。
本发明所述的设备状态表为包括网络内所有的智能设备的当前状态信息,以及相应的智能设备内相冲突的操作的信息。当然,本领域的技术人员也可以根据实际需要对每个智能设备分别设置一个设备状态表,该设备状态表内仅保存有该智能设备的当前状态信息,以及该智能设备内相冲突的操作指令的信息。
本发明在接收所述智能设备发送来对所述第一操作指令进行执行的信息后,以及在接收所述智能设备发送来的对所述第一操作指令执行完成信息后,更新所述智能设备的当前状态信息,如果该智能设备的当前状态信息是保存在相应的当前状态信息表内,则在智能设备的当前状态改变时,更新该当前状态信息表。
具体为,当智能设备确定执行以及执行完所述第一操作指令后,向所述网关发送相应的信息,所述网关在收到信息后,更新相应的设备状态表或是当前状态信息表。
具体实施时,本发明可以基于Alljoyn通信框架中的about广播的方式,通过建立设备about,并通过设备about广播向网关发送其设备标识和设备状态,如,通过设备about向网关发送对所述第一操作指令进行执行的信息和完成第一操作指令执行的信息,以使网关能够实时修改设备状态表中各个智能设备所对应的当前状态信息。当然本领域的技术人员也可以根据实际需要通过其他方式向网关发送智能设备的当前状态信息。
本发明实施例在所述智能设备执行所述第一操作指令过程中,当接收到对所述智能设备进行操作的第二操作指令时,先根据所述智能设备的当前状态信息得到该智能设备正在执行的操作指令为所述第一操作指令,并根据所述智能设备相冲突的操作指令的信息判断所述智能设备执行所述第二操作指令所进行的操作与执行所述第一操作指令所进行的操作是否冲突,并在确定二者的操作相冲突时,拒绝触发所述智能设备执行所述第二操作指令。
即,在所述智能设备执行所述第一操作指令过程中,当接收到对所述智能设备进行操作的第二操作指令时,先根据当前状态信息得到智能设备正在执行的操作指令,并根据所述智能设备相冲突的操作指令的信息判断执行所述第一操作指令所进行的操作与执行所述第二操作指令所进行的操作是否冲突。
或者可以说,当网关接收到对同一个智能设备执行两个操作指令的命令时,将两个操作指令进行比较,判断智能设备在同时执行上述两个操作指令的操作过程中,会不会存在冲突,如果冲突则将执行先接收到的操作指令,拒绝后收到的操作指令。否则,可以同时执行两个操作指令。当然本领域的技术人员也可以预先设置移动终端的级别,并优先执行高级别的用户发出的操作指令。
需要说明的是,本发明并不仅限于对两个操作指令进行判断,也可以对多个操作指令进行判断,具体是将智能设备的待执行的操作指令与当前正在执行的操作指令进行两两比较,看二者是否冲突,如果冲突则不执行该待执行的操作指令,否则可同时执行两个操作指令。
本发明实施例在拒绝触发所述智能设备执行所述第二操作指令的步骤之后还包括:
向发出所述第二操作指令方发送拒绝执行所述第二操作指令的信息,即通知用户该操作指令没有被智能设备所执行,该通知中还可以包括具体未执行的原因,以及多长时间后可以执行该指令等信息(该时间可以根据设备状态表内第一操作指令进行计算),如果用户需要还可以再次触发智能设备执行该操作。
装置实施例
本发明实施例提供了一种控制智能设备的装置,参见图3,该装置包括相互连接的处理单元和判断单元;
处理单元,用于基于用户的第一操作指令触发智能设备执行所述第一操作指令;
判断单元,用于在所述智能设备执行所述第一操作指令过程中,当接收到对所述智能设备进行操作的第二操作指令时,判断所述智能设备执行所述第二操作指令所进行的操作与执行所述第一操作指令所进行的操作是否冲突,并在确定二者的操作相冲突时,拒绝触发所述智能设备执行所述第二操作指令。
本发明在处理单元触发智能设备执行第一操作指令过程中,如果接到对该智能设备进行操作的第二操作指令时,通过判断单元判断第二操作指令所进行的操作与执行所述第一操作指令所进行的操作是否冲突,如果冲突,则拒绝向所述智能设备转发第二操作指令,从而有效避免不同用户向同一智能设备发送的操作指令相冲突的问题。
优选地,本发明实施例的所述处理单元还用于,预先保存所述智能设备的当前状态信息和所述智能设备相冲突的操作指令的信息,并在接收所述智能设备发送来的执行所述第一操作指令的信息后,或在接收所述智能设备发送来的对所述第一操作指令执行完毕的信息后,更新所述智能设备的当前状态信息。
其中,所述智能设备的当前状态信息包括:操作指令的发出者信息、操作指令信息以及操作指令执行信息。
优选地,本发明实施例的判断单元具体用于,在所述智能设备执行所述第一操作指令过程中,当接收到对所述智能设备进行操作的第二操作指令时,根据所述智能设备的当前状态信息得到该智能设备正在执行的操作指令为所述第一操作指令,并根据所述智能设备相冲突的操作指令的信息判断所述智能设备执行所述第一操作指令所进行的操作与执行所述第二操作指令所进行的操作是否冲突,并在确定二者的操作相冲突时,拒绝触发所述智能设备执行所述第二操作指令。
本发明实施例的装置中的内容可参考方法部分的相关内容进行理解,在此不再赘述。
网关实施例
本发明实施例提供了一种网关,该网关包括装置实施例中任意一种所述的装置,本发明实施例的相关内容可参照方法实施例和装置实施例的相关部分进行理解,在此不再赘述。
本发明提供的一种控制智能设备的方法、装置及网关,至少能够带来以下有益效果:
本发明在智能设备执行第一操作指令过程中,如果网关接到对该智能设备进行操作的第二操作指令时,网关判断第二操作指令所进行的操作与执行所述第一操作指令所进行的操作是否冲突,如果冲突,则网关拒绝向所述智能设备转发第二操作指令,从而有效避免不同用户向同一智能设备发送的操作指令相冲突的问题。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。