一种智能设备语音控制系统及方法与流程
本发明属于智能设备控制技术领域,具体是一种智能设备语音控制系统及方法。
背景技术:
随着物联网技术的快速发展以及语音识别技术的应用,越来越多的智能设备可以通过语音进行控制。目前来说,如图10所示,现在的智能设备语音控制系统的控制过程较为复杂,首先,需要通过网络将语音指令发送到专门的语音服务器进行语音指令的识别,然后将识别结果发送到控制服务器,通过控制服务器对智能设备进行控制。具体的控制流程是:语音控制器将语音指令上传到语音服务器,语音服务器对语音指令进行识别后将解析出的控制指令发送给控制服务器,控制服务器根据收到的控制指令,以及智能设备对应的控制协议,生成协议指令发送给智能设备;语音服务器的作用仅仅是对语音指令的识别和理解,不存储与智能设备有关的任何信息,控制服务器的作用是对设备的远程控制。
以上控制方法存在的问题:首先,控制指令在广域网中的传输路径过长,一旦其中一条通讯链路发生堵塞或者故障都会影响控制的效果,比如:语音服务器与控制服务器之间或者控制服务器与智能设备之间无法建立通讯连接;其次,控制服务器接入的智能设备数目过多也会造成服务器超载而无法正常工作。
技术实现要素:
本发明的目的在于如何解决现有技术中智能设备语音控制方式复杂,通讯链路过长,链路发生堵塞或故障会影响系统的控制效果,以及控制服务器接入的智能设备过多时会造成服务器超载而无法正常工作的问题。
本发明是通过以下技术方案解决上述技术问题的:
一种智能设备语音控制系统,包括:语音控制器、语音服务器、智能网关、控制服务器、多个智能设备;所述的语音控制器用于接收语音指令,同时将语音指令发送给语音服务器,并根据返回的智能设备唯一标识以及控制指令生成协议指令,然后将协议指令发送到智能网关;所述的语音服务器用于对语音指令进行识别,解析出控制信息,判断需要控制的智能设备唯一标识,将智能设备唯一标识以及控制指令返回到语音控制器;所述的智能网关用于接收并解析协议指令中包含的智能设备唯一标识,然后将接收到的协议指令发送到对应的智能设备;控制服务器用于建立智能设备与语音控制器之间的关联关系,包括建立智能网关与智能设备之间以及智能网关与语音控制器之间的绑定关系,同时将绑定关系同步到语音服务器;所述的智能设备用于执行协议指令中包含的控制动作。
一种智能设备语音控制系统,还包括以下控制流程:所述的语音控制器将语音指令上传到语音服务器,所述的语音服务器存储有与语音控制器绑定/关联的智能网关以及智能设备的信息,语音服务器对语音指令进行识别并解析出控制指令以后,将控制指令以及对应的智能设备唯一标识发送给语音控制器,语音控制器根据接收到的信息生成协议指令发送给智能网关,智能网关再把协议指令转发给智能设备。
以上控制系统及流程解决了现有技术中智能设备语音控制方法中存在的诸多问题,首先:只有语音识别需要依赖外部网络,而设备控制不依赖外部网络,因此,对外部网络环境的依赖程度降低;其次,通过存在于同一个局域网/内网下面的智能网关来控制智能设备,降低了从用户发出语音指令请求到设备响应的时间,语音控制设备速度快,用户体验提高。
作为本发明技术方案的进一步改进,所述的智能设备与语音控制器建立关联关系的方法为:
步骤101:控制服务器将智能网关与语音控制器之间的绑定关系发送给与语音控制器对应的语音服务器;
步骤102:控制服务器将智能网关与智能设备之间的绑定关系发送到与智能网关绑定的语音控制器对应的语音服务器;
步骤103:语音服务器根据接收到的智能网关与语音控制器以及智能网关与智能设备的绑定关系,建立智能设备与语音控制器的关联关系。
作为本发明技术方案的进一步改进,所述的智能网关的数量为多个,多个所述的智能网关分别接收并解析协议指令中包含的智能设备唯一标识,然后将接收到的协议指令发送到对应的智能设备;所述的控制服务器的数量为多个,多个所述的控制服务器分别对应的建立多个所述的智能网关与智能设备之间以及多个所述的智能网关与语音控制器之间的绑定关系,同时将绑定关系同步到语音服务器。
一种应用于所述的智能设备语音控制系统的方法,包括以下步骤:
步骤110:语音控制器发送语音指令的识别请求到语音服务器;所述语音指令为语音控制器接收到的对智能设备进行控制的语音信号;
步骤120:语音服务器基于接收到的语音指令中包含的控制信息,判断需要控制的智能设备唯一标识,将控制指令、智能设备唯一标识以及智能网关信息返回到语音控制器;
步骤130:语音控制器基于返回的智能设备唯一标识以及控制指令生成协议指令,然后将协议指令发送到与设备绑定的智能网关;
步骤140:智能网关解析出接收到的协议指令中包含的智能设备唯一标识,将接收到的协议指令发送到对应的智能设备。
作为本发明技术方案的进一步改进,在所述的语音控制器发送语音指令的识别请求到语音服务器之前还包括:语音控制器向语音服务器发送连接请求,语音控制器将mac地址和身份标识发送给语音服务器,以供所述语音服务器校验所述信息与预先存储的信息是否一致,若一致,则连接成功。
作为本发明技术方案的进一步改进,所述的语音服务器基于接收到的语音指令中包含的控制信息,判断需要控制的智能设备唯一标识,具体包括:
步骤121:语音服务器对接收到的语音指令进行语音信号的识别和语义信息的抽取,提取出语音指令中包含的控制信息;
步骤122:语音服务器根据语音控制器身份标识,获取与语音控制器关联的智能设备信息;
步骤123:基于所述控制信息中包含的智能设备名称和属性以及所述与语音控制器关联的智能设备信息,判断需要控制的智能设备唯一标识以及与设备绑定的智能网关信息。
作为本发明技术方案的进一步改进,在所述的语音控制器基于返回的智能设备唯一标识以及控制指令生成协议指令,然后将协议指令发送到与设备绑定的智能网关之前还包括:语音控制器向智能网关发送连接请求,语音控制器将自身的mac地址和身份标识发送给智能网关,智能网关将接收到的信息上报至控制服务器,以供所述控制服务器校验所述信息与预先存储的信息是否一致,若一致,则建立智能网关与语音控制器之间的绑定关系,智能网关存储语音控制器身份标识完成绑定。
作为本发明技术方案的进一步改进,在所述的智能网关解析出接收到的协议指令中包含的智能设备唯一标识,将接收到的协议指令发送到对应的智能设备之前还包括:智能设备向智能网关发送连接请求,智能设备将自身的mac地址和唯一标识发送给智能网关,智能网关将接收到的信息上报至控制服务器,以供所述控制服务器校验所述信息与预先存储的信息是否一致,若一致,则建立智能网关与智能设备之间的绑定关系,智能网关存储智能设备唯一标识完成绑定。
作为本发明技术方案的进一步改进,所述的语音控制器采用https协议与语音服务器建立数据传输通道,并对传输的数据进行加密。
作为本发明技术方案的进一步改进,智能网关与控制服务器之间、智能网关与语音控制器以及智能网关与智能设备之间传输数据采用mqtt协议以及aes加密算法对传递的数据进行加密。
本发明还包括:一种存储有实现所述的智能设备语音控制系统的方法的计算机程序的非暂态计算机可读存储介质,其特征在于,所述的计算机程序被处理器执行时实现所述的智能设备语音控制系统的方法的步骤。
本发明的优点在于:
(1)对智能设备的语音控制不需要依赖控制服务器,降低了对控制服务器的依赖程度;只有语音指令的识别需要依赖外部网络,而设备控制不依赖外部网络,因此,对外部网络环境的依赖程度降低,从语音指令请求到设备响应的时间大幅降低,语音控制设备速度快,用户体验提高。
(2)语音控制器与智能网关以及智能网关与智能设备之间也是通过家庭路由器或者局域网进行通讯,智能网关充当家庭路由器的角色。
(3)智能网关与其它设备之间的数据报文采用的是mqtt消息队列遥测传输协议,协议简单,报头小,对带宽以及计算量的要求不高,适合物联网、小型设备,同时具备消息确认机制,确保了消息的送达。
(4)通过智能网关与语音控制器通信连接,解决了设备控制服务器与智能设备无法建立连接而导致的远程控制失败的问题。
(5)通过智能网关与智能设备通信连接,解决了设备控制服务器连接数量过多而导致的服务器无法响应的问题。
(6)通过采用消息队列遥测协议,解决了小型物联网设备对控制指令响应速度慢的问题。
附图说明
图1是本发明提供的一种智能设备语音控制系统的示意图;
图2是本发明提供的一种智能设备语音控制系统的结构框图;
图3是本发明提供的一种智能设备语音控制系统的控制原理图;
图4是本发明提供的一种智能设备语音控制系统的扩展实施示意图;
图5是本发明提供的一种智能设备语音控制方法的流程示意图;
图6是本发明提供的一种智能设备语音控制方法的语音服务器判断智能设备唯一标识的方法流程示意图;
图7是本发明提供的一种智能设备语音控制方法的语音控制器与智能设备建立关联的方法流程示意图;
图8是本发明提供的一种智能设备语音控制方法的语音控制器与智能网关绑定的方法示意图;
图9是本发明提供的一种智能设备语音控制方法的智能设备与智能网关绑定的方法示意图;
图10是现有技术中的智能设备控制方法的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合说明书附图以及具体的实施例对本发明的技术方案作进一步描述:
如图1所示,一种智能设备语音控制系统,包括:语音控制器、语音服务器、智能网关、多个智能设备;所述的语音控制器用于接收语音指令,同时将语音指令发送给语音服务器,并根据返回的智能设备唯一标识以及控制指令生成协议指令,然后将协议指令发送到智能网关;所述的语音服务器用于对语音指令进行识别,解析出控制信息,判断需要控制的智能设备唯一标识,将智能设备唯一标识以及控制指令返回到语音控制器;所述的智能网关用于接收并解析协议指令中包含的智能设备唯一标识,然后将接收到的协议指令发送到对应的智能设备;所述的智能设备用于执行协议指令中包含的控制动作。
如图2和图3所示,所述的智能设备语音控制系统还包括控制服务器,控制服务器用于建立智能设备与语音控制器之间的关联关系,包括建立智能网关与智能设备之间以及智能网关与语音控制器之间的绑定关系,同时将绑定关系同步到语音服务器。
如图4所示,所述的智能网关的数量为多个,多个所述的智能网关分别接收并解析协议指令中包含的智能设备唯一标识,然后将接收到的协议指令发送到对应的智能设备;所述的控制服务器的数量为多个,多个所述的控制服务器分别对应的建立多个所述的智能网关与智能设备之间以及多个所述的智能网关与语音控制器之间的绑定关系,同时将绑定关系同步到语音服务器。
如图5所示,智能设备语音控制方法的流程包括以下步骤:
步骤110:语音控制器发送语音指令的识别请求到语音服务器;所述语音指令为语音控制器接收到的对智能设备进行控制的语音信号;
本发明实施例中,所述语音控制器具备远场语音采集功能,用于对智能设备的远距离语音控制(几米范围内),一般会采用麦克风阵列以及相关的降噪,回声消除以及声源定位等技术对采集到的语音信号进行识别前的处理,提高语音识别的准确性;语音控制器将采集并处理过的语音信号压缩之后通过网络上传到专门的语音服务器,通过语音识别算法对语音信号进行识别,然后通过语义理解的算法解析出控制意图,将语音指令转换为具体的控制指令。其中,语音识别的算法可以是基于神经网络的算法,本发明对语音识别的具体算法不作限定;其中,语义理解的算法可以是基于信息抽取的方法,本发明对语义理解的具体算法不作限定。
所述语音控制器发送语音指令的识别请求到语音服务器之前还包括:
语音控制器向语音服务器发送连接请求,语音控制器将mac地址和身份标识发送给语音服务器,以供所述语音服务器校验所述信息与预先存储的信息是否一致,若一致,则连接成功。
作为本发明的一个实施例,语音控制器可以是智能音箱,语音控制器使用之前需要先激活,具体地,语音控制器通过近距离无线通信技术,比如:蓝牙,与手机app通讯连接,通过手机app发送家庭无线网络的用户名和密码给语音控制器,以供控制器联网;语音控制器联网成功以后,向语音服务器发送连接请求,将控制器的身份标识通过加密算法加密成密文发送给语音服务器;语音服务器通过接收到的控制器相关的信息,比如:控制器的品牌、型号、mac地址等,来判断对控制器发送的密文解密的秘钥,通过预先存储的秘钥解密密文获取控制器的身份标识;语音服务器将接收到的控制器mac地址以及解密后获取的控制器身份标识与预先存储的信息进行校对,若一致,则建立连接。
步骤120:语音服务器基于接收到的语音指令中包含的控制信息,判断需要控制的智能设备唯一标识,将控制指令、智能设备唯一标识以及智能网关信息返回到语音控制器;
所述语音服务器基于接收到的语音指令中包含的控制信息,判断需要控制的智能设备唯一标识具体包括:
步骤121:语音服务器对接收到的语音指令进行语音信号的识别和语义信息的抽取,提取出语音指令中包含的控制信息;
步骤122:语音服务器根据语音控制器身份标识,获取与语音控制器关联的智能设备信息;
步骤123:基于所述控制信息中包含的智能设备名称和属性以及所述与语音控制器关联的智能设备信息,判断需要控制的智能设备唯一标识以及与设备绑定的智能网关信息。
本发明实施例中,所述控制信息包含:智能设备名称以及属性,控制类别以及控制动作,比如:语音服务器接收到的语音指令是“打开卧室空调”,那么,“空调”对应的是设备名称,“卧室”对应的是设备属性,设备属性用于区别同类别的设备,设备名称也可以是自定义的名称,比如:“小飞”,设备属性也可以是设备的序号或者品牌,比如:“1号灯”,“海尔空调”等,本发明对智能设备的名称以及属性的定义范围不作限定。
本发明实施例中,语音服务器存储了与语音控制器关联的智能设备信息,所述智能设备信息包括:与智能设备绑定的智能网关的信息,智能设备唯一标识,智能设备的名称以及属性。其中,所述智能设备唯一标识是设备生产时烧录的设备标识,用来区别不同的设备,具有唯一性。语音服务器根据语音控制器身份标识获取与控制器关联的智能设备信息,根据步骤121中的所述控制信息,判断需要控制的智能设备唯一标识,比如“卧室空调”对应的设备唯一标识。其中,智能设备的名称以及属性与智能设备唯一标识的对应关系可以通过智能设备的app来完成的,也可以通过语音控制器的app来完成设定,在此不做赘述。
在上述实施例中,当与语音控制器绑定的智能网关为多个时,从语音服务器返回的信息除了智能设备唯一标识,还包括与智能设备绑定的智能网关的信息,所述智能网关的信息包括智能网关的mac地址。
在本发明的实施例中,当语音服务器完成了上述步骤101至103所述的语音控制器与智能设备关联的动作以后,语音服务器将关联数据下发到语音控制器;因此,语音控制器存储有与它绑定/关联的智能网关/智能设备的信息。
步骤130,语音控制器基于返回的智能设备唯一标识以及控制指令生成协议指令,然后将协议指令发送到与设备绑定的智能网关;
本发明实施例中,语音控制器与语音服务器之间传输数据采用https协议,而语音控制器与智能网关之间传输数据采用mqtt协议,因此,语音控制器接收到从语音服务器返回的智能设备唯一标识以及控制指令以后,需要将接收到的数据转换为mqtt协议的形式,然后再发送给智能网关。同时,当与语音控制器绑定的智能网关为多个时,语音控制器需要判断将控制指令转发给哪一个智能网关,具体地,可以通过从语音服务器返回的与智能设备绑定的智能网关信息来判断。
步骤140,智能网关解析出接收到的协议指令中包含的智能设备唯一标识,将接收到的协议指令发送到对应的智能设备。
本发明实施例中,语音控制器向智能网关发送的数据以及智能网关向智能设备发送的数据都是经过加密算法加密的数据;智能网关上存储有与它绑定的控制器信息,包括:控制器mac地址,身份标识以及解密秘钥;智能网关对接收到的协议指令通过预先存储的秘钥解密后,获取需要控制的设备唯一标识;智能网关同时存储有与它绑定的智能设备信息,包括:智能设备mac地址,唯一标识以及加密秘钥;智能网关根据预先存储的智能设备的秘钥将协议指令重新加密以后发送给智能设备;智能设备对智能网关发送的数据进行解密,获取其中的协议指令并执行对应的控制操作;同时,智能设备将协议指令的执行结果返回到智能网关,以供智能网关将设备的运行状态同步到设备控制服务器。
如图7所示,本发明提供的所述智能设备与语音控制器建立关联关系的方法,包括:
步骤101,控制服务器将智能网关与语音控制器之间的绑定关系发送给与语音控制器对应的语音服务器;
步骤102,控制服务器将智能网关与智能设备之间的绑定关系发送到与智能网关绑定的语音控制器对应的语音服务器;
步骤103,语音服务器根据接收到的智能网关与语音控制器以及智能设备之间的绑定关系,建立智能设备与语音控制器的关联关系。
如图8所示,本发明实施例提供的智能网关与语音控制器绑定的方法示意图,具体包括:语音控制器向智能网关发送连接请求,语音控制器将自身的mac地址和身份标识发送给智能网关,智能网关将接收到的信息上报至控制服务器,以供所述控制服务器校验所述信息与预先存储的信息是否一致,若一致,则建立智能网关与语音控制器之间的绑定关系,智能网关存储语音控制器身份标识完成绑定。
进一步地,控制服务器预先存储了语音控制器信息,包括:语音控制器mac地址、身份标识以及用于对控制器发送的数据解密的秘钥。
本发明实施例中,语音控制器发送连接请求数据包含了语音控制器的类型以及型号,比如:飞尔音箱x1,也可以包括设备mac地址,以上信息是明文传输,用于接收方来判断对加密数据解密的秘钥。语音控制器发送给智能网关的身份标识是加密的,智能网关如果没有预先存储与语音控制器对应的解密秘钥,则将接收到的加密信息发送到控制服务器。在此说明一下,智能网关向控制服务器发送的数据也是需要加密的,特别地,智能网关将从语音控制器接收到的信息利用智能网关的加密算法加密成密文以后上报到控制服务器;控制服务器对接收到的加密数据解密以后,验证语音控制器mac地址以及身份标识之间的对应关系是否与预先存储的信息一致,若一致,则建立智能网关与语音控制器之间的绑定关系,同时,控制服务器将绑定信息返回给智能网关,智能网关存储语音控制器信息完成绑定。
如图9所示,本发明实施例提供的智能网关与智能设备绑定的方法示意图,具体包括:智能设备向智能网关发送连接请求,智能设备将自身的mac地址和唯一标识发送给智能网关,智能网关将接收到的信息上报至控制服务器,以供所述控制服务器校验所述信息与预先存储的信息是否一致,若一致,则建立智能网关与智能设备之间的绑定关系,智能网关存储智能设备信息完成绑定。
进一步地,控制服务器预先存储了智能设备的信息,包括:智能设备mac地址、唯一标识和用于对智能设备发送的数据解密的秘钥。
本发明实施例中,智能设备发送连接请求数据中包含了智能设备的类型和型号,比如:海尔空调s1,以上信息是明文传输,用于接收方来判断需要对加密数据解密的秘钥。控制服务器对接收到的智能设备发送的加密数据用预先存储的秘钥解密之后,验证接收到的智能设备mac地址和唯一标识与预先存储的信息是否一致,若一致,则建立智能设备与智能网关之间的绑定关系,同时将智能设备的信息返回到智能网关。
在此说明一下,智能设备对应的秘钥可以根据不同的mac地址设定不同的秘钥;考虑到秘钥数量过多而不方便进行秘钥的管理,也可以根据不同的设备类型和型号设定不同的秘钥;或者根据产品的序列号来设定秘钥,具体地,特定范围内的产品序列号使用同一个秘钥。
进一步地,本发明提供的方法,其特征在于,所述语音控制器采用https协议与语音服务器建立数据传输通道,并对传输的数据进行加密。
本发明实施例中,https协议是由http加上ssl协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称秘钥等技术完成互联网数据传输加密,实现互联网传输安全保护。
本发明实施例中,语音控制器向语音服务器发送的语音指令包含了语音信号;考虑到语音信号数据包较大,而非对称加密的算法速度过慢,因此,对语音信号采用对称加密的算法进行加密,本发明对语音信号的加密算法不作限定;语音服务器可以预先存储对语音信号解密的秘钥,也可以通过语音控制器发送秘钥,本发明对此不作限定;当通过语音控制器发送对语音信号解密的秘钥时,采用非对称加密算法,比如rsa算法,对秘钥加密之后再传输,以保证秘钥的安全性,在此对具体步骤不作赘述。
进一步地,本发明提供的方法,其特征在于,智能网关与控制服务器之间、智能网关与语音控制器以及智能网关与智能设备之间传输数据采用mqtt协议以及aes加密算法对传递的数据进行加密。
在本发明实施例中,智能网关与控制服务器之间、智能网关与语音控制器以及智能网关与智能设备之间传输数据采用mqtt协议传输数据;mqtt(messagequeuingtelemetrytransport,消息队列遥测传输)是一个即时通讯、消息传输协议。协议简单,轻便,对带宽以及计算量的要求不高,适合物联网、小型设备;mqtt默认采用tcp/ip协议提供网络连接。由于mqtt协议具有连接保持机制,也即是心跳请求和心跳响应,能够维持智能网关与智能设备之间的长连接;因此,智能网关不仅能向智能设备发送协议指令,同时,智能设备也能实时的将设备的运行状态上报到智能网关以及控制服务器,便于控制服务器对智能设备进行远程管理和控制。
在本发明实施例中,智能网关与控制服务器之间、智能网关与语音控制器以及智能网关与智能设备之间传输数据采用aes加密算法对传递的数据进行加密;aes代表“高级加密系统”,是应用最广泛,速度更快的对称加密算法,对称加密算法在加密和解密时使用的是同一个秘钥;智能网关存储有语音控制器的秘钥,同时也存储有智能设备的秘钥;当智能网关向智能设备发送协议指令时,利用智能设备的秘钥对协议指令数据加密以后传输,智能设备接收到密文以后,利用自己的秘钥解密密文获取协议指令。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除