一种智能音箱的配网方法及智能音箱与流程

文档序号:21084844发布日期:2020-06-12 16:49阅读:2622来源:国知局
一种智能音箱的配网方法及智能音箱与流程

本申请涉及音箱配网技术领域,特别涉及一种智能音箱的配网方法及智能音箱。



背景技术:

目前市面上的智能音箱越来越来多,用户群体也越来越大。智能音箱最主要的依赖就是网络,且必须是无线网络。所以给智能音箱配置网络也成为了智能音箱最重要功能。

智能音箱配置网络,需要使用手机app,通过蓝牙的ble模式与音箱建立连接,将要连接wifi的信息传递给音箱,音箱使用wifi信息连接网络。配置网络时会有三种用户场景:1.当前手机已连接wifi,配网app自动填充手机连接的wifi名字,用户输入此wifi密码,手机将wifi的信息传递给音箱;2.当前手机已连接wifi,但用户不需要音箱连接此wifi,用户需选择其他wifi,最后将选择的wifi的信息传递给音箱3.当前手机未连接wifi,此时用户同样需要选择wifi,给音箱配置网络。

前两种情况在启动配网功能前,手机必须连接一个wifi,且只能给音箱配置此wifi。而第三种情况下音箱虽然支持用户可以选择wifi,音箱需要给手机传递音箱可以连接的wifi列表。但由于传输wifi列表数据量很多,当前智能音箱配网方案对ble通讯默认的传输数据大小有限制,所以无法获取wifi列表。只能给音箱配置当前连接的wifi,导致智能音箱无法在实现用户自由选择音箱连接的wifi,用户体验非常差。



技术实现要素:

本申请的目的在于提供一种智能音箱的配网方法及智能音箱,以解决智能音箱无法在实现用户自由选择音箱连接的wifi,用户体验非常差的问题。

第一方面,本申请实施例提供一种智能音箱,包括:

声音输出模块,用于输出从终端获取的声音信号;

通信器,用于与所述终端建立连接状态;

与所述声音输入模块和所述通信器连接的控制器,用于执行:

发送获取最大传输单元的请求至终端;

接收所述终端发送的获取wifi列表请求;

如果未接收到所述终端回复的最大传输单元,获取预设范围内可用的wifi信息,根据所述wifi信息建立wifi列表;

以wifi列表传输数据队列中的第一个数据大小传输所述wifi列表的数据至所述终端;

如果接收到所述终端发送的丢包消息,以wifi列表传输数据队列中的下一个数据大小传输wifi列表的数据至所述终端,直至接收到所述终端发送的未丢包消息或遍历所述wifi列表传输数据队列后未接收到所述终端发送的未丢包消息;

如果接收到所述终端发送的未丢包消息,接收用户选中wifi的服务集标识和密码;

根据所述服务集标识和密码连接无线网络。

第二方面,本申请实施例提供一种智能音箱的配网方法,应用于智能音箱,包括:

发送获取最大传输单元的请求至终端;

接收所述终端发送的获取wifi列表请求;

如果未接收到所述终端回复的最大传输单元,获取预设范围内可用的wifi信息,根据所述wifi信息建立wifi列表;

以wifi列表传输数据队列中的第一个数据大小传输所述wifi列表的数据至所述终端;

如果接收到所述终端发送的丢包消息,以wifi列表传输数据队列中的下一个数据大小传输wifi列表的数据至所述终端,直至接收到所述终端发送的未丢包消息或遍历所述wifi列表传输数据队列仍未接收到所述终端发送的未丢包消息;

如果接收到所述终端发送的未丢包消息,接收用户选中wifi的服务集标识和密码;

根据所述服务集标识和密码连接无线网络。

由以上技术方案可知,智能音箱在与终端连接成功后,发送获取最大传输单元的请求至终端;如果未接收到终端回复的最大传输单元,建立wifi列表;利用wifi列表传输数据队列中的数据大小按照顺序传输wifi列表的数据至终端,直至终端发送的未丢包消息。智能音箱接收用户选中wifi的服务集标识和密码;根据所述服务集标识和密码连接无线网络。本申请在配网过程中,在未获取终端的mtu情况时,可避免使用默认最大传输单元传输数据,兼容不同系统的设备以实现获取wifi列表,能够实现用户自由配置网络,无需终端提前连接wifi或智能连接终端连接的wifi,增强用户体验。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a中示例性示出了智能音箱与终端之间操作场景的示意图;

图1b中示例性示出了图1a中智能音箱200的配置框图;

图2a为根据本申请实施例示出的一种智能音箱的配网方法的流程图;

图2b为根据本申请实施例示出的ble_wifi自适应传输算法的流程图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。以下结合附图,详细说明本申请各实施例提供的技术方案。

图1a中示例性示出了智能音箱与终端之间操作场景的示意图。如图1a所示,终端100和智能音箱200之间可以通过无线方式进行通信。

其中,终端100被配置为控制智能音箱200,其可接收用户输入的操作指令,且将操作指令转换为智能音箱200可识别和响应的指令,起着用户与智能音箱200之间交互的中介作用。如:用户通过操作终端100上声音加减键,智能音箱200响应声音加减的操作。

终端100也可以是智能设备,如移动终端、平板电脑、计算机、笔记本电脑等。例如,使用在智能设备上运行的应用程序控制智能音箱200。该应用程序通过配置可以在与智能设备关联的屏幕上,通过直观的用户界面(ui)为用户提供各种控制。

图1b中示例性示出了智能音箱200的配置框图。如图1b所示,智能音箱200包括控制器210、通信器220、声音输出模块230、供电电源240。

控制器210包括随机存取存储器(ram)211、只读存储器(rom)212、处理器213、通信接口以及通信总线。控制器210用于控制智能音箱200的运行和操作,以及内部各部件之间的通信协作、外部和内部的数据处理功能。

通信器220在控制器210的控制下,实现与终端100之间数据信号的通信。如:智能音箱200经由通信器220将数据信号发送至终端100上,智能音箱200可经由通信器220接收由终端100发送的数据信号和控制信号。通信器220可以包括wifi模块221、蓝牙通信协议模块222、有线以太网通信协议模块223等网络通信协议模块或近场通信协议模块,从而通信器220可根据控制器210的控制接收终端100的控制信号,并将控制信号实现为wifi信号、蓝牙信号、射频信号等。

声音输出模块230,用于输出声音信号,具体是在控制器210的控制下播放用户指定的声音。

可选地,智能音箱200还包括供电电源240,用于在控制器210的控制下为智能音箱200各元件提供运行电力支持。形式可以为电池及相关控制电路。

参阅图2a,本申请实施例提供一种智能音箱的配网方法,包括:

智能音箱启动配网;

终端启动配网界面,搜索到智能音箱蓝牙,发起与智能音箱的连接;

其中,终端可以为手机,电脑和ipad。

智能音箱与终端连接成功后,其他终端无法与智能音箱连接;

智能音箱发送获取最大传输单元的请求至终端;

终端接收到智能音箱发送的请求后,响应获取最大传输单元的请求。

终端可能会回复给智能音箱最大传输单元的限制大小,也可能不会回复给智能音箱最大传输单元的限制大小。

例如,andorid系统中,在使用蓝牙(ble)传输数据前,可以获取到此andorid设备最大传输单元(maximumtransmissionunit,mtu)的限制,一般为512字节。而对于部分终端和系统则不会回复给智能音箱最大传输单元的限制大小。

用户在终端上点击获取wifi列表的按钮,终端发送获取wifi列表的请求;

智能音箱接收终端发送的获取wifi列表请求,根据终端是否回复最大传输单元决定传输方式。

如果智能音箱未接收到终端回复的最大传输单元限制,现有方式通常是采用ble传输默认传输大小传输,ble传输默认传输大小为23字节。而使用默认mtu传递数据时,获取wifi列表耗时非常长,所以不可能使用默认的mtu去获取wifi列表,从而导致用户无法选择wifi。针对终端不回复最大传输单元的情况,本申请使用一种ble_wifi自适应传输算法去传输wifi列表数据,并且可以满足wifi列表的获取速度。具体方法如下:

参阅图2b,图2b是ble_wifi自适应传输算法的流程图。

智能音箱未接收到终端回复的最大传输单元限制时,获取预设范围内可用的wifi信息;

根据wifi信息建立wifi列表;

计算wifi列表的数据大小,并以ble默认传输大小传输所述wifi列表的数据大小至终端。

终端接收并记录以ble默认传输大小传输wifi列表的数据大小。

例如:智能音箱计算得到wifi列表的数据大小,即未传输到终端前wifi列表的数据大小为1000字节,以23字节传输大小将1000字节这一数据传输给终端。

如果wifi列表的数据大小小于预设字节,预设字节可以是512字节,以wifi列表传输数据队列中的第一个正向数据大小传输wifi列表的数据至终端,wifi列表传输数据队列包括由小到大排列的数据大小。

其中,wifi列表传输数据队列可以是{70,134,262,518},单位为字节。wifi列表传输数据队列的数值代表着一次传输的数据包大小。根据ble传输包的结构,每个传输包由包头(2字节),负载,包尾(4字节)构成,所以队列数据构成为:前2字节为包头,有效数据负载分别为64、128、256、512字节,后4字节为包尾,构成了wifi列表传输数据队列为{70,134,262,518}。

终端持续收取智能音箱发送wifi列表的数据,直至收到结束标志;计算接收到的wifi列表的数据大小;如果智能音箱传输的wifi列表的数据大小与终端计算的wifi列表的数据大小不一致,发送丢包消息至智能音箱;如果智能音箱传输的wifi列表的数据大小与终端计算的wifi列表的数据大小一致,显示wifi列表中的wifi名称并发送未丢包消息至智能音箱。用户查看wifi列表中的可用wifi后,选择列表中的任意wifi,输入该wifi对应的密码,终端发送用户选择wifi的服务集标识和密码至智能音箱。

如果智能音箱接收到终端发送的丢包消息,判断该传输数据大小是否是wifi列表传输数据队列的最后一个值;

其中,wifi列表传输数据队列的最后一个值根据wifi列表传输数据队列的方向判定。wifi列表传输数据队列具体为{70,134,262,518},因为开始以正向第一个数据大小70字节传输,那么最后一个值为正向最后一个值518字节。

如果该传输数据大小不是wifi列表传输数据队列的最后一个值,以wifi列表传输数据队列中的下一个正向数据大小重新传输wifi列表的数据至终端。

如果该传输数据大小是wifi列表传输数据队列的最后一个值,发送wifi列表获取失败的消息至终端。

如果智能音箱接收到终端发送的未丢包消息,接收用户选中wifi的服务集标识和密码。使用接收到的服务集标识和密码连接无线网络;连接成功后,上报联网成功的状态至终端。

终端进入首页展示媒体资源等。

例如:wifi列表传输数据队列具体为{70,134,262,518},智能音箱传输给终端wifi列表的数据大小为500字节,智能终端先以70字节传输大小传输wifi列表的数据至终端。如果终端接收到传输的全部数据并计算出接收到的数据大小为500字节,智能音箱传输给终端wifi列表的数据大小与终端计算的数据大小一致,终端发送未丢包消息至智能音箱,智能音箱接收用户选中wifi的服务集标识和密码。使用接收到的服务集标识和密码连接无线网络;连接成功后,上报联网成功的状态至终端。终端进入首页展示媒体资源。如果终端接收到传输的全部数据并计算接收到的数据大小为490字节,智能音箱传输给终端wifi列表的数据大小与终端计算的数据大小不一致,终端发送丢包消息至智能音箱。由于70不是wifi列表传输数据队列的最后一个数据大小,智能音箱以134字节传输大小重新传输wifi列表的数据至终端直至接收到终端发送的未丢包消息,或者,以wifi列表传输数据队列的最后一个数据大小518字节重新传输数据列表的数据至终端后,仍未收到终端发送的未丢包消息,智能终端发送wifi列表获取失败的消息至终端,终端显示配网失败的消息,用户可重新尝试配网。

如果wifi列表的数据大小不小于预设字节,预设字节可以是512字节,以wifi列表传输数据队列中的第一个反向数据大小传输wifi列表的数据至终端。

其中,wifi列表传输数据队列可以是{70,134,262,518},单位为字节。wifi列表传输数据队列的数值代表着一次传输的数据包大小。根据ble传输包的结构,每个传输包由包头(2字节),负载,包尾(4字节)构成,所以队列数据构成为:前2字节为包头,有效数据负载分别为64、128、256、512字节,后4字节为包尾,构成了wifi列表传输数据队列为{70,134,262,518}。

终端持续收取智能音箱发送wifi列表的数据,直至收到结束标志;计算接收到的wifi列表的数据大小;如果智能音箱传输的wifi列表的数据大小与终端计算的wifi列表的数据大小不一致,发送丢包消息至智能音箱;如果智能音箱传输的wifi列表的数据大小与终端计算的wifi列表的数据大小一致,显示wifi列表中的wifi名称并发送未丢包消息至智能音箱。用户查看wifi列表中的可用wifi后,选择列表中的任意wifi,输入该wifi对应的密码,终端发送用户选择wifi的服务集标识和密码至智能音箱。

如果智能音箱接收到终端发送的丢包消息,判断该传输数据大小是否是wifi列表传输数据队列的最后一个值;

其中,wifi列表传输数据队列的最后一个值根据wifi列表传输数据队列的方向判定。wifi列表传输数据队列可以是{70,134,262,518},因为开始以反向第一个数据大小518字节传输,那么最后一个值为反向最后一个值70字节。

如果该传输数据大小不是wifi列表传输数据队列的最后一个值,以wifi列表传输数据队列中的下一个反向数据大小重新传输wifi列表的数据至终端。

如果该传输数据大小是wifi列表传输数据队列的最后一个值,发送wifi列表获取失败的消息至终端。

如果智能音箱接收到终端发送的未丢包消息,接收用户选中wifi的服务集标识和密码。使用接收到的服务集标识和密码连接无线网络;连接成功后,上报联网成功的状态至终端。

终端进入首页展示媒体资源等。

例如:wifi列表传输数据队列可以是{70,134,262,518},智能音箱传输给终端wifi列表的数据大小为3000字节,智能终端先以518字节传输大小传输wifi列表的数据至终端。如果终端接收到传输的全部数据并计算数据大小为3000字节,智能音箱传输给终端wifi列表的数据大小与终端计算的数据大小一致,终端发送未丢包消息至智能音箱,智能音箱接收用户选中wifi的服务集标识和密码。使用接收到的服务集标识和密码连接无线网络;连接成功后,上报联网成功的状态至终端。终端进入首页展示媒体资源。如果终端接收到传输的全部数据并计算数据大小为2800字节,智能音箱传输给终端wifi列表的数据大小与终端计算的数据大小不一致,终端发送丢包消息至智能音箱。由于518不是wifi列表传输数据队列的最后一个值,智能音箱再以262字节传输大小重新传输wifi列表的数据至终端,直至接收到终端发送的未丢包消息,或者,以wifi列表传输数据队列的最后一个数据大小70字节重新传输数据列表的数据至终端后,仍未收到终端发送的未丢包消息,智能终端发送wifi列表获取失败的消息至终端,终端显示配网失败的消息,用户可重新尝试配网。

如果智能音箱接收到终端回复的最大传输单元限制,获取预设范围内可用的wifi信息;根据wifi信息建立wifi列表;以最大传输单元的传输大小传输wifi列表的数据。

例如,终端回复的最大传输单元限制为512字节,则以512字节传输大小传输wifi列表的数据。

终端接收由智能音箱发送可用的wifi列表,显示wifi列表中的wifi名称。

用户查看可用wifi后选择列表中的任意wifi,输入该wifi对应的密码。

终端发送用户选择wifi的服务集标识和密码至智能音箱。

智能音箱使用接收到的服务集标识和密码连接无线网络;连接成功后,上报联网成功的状态至终端。

终端进入首页展示媒体资源。

智能音箱最主要的依赖就网络,第一次使用智能音箱时,需要使用终端app给智能音箱配置网络,并且为了优化用户体验,无论是运行android还是ios手机操作系统上的app,用户都可以自由选择网络去配置音箱的网络。

由以上技术方案可知,智能音箱在与终端连接成功后,发送获取最大传输单元的请求至终端;如果未接收到终端回复的最大传输单元,建立wifi列表;利用wifi列表传输数据队列中的数据大小依次单独传输wifi列表的数据至终端,直至终端发送的未丢包消息。智能音箱接收用户选中wifi的服务集标识和密码;根据所述服务集标识和密码连接无线网络。本申请在配网过程中,在未获取终端的mtu情况时,可避免使用ble默认最大传输单元传输数据,兼容不同系统的设备以实现获取wifi列表的功能,能够实现用户自由配置网络,无需终端提前连接wifi或智能连接终端连接的wifi,增强了用户体验。

本申请实施例提供一种智能音箱,包括:

声音输出模块,用于输出从终端获取的声音信号;

通信器,用于与所述终端建立连接状态;

与所述声音输入模块和所述通信器连接的控制器,用于执行:

发送获取最大传输单元的请求至终端;

接收所述终端发送的获取wifi列表请求;

如果未接收到所述终端回复的最大传输单元,获取预设范围内可用的wifi信息,根据所述wifi信息建立wifi列表;

以wifi列表传输数据队列中的第一个数据大小传输所述wifi列表的数据至所述终端;

如果接收到所述终端发送的丢包消息,以wifi列表传输数据队列中的下一个数据大小传输wifi列表的数据至所述终端,直至接收到所述终端发送的未丢包消息或遍历所述wifi列表传输数据队列后未接收到所述终端发送的未丢包消息;

如果接收到所述终端发送的未丢包消息,接收用户选中wifi的服务集标识和密码;

根据所述服务集标识和密码连接无线网络。

在一些实施例中,所述控制器用以下步骤执行所述以wifi列表传输数据队列中的第一个数据大小传输所述wifi列表的数据至所述终端:

计算所述wifi列表的数据大小;

如果所述wifi列表的数据大小小于预设字节,以wifi列表传输数据队列中的第一个正向数据大小传输wifi列表的数据至所述终端,所述wifi列表传输数据队列包括由小到大排列的数据大小;

在一些实施例中,所述控制器还用以下步骤执行以wifi列表传输数据队列中的第一个数据大小传输所述wifi列表的数据至所述终端:

如果所述wifi列表的数据大小不小于预设字节,以wifi列表传输数据队列中的第一个反向数据大小传输wifi列表的数据至所述终端。

在一些实施例中,所述控制器还用于执行:

如果遍历所述wifi列表传输数据队列后未接收到所述终端发送的未丢包消息,发送wifi列表获取失败的消息至终端。

在一些实施例中,所述控制器还用于执行:

以ble默认传输大小传输所述wifi列表的数据大小至所述终端,以使所述终端持续收取wifi列表的数据,直至收到结束标志,计算接收到的wifi列表的数据大小;如果传输的wifi列表的数据大小与计算的wifi列表的数据大小不一致,发送丢包消息;如果传输的wifi列表的数据大小与计算的wifi列表的数据大小一致,显示wifi列表中的wifi名称并发送未丢包消息。

由以上技术方案可知,智能音箱在与终端连接成功后,发送获取最大传输单元的请求至终端;如果未接收到终端回复的最大传输单元,建立wifi列表;利用wifi列表传输数据队列中的数据大小依次单独传输wifi列表的数据至终端,直至终端发送的未丢包消息。智能音箱接收用户选中wifi的服务集标识和密码;根据所述服务集标识和密码连接无线网络。本申请在配网过程中,在未获取终端的mtu情况时,可避免使用ble默认最大传输单元传输数据,兼容不同系统的设备以实现获取wifi列表的功能,能够实现用户自由配置网络,无需终端提前连接wifi或智能连接终端连接的wifi,增强了用户体验。

具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的提升资产安全的方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于智能音箱配网方法及智能音箱的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本申请实施方式并不构成对本申请保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1