本发明涉及智能家居领域,特别涉及一种用于智能家居的控制方法和系统。
背景技术:
随着智能家居相关技术的不断发展,对智能家居控制的要求也越来越高。现有的智能家居中同时控制多个设备使其执行相应的动作时,是按照下述流程进行的:用户在本地输入需要家居设备响应的动作指令;本地设备将用户输入的动作指令发送到服务器端,其中,动作指令包括执行执行顺序、家居设备ID以及具体需要执行的指令ID和参数;服务器根据用户输入的指令中的设备ID找到对应的家居设备,并且按照执行顺序向找到的家居设备发送指令;各个家居设备依次接收服务器端发送的指令,并且根据指令执行相应的动作。
上面所描述的现有的家居设备控制方案,在控制多个家居设备时,按照顺序给各个设备发送控制指令,而且各个设备对控制指令作出响应也需要一定时间,导致各个设备对所述控制指令的响应动作具有明显延迟,响应动作之间显著不同步,影响用户体验。此外,在需要执行的指令比较多,而且设备比较多的情形下,服务器端需要处理的数据就比较多,耗费的时间比较多。
技术实现要素:
为了解决现有技术的问题,本发明实施例提供了一种用于智能家居的控制方法和系统。
根据本发明实施方式的第一方面,提供了一种用于智能家居的控制方法,应用于智能家居系统,所述智能家居系统包括服务器和多个智能家居设备,所述方法包括:服务器接收来自用户的对家居设备的控制指令,其中,所述控制指令包括指令编号和待控制的家居设备ID;将所述控制指令发送到所述多个智能家居设备中的每一智能家居设备,以便每一智能家居设备根据所述控制指令中的待控制的家居设备ID确定自身是否基于所述指令编号作出响应动作。
在本发明的一些实施方式中,所述方法还可包括:将所述多个智能家居设备能够响应的各个动作进行预先编码,并将预先编码得到的每一响应动作的编号以及每一编号对应的动作内容按照每一智能家居设备能够响应的范围保存到每一个智能家居设备。
在本发明的一些实施方式中,所述待控制的家居设备ID包括分组形式的多个家居设备ID。
在本发明的一些实施方式中,所述每一智能家居设备根据所述控制指令中的待控制的家居设备ID确定自身是否基于所述指令编号作出响应动作,包括:
每一智能家居设备接收所述控制指令,根据所述控制指令中的待控制的家居设备ID和自身的设备ID判断自身是否需要对所述控制指令作出响应,若是,则根据所述控制指令中的指令编号以及自身保存的指令编号对应的动作内容作出响应动作,若否,则不作出响应动作。
在本发明的一些实施方式中,所述控制指令还包括指令对应的响应动作的执行顺序。
根据本发明实施方式的第二方面,提供了一种智能家居系统,所述系统包括服务器和多个智能家居设备,其中,所述服务器,用于接收来自用户的对家居设备的控制指令,其中,所述控制指令包括指令编号和待控制的家居设备ID,以及将所述控制指令发送到所述多个智能家居设备中的每一智能家居设备;所述多个智能家居设备的每一智能家居设备,用于根据所接收的控制指令中待控制的家居设备ID确定自身是否基于所述指令编号作出响应动作。
在本发明的一些实施方式中,所述服务器,还用于将所述多个智能家居设备能够响应的各个动作进行预先编码,并将预先编码得到的每一响应动作的编号以及每一编号对应的动作内容按照每一智能家居设备能够响应的范围保存到每一个智能家居设备。
在本发明的一些实施方式中,所述待控制的家居设备ID包括分组形式的多个家居设备ID。
在本发明的一些实施方式中,所述每一智能家居设备根据所述控制指令中的待控制的家居设备ID确定自身是否基于所述指令编号作出响应动作,包括:每一智能家居设备接收所述控制指令,根据所述控制指令中的待控制的家居设备ID和自身的设备ID判断自身是否需要对所述控制指令作出响应,若是,则根据所述控制指令中的指令编号以及自身保存的指令编号对应的动作内容作出响应动作,若否,则不作出响应动作。
在本发明的一些实施方式中,所述控制指令还包括指令对应的响应动作的执行顺序。
本发明实施方式至少具有下述有益效果:
首先,在目前的家居设备的数据处理功能均较强的场景下,在服务器端将对家居设备的控制指令进行简化,同时将控制指令统一发送到各个家居设备进行响应,与现有的由服务器按照设备ID按顺序向各设备发送控制执行的方案相比,能够降低各个家居设备作出响应动作的时延,而且也能够降低了智能家居服务器端的数据处理负担。
其次,在控制指令中将待控制的智能家居设备进行分组,对于一个分组内的家居设备,执行同一编号的响应动作,更能够保证各个家居设备响应动作的一致性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明一种实施方式的用于智能家居的控制方法的流程示意图;
图2是根据本发明一种实施方式的用于智能家居的控制方法的流程示意图;
图3是根据本发明一种实施方式的智能家居系统的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本发明的控制方法可应用于智能家居系统,该智能家居系统可包括服务器和多个智能家居设备,其中,服务器可以分为本地局域网服务器(用户本地端不连接互联网)以及远程广域网服务器(例如,网络端的服务器,用户可以用过网络远程控制家里的设备),其能够向各个智能家居设备发送控制指令。服务器还可以为多个家庭服务。智能家居中的设备可以通过发送指令申请加入某个家庭,通过服务器的许可权限后,加入到该家庭内,与服务器进行指令交互。多个智能家居设备可包括两个、三个或者更多个具有一定数据处理能力的家居设备,例如,智能电视、智能冰箱、智能洗衣机以及智能灯具等。
参见图1,图1是根据本发明一种实施方式的用于智能家居的控制方法的流程示意图,该方法具体可包括:S101和S102。接下来对各个步骤进行具体的说明。
在本发明的实施方式中,在步骤S101之前,还可包括预处理的步骤,具体而言,可包括:将多个智能家居设备能够响应的各个动作进行预先编码,并将预先编码得到的每一响应动作的编号以及每一编号对应的动作内容按照每一智能家居设备能够响应的范围保存到每一个智能家居设备。例如,服务器负责的多智能家居设备可包括家居设备A、家居设备B和家居设备C,家居设备A、B和C能够响应的动作可包括xx、yy、zz、hh、ii和jj,其中,家居设备A可响应动作xx、yy,家居设备B可响应动作zz和hh,家居设备C可响应动作jj和ii, 那么可以将家居设备A、B和C能够响应的动作xx、yy、zz、hh、ii和jj分别编号为 num1、num2、num3、num4、num5和num6,编号可以是服务器和智能设备能够识别的各种形式的编号,例如,可以是数字、字母或者数字和字母的组合等。这些编号和每一编号对应的动作内容可以按照每一智能家居设备能够响应的范围(例如,一个智能家居设备能够响应的全部动作)分别将每一智能家居设备能够响应的编号和编号对应的动作内容保存到该智能家居设备。如上面的例子所描述的,可以将指令编号num1、num2以及其对应的动作内容保存到家居设备A,将指令编号num3、num4以及其对应的动作内容保存到家居设备B,将指令编号num5和num6以及其对应的动作内容保存到家居设备C。
在步骤S101中,服务器接收来自用户的对家居设备的控制指令。例如,在本发明的一些实施方式中,用户通过控制器、客户端等编辑的控制指令,其中,控制指令可包括待控制或需要控制的设备ID和对该ID的设备进行控制的指令编号。待控制的家居设备可包括多个,例如,大于或等于2个。
在一些实施方式中,智能家居设备可以分组的形式。相应地,待控制的家居设备ID可以包括分组形式的多个(例如,大于或等于2个)家居设备ID。一个分组可包括多个智能家居设备,可以包括同种类型的多个智能家居设备,例如,可以将位于同一家庭内不同房间的多个灯具作为一个分组;或者,还可以包括不同类型的多个智能家居设备,例如,可以将位于厨房内的燃气灶和油烟机作为一个分组,也可以将同一个房间内的灯具、空调等设备一起作为一个分组。一个控制指令中可包括一个分组,也可以包括多个分组。本发明的实施方式对此不进行限定。
在一些实施方式中,本发明的控制指令可以同时使一组智能家居设备执行同一动作或不同的动作,也就是说,本发明的控制指令中的指令编号对于同一分组设备而言,可以是相同的指令编号,也可以是不同的指令编号。在另外一些实施方式中,本发明的控制指令也可以使多组智能家居设备执行同一动作或者不同的动作。
在一些实施方式中,各个家居设备所要执行的指令编号可以是相同的,例如,如果用户想要同时开启一组灯具(例如,几个不同房间的多个灯具),那么此时需要作出响应的设备是作为一个分组的各个不同房间的多个灯具,需要的响应动作是开启操作,该响应动作对应的指令编号是相同的编号。
在另外一些实施方式中,各个家居设备所要执行的指令编号可以是不同的,例如,如果用户想要同时开启电视和关闭洗衣机,那么此时需要作出响应动作的设备是洗衣机和电视机,其分别对应的响应动作是开启和关闭,相应的响应动作对应的指令编号分别是XX和YY,是不同的指令编号。
在一些实施方式中,控制指令还可包括需要作出的响应的设备所要执行的动作的执行顺序。例如,一个智能家居设备可以执行多个不同动作,这些动作之间具有预定的顺序,例如:[{"执行顺序":1, "设备":"device1",执行动作:operation 1},{"执行顺序":2, "设备":"device1",执行动作:operation 2},.... {"执行顺序":n, "设备":"device1",执行动作:operation n}],其中,n 为正整数,这表示设备device1按照预定顺序执行动作operation 1,operation 2,……operation n。
然后,服务器接收控制器、控制终端或控制客户端发送的控制指令,例如,可包括一个或多个(例如,大于或等于2个)待控制的家居设备ID和所述一个或多个待控制的家居设备所需要执行的一个或多个指令编号。本发明的服务器可负责多个智能家居设备的指令处理,例如,可以是一座楼房内或一层楼房内多个房间内不同智能家居设备的指令处理。本发明实施方式中所描述的智能家居设备的数目以及所需执行的指令的数量并不做限定。
在步骤S102中,服务器将所接收的控制指令发送到多个智能家居设备中的每一智能家居设备,以便每一智能家居设备根据所述控制指令中的待控制的家居设备ID确定自身是否基于所述指令编号作出响应动作。在本发明的实施方式中,服务器向各个智能家居设备发送的控制指令可以仅包括待控制的家居设备ID和指令编号,而且是同时发送给各个智能家居设备。在所要控制的家居设备比较多,需要响应的动作指令较多而且各智能家居设备具有一定数据处理能力的情形下,与现有的将控制指令按照设备ID分别按顺序发送给各设备的方案相比,本发明能够显著减少向各个家居设备的控制指令的发送延迟,而且能够减少服务器的数据处理负担,减少服务器的数据处理耗时。
服务器将控制指令发送到该服务器所负责的多个智能家居设备的每一个智能家居设备,各个智能家居设备接收所述控制指令,根据所述控制指令中的待控制的家居设备ID和自身的设备ID判断自身是否需要执行对所述控制指令作出响应,若是,也就是说,控制指令的待控制的家居设备ID包括该设备的ID,则根据所述控制指令中的指令编号以及自身保存的指令编号对应的动作内容作出响应动作;若否,也就是说,控制指令的待控制的家居设备ID不包括该设备自身的ID,则不作出响应动作,忽略该控制指令的其他部分。
例如,智能家居设备A接收到控制指令command1,该控制指令command1包括待控制的家居设备A、B和指令编号num1、num3,智能家居设备A解析控制指令command1中的待控制的家居设备ID可以确定其中包括智能家居设备A,那么可以确定其自身需要对该控制指令作出响应,然后,进一步解析控制指令command1中的指令编号,可以确定其中包含家居设备A能够响应的指令编号num1,那么可以根据解析出的指令编号以及家居设备A本地预先保存的指令编号和每一编号对应的动作内容确定出该解析出的指令编号对应的动作内容,并执行对应的操作。又例如,服务器所负责的智能家居设备C接收到控制指令command1,解析该控制指令command1,确定其待控制的家居设备为家居设备A、B,而不包含家居设备C,那么会忽略该控制指令中的其他信息,也不会对该控制指令作出响应。
在控制指令包括指令对应的响应动作的执行顺序的情形下,智能家居设备根据控制指令中的执行顺序执行对应的响应动作。
由于智能家居设备本地解析控制指令的时间非常少,并且各个智能家居设备的解析时间基本一致,因此,根据本发明,特别是在使同一类型的多个智能家居设备执行同一响应动作的情形下,能够使得各个智能家居设备的响应动作在时间上保持非常好的一致性。而且,在目前智能家居设备普遍具有一定数据处理能力的情形下,根据本发明,在需要控制的智能家居设备较多而且需要响应的指令也较多时,仅仅使服务器向各个家居设备发送指令编号和设备ID即可,有效地降低了服务器的数据处理压力,而且较好地保证各个家居设备响应动作的一致性。
下面以一种具体的例子说明控制指令的处理过程。
参见图2,步骤S201,对响应动作进行预编码和本地保存。具体而言,可包括:对服务器所负责的所有设备能够响应的动作进行预编码,同时将预编码的指令编号以及指令编号对应的动作按照各个设备能够响应的动作范围在各个设备上本地保存一份。
步骤S202,用户编辑多个设备的控制指令,具体而言,可通过客户端或控制器之类的设备进行控制指令的编辑,该控制指令可包括待控制的多个设备ID以及指令编号。
步骤S203,将控制指令发送至服务器进行待命。服务器接收到控制指令之后,保存到服务器的存储范媛并且等待响应。
步骤S204,服务器向各个设备发送已保存的控制指令。
步骤S205,各设备收到控制指令进行解析,得到控制指令中的待控制的设备ID。
步骤S206,判断解析出的待控制的设备ID是否为自身ID,若是,则执行步骤S207,若否,则执行步骤S208。
步骤S207,执行控制指令中的指令编号对应的动作。具体而言,可根据设备本地保存的能够响应的指令编号和指令编号对应的动作以及所接收的控制指令中的指令编号执行相应的动作。
步骤S208,不作响应。
上面结合具体的例子描述了本发明的用于智能家居设备的控制方法,下面将对于上述控制方法对应的控制系统进行说明。
参见图3,图3是根据本发明一种实施方式的智能家居系统的示意图,该智能家居系统300可包括服务器301和多个智能家居设备302,其中,
所述服务器301,用于接收来自用户的对家居设备的控制指令,其中,所述控制指令包括指令编号和待控制的家居设备ID,以及将所述控制指令发送到所述多个智能家居设备中的每一智能家居设备;
所述多个智能家居设备的每一智能家居设备302,用于根据所接收的控制指令中待控制的家居设备ID确定自身是否基于所述指令编号作出响应动作。
本发明的实施方式中,智能家居系统300中的服务器301和多个智能家居设备302保持通信连接,例如,可通过局域网进行连接。服务器301可以将控制指令通过网络发送给多个(例如,大于或等于2个)智能家居设备302,例如,同一家庭内的诸如智能电视、智能冰箱、智能洗衣机、智能灯具之类的智能家居设备,或者,同一层楼房的多个房间内的智能电视、智能灯具等智能家居设备。
需要说明的是,虽然图3所示的智能家居系统300中包括4个智能家居设备,但其仅是用于示例性说明。在其他的实施方式中,智能家居设备的数量还是可以是2个、3个、5个、7个、8个或者更多个。本发明实施方式对智能家居设备的数量不做任何限定。
在本发明的一些实施方式中,服务器301还可在接收用户的控制指令之前,预先对其所负责的多个智能家居设备能够响应的动作进行预先编号,具体而言,可包括:将所述多个智能家居设备能够响应的各个动作进行预先编码,并将预先编码得到的每一响应动作的编号以及每一编号对应的动作内容按照每一智能家居设备能够响应的范围保存到每一个智能家居设备。其具体的实施方式,可参见上文的描述。
在本发明的一些实施方式中,控制指令中的待控制的家居设备ID可包括分组形式的多个家居设备ID。在一个控制指令中可包括一个分组,也可包括多个分组。本发明实施方式对此不作限定。关于分组的具体实现方式,可参见上文的描述。
在本发明的另外一些实施方式中,控制指令还可包括指令对应的响应动作的执行顺序。
在本发明的一些实施方式中,所述每一智能家居设备根据所述控制指令中的待控制的家居设备ID确定自身是否基于所述指令编号作出响应动作,可包括:
每一智能家居设备接收所述控制指令,根据所述控制指令中的待控制的家居设备ID和自身的设备ID判断自身是否需要对所述控制指令作出响应,若是,则根据所述控制指令中的指令编号以及自身保存的指令编号对应的动作内容作出响应动作,若否,则不作出响应动作。
需要说明的是,本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,终端或单元的间接耦合或通信连接,可以是电气,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理地包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。