一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于BLE的数据传输方法、装置及BLE主设备与流程

2022-02-22 08:52:07 来源:中国专利 TAG:

一种基于ble的数据传输方法、装置及ble主设备
技术领域
1.本发明涉及蓝牙通讯技术领域,特别涉及一种基于ble的数据传输方法、装置、ble主设备及计算机可读存储介质。


背景技术:

2.蓝牙技术在电子产品中应用越来越广泛,尤其在vr(virtual reality,虚拟现实)技术中,其为实现配套设备游戏手柄的追踪,需要通过蓝牙实时、高效传输数据。vr中一般都配备双游戏手柄,在ota(over-the-air technology,空间下载技术)升级时,需要对左右手柄依次升级。传统方法都是先升级一只手柄,结束完成之后再升级另一只,升级效率不高,降低了用户体验效果,因此快速、高效的ota至关重要。
3.在ble领域,一个ble主设备向多个从设备传输文件时,往往是依次传输;如ble主设备需要对两个从设备时,传统ota升级都是依次升级,即升级完一只手柄后再升另一只。这种方法一般是在一个ble通讯间隙(一个最小的ble通讯间隙最小是7.5ms),ble主设备只传给一包数据数据给一个ble从设备,并没有利用好ble的通讯间隙(此间隙也称为timeslot)。因此,如何能够减少ble主设备向多个从设备传输文件的传输时间,从而提升ble从设备的ota升级速度,提升用户体验,是现今急需解决的问题。


技术实现要素:

4.本发明的目的是提供一种基于ble的数据传输方法、装置、ble主设备及计算机可读存储介质,以减少ble主设备向多个从设备传输文件的传输时间,从而提升ble从设备的ota升级速度,提升用户体验。
5.为解决上述技术问题,本发明提供一种基于ble的数据传输方法,包括:
6.ble主设备获取各ble从设备各自对应的同时传输文件;其中,所述ble从设备的数量大于或等于2;
7.利用所述ble主设备与所述ble从设备的ble连接,在每个通讯间隙依次向各所述ble从设备发送各自对应的预设数量的同时传输数据包;其中,所述同时传输数据包为所述同时传输文件对应的数据包。
8.可选的,所述利用所述ble主设备与所述ble从设备的ble连接,在每个通讯间隙依次向各所述ble从设备发送各自对应的预设数量的同时传输数据包之前,还包括:
9.断开所述ble主设备与各所述ble从设备的ble连接,并与各所述ble从设备重新协商ble通讯的最大传输单元,将原本的第一包长调整为第二包长;其中,所述第二包长大于所述第一包长;
10.协商完成后,所述ble主设备与各所述ble从设备重新建立ble连接。
11.可选的,所述断开所述ble主设备与各所述ble从设备的ble连接,并与各所述ble从设备重新协商ble通讯的最大传输单元,将原本的第一包长调整为第二包长,包括:
12.利用所述ble主设备与所述ble从设备的ble连接,向各所述ble从设备发送同时传
输请求;
13.根据各所述ble从设备返回的请求成功信息,断开所述ble主设备与各所述ble从设备的ble连接,并与各所述ble从设备重新协商ble通讯的最大传输单元。
14.可选的,所述利用所述ble主设备与所述ble从设备的ble连接,在每个通讯间隙依次向各所述ble从设备发送各自对应的预设数量的同时传输数据包之后,还包括:
15.成功发送各所述ble从设备各自对应的同时传输文件后,再次断开所述ble主设备与各所述ble从设备的ble连接,并与各所述ble从设备重新协商ble通讯的最大传输单元,将所述第二包长调整为所述第一包长;
16.协商完成后,所述ble主设备与各所述ble从设备重新建立ble连接。
17.可选的,所述同时传输文件为升级文件时,所述ble主设备获取各ble从设备各自对应的同时传输文件,包括:
18.所述ble主设备检测到各所述ble从设备需要升级时,获取各所述ble从设备的升级文件。
19.可选的,所述预设数量为1时,所述利用所述ble主设备与所述ble从设备的ble连接,在每个通讯间隙依次向各所述ble从设备发送各自对应的预设数量的同时传输数据包,包括:
20.获取各所述ble从设备各自对应的当前数据包;其中,所述当前数据包为任一所述同时传输数据包;
21.在当前通讯间隙依次向各所述ble从设备发送各自对应的当前数据包;
22.根据各所述ble从设备返回的当前数据包成功信息,判断各所述ble从设备各自对应的同时传输文件是否均成功传输;
23.若否,则执行所述获取各所述ble从设备各自对应的当前数据包的步骤;
24.若是,确实各所述ble从设备各自对应的同时传输文件均成功传输。
25.可选的,所述获取各所述ble从设备各自对应的当前数据包,包括:
26.若接收到当前ble从设备对应的当前数据包成功信息,且当前ble从设备对应的当前数据包不为同时传输文件的最后一包数据包,则获取当前ble从设备对应的传输数据包中的下一数据包,并将下一数据包作为当前ble从设备对应的当前数据包;其中,当前ble从设备为任一所述ble从设备;
27.若未接收到当前ble从设备对应的当前数据包成功信息,则再次获取当前ble从设备对应的传输数据包中的当前数据包。
28.本发明还提供了一种基于ble的数据传输装置,应用于ble主设备,包括:
29.文件获取模块,用于获取各ble从设备各自对应的同时传输文件;其中,所述ble从设备的数量大于或等于2;
30.文件传输模块,用于利用所述ble主设备与所述ble从设备的ble连接,在每个通讯间隙依次向各所述ble从设备发送各自对应的预设数量的同时传输数据包;其中,所述同时传输数据包为所述同时传输文件对应的数据包。
31.本发明还提供了一种ble主设备,包括:
32.存储器,用于存储计算机程序;
33.处理器,用于执行所述计算机程序时实现如上述所述的基于ble的数据传输方法
的步骤。
34.此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的基于ble的数据传输方法的步骤。
35.本发明所提供的一种基于ble的数据传输方法,包括:ble主设备获取各ble从设备各自对应的同时传输文件;其中,ble从设备的数量大于或等于2;利用ble主设备与ble从设备的ble连接,在每个通讯间隙依次向各ble从设备发送各自对应的预设数量的同时传输数据包;其中,同时传输数据包为同时传输文件对应的数据包;
36.可见,本发明通过利用ble主设备与ble从设备的ble连接,在每个通讯间隙依次向各ble从设备发送各自对应的预设数量的同时传输数据包,使得ble主设备能够在每个ble通讯间隙向各从设备发送预设数量的数据包,能够更加高效的利用ble通讯间隙,减少ble主设备向多个从设备传输文件的传输时间,从而能够在对ble从设备进行ota升级时提高ota升级速度,提升用户体验。此外,本发明还提供了一种基于ble的数据传输装置、ble主设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
38.图1为本发明实施例所提供的一种基于ble的数据传输方法的流程图;
39.图2为本发明实施例所提供的另一种基于ble的数据传输方法的系统结构示意图;
40.图3为本发明实施例所提供的另一种基于ble的数据传输方法的流程图;
41.图4为本发明实施例所提供的另一种基于ble的数据传输方法的流程示意图;
42.图5为本发明实施例所提供的一种基于ble的数据传输装置的结构框图;
43.图6为本发明实施例所提供的一种ble主设备的结构示意图;
44.图7为本发明实施例所提供的一种ble主设备的具体结构示意图。
具体实施方式
45.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.请参考图1,图1为本发明实施例所提供的一种基于ble的数据传输方法的流程图。该方法可以包括:
47.步骤101:ble主设备获取各ble从设备各自对应的同时传输文件;其中,ble从设备的数量大于或等于2。
48.其中,本步骤中的ble主设备可以为ble连接中的作为主设备(master)的设备,如vr产品中的头戴式显示器(hmd);ble从设备可以为ble连接中的作为从设备(slave)的设
备,如与头戴式显示器(即ble主设备)进行ble连接的手柄。
49.具体的,本步骤中的同时传输文件可以为ble主设备需要通过ble连接同时向各ble从设备发送的文件,如各ble从设备的升级文件。对于本实施例中各ble从设备各自对应的同时传输文件的具体内容,可以由设计人员根据实用场景和用户需求自行设置,如各ble从设备各自对应的同时传输文件可以为同一文件,例如对各ble从设备进行ota升级升级时,ble从设备的升级文件;各ble从设备各自对应的同时传输文件也可以各自对应的不同的文件。本实施例对此不做任何限制。
50.同样的,对于本实施例中ble从设备的具体数量,可以由设计人员根据实用场景自行设置,如ble从设备的数量可以为2,例如图2中与vr hmd(即ble主设备)通过ble连接的两个手柄(ble slave手柄1和ble slave手柄2),或与充电盒(即ble主设备)通过ble连接的两个tws(true wireless stereo,真正无线立体声)耳机;ble从设备的数量也可以为大于2的正整数。本实施例对此不做任何限制。
51.需要说明的是,对于本步骤中ble主设备获取各ble从设备各自对应的同时传输文件的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如同时传输文件为升级文件,即本实施例中ble主设备对各ble从设备进行同时升级时,ble主设备可以在检测到各ble从设备需要升级时,获取各ble从设备的升级文件(即同时传输文件),例如从服务器下载各ble从设备的升级文件。只要ble主设备可以获取需要向各ble从设备同时传输的同时传输文件,本实施例对此不做任何限制。
52.步骤102:利用ble主设备与ble从设备的ble连接,在每个通讯间隙依次向各ble从设备发送各自对应的预设数量的同时传输数据包;其中,同时传输数据包为同时传输文件对应的数据包。
53.可以理解的是,本步骤中ble主设备可以为利用其与各ble从设备的ble连接,在每个通讯间隙(即ble通讯间隙)依次向各ble从设备发送各自对应的同时传输文件的预设数量的数据包(即同时传输数据包),以完成各ble从设备各自对应的同时传输文件的同时传输。也就是说,本步骤中ble主设备可以在向各ble从设备发送各自对应的同时传输文件的过程中,在每个通讯间隙依次向各ble从设备发送各自对应的预设数量的同时传输数据包,直至各ble从设备各自对应的同时传输文件均成功发送。
54.具体的,本步骤中的同时传输数据包可以为同时传输文件传输时所传输的数据包。本步骤中ble主设备通过在每个ble通讯间隙向各ble从设备均发送预设数量的同时传输数据包,可以提高ble主设备向各ble从设备发送同时传输文件的效率,减少传输时间。为了进一步提升文件传输效率,本实施例中ble主设备可以在向各ble从设备发送同时传输文件之前,与各ble从设备重新协商mtu(最大传输单元),以增大ble传输的包长,即增大同时传输数据包的数据量,从而减少同时传输文件对应的数据包(即同时传输数据包)的数量;例如,本实施例中ble主设备可以在步骤102之前,断开ble主设备与各ble从设备的ble连接,并与各ble从设备重新协商ble通讯的最大传输单元,将原本的第一包长调整为第二包长;协商完成后,ble主设备与各ble从设备重新建立ble连接,并进入步骤102;其中,第二包长大于第一包长。
55.对应的,本实施例中ble主设备可以在向各ble从设备发送同时传输文件之后,与各ble从设备重新协商mtu(最大传输单元),以将ble传输的包长恢复为正常ble传输的包
长;例如,本实施例中ble主设备可以在步骤102之后,在成功发送各ble从设备各自对应的同时传输文件后,再次断开ble主设备与各ble从设备的ble连接,并与各ble从设备重新协商ble通讯的最大传输单元,将第二包长调整为第一包长。
56.需要说明的是,对于本步骤中通讯间隙(即ble通讯间隙)和每个通讯间隙中依次向各ble从设备发送预设数量的同时传输数据包的具体设置,可以由设计人员根据实用场景和用户需求自行设置,如通讯间隙可以为最小的ble通讯间隙,如7.5ms。每个通讯间隙中ble主设备可以按照预设时间间隔依次向各ble从设备发送各自对应的预设数量的同时传输数据包,如预设时间间隔可以为通讯间隙与ble从设备的数量的商;例如通讯间隙为7.5ms,ble从设备的数量为2时,预设时间间隔可以为3.75ms,即在7.5ms内,间隔3.75ms,ble主设备先发送给一个ble从设备其对应的预设数量的同时传输数据包,再发送给另一个ble从设备其对应的预设数量的同时传输数据包;同理,在ble主设备接收ble从设备的ack(确认字符)包时,也是间隔3.75ms,分别接受两个ble从设备的ack包,以确保传输过程中数据的有效性。
57.对应的,对于本实施例中预设数量的具体数值设置,即每个通讯间隙中ble主设备向每个ble从设备发送的同时传输数据包的数量设置,可以由设计人员自行设置,如本实施例中预设数量可以为1,即在一个ble通讯间隙ble主设备只向每个ble从设备发送各自对应的一个同时传输数据包(如升级数据包),以保证每个同时传输数据包发给相应的ble从设备后,都能够收到该ble从设备返回的该同时传输数据包对应的成功信息(如ack包),避免出现丢包或同时传输文件校验错误的情况,保证同时传输文件(如升级文件)的传输成功率,从而保证ble从设备的ota升级成功率。本实施例中预设数量也可以为大于或等于2的数值,本实施例对此不做任何限制。
58.具体的,对于本步骤中ble主设备利用ble主设备与ble从设备的ble连接,在每个通讯间隙依次向各ble从设备发送各自对应的预设数量的同时传输数据包的具体方式,可以由设计人员根据使用场景和用户需求自行设置,如预设数量为1时,本步骤中ble主设备可以获取各ble从设备各自对应的当前数据包;在当前通讯间隙依次向各ble从设备发送各自对应的当前数据包;根据各ble从设备返回的当前数据包成功信息,判断各ble从设备各自对应的同时传输文件是否均成功传输;若否,则执行获取各ble从设备各自对应的当前数据包的步骤;若是,确实各ble从设备各自对应的同时传输文件均成功传输。其中,各ble从设备各自对应的当前数据包为各ble从设备各自对应的同时传输文件的任一同时传输数据包。
59.本实施例中,本发明实施例通过利用ble主设备与ble从设备的ble连接,在每个通讯间隙依次向各ble从设备发送各自对应的预设数量的同时传输数据包,使得ble主设备能够在每个ble通讯间隙向各从设备发送预设数量的数据包,能够更加高效的利用ble通讯间隙,减少ble主设备向多个从设备传输文件的传输时间,从而能够在对ble从设备进行ota升级时提高ota升级速度,提升用户体验。
60.请参考图3,图3为本发明实施例所提供的另一种基于ble的数据传输方法的流程图。该方法可以包括:
61.步骤201:ble主设备检测到各ble从设备需要升级时,获取各ble从设备的升级文件。
62.其中,本实施例是以ble主设备对各ble从设备的ota升级为例进行的展示,即本实施例中ble主设备可以通过向各ble从设备同时传输升级文件,提升ble从设备的ota升级速度;对于ble主设备向各ble从设备传输其他文件的过程,可以采用与本实施例所提供的方法相似的方式对应进行设置,本实施例对此不做任何限制。
63.具体的,如图2所示,本实施例中的ble主设备可以为vr hmd,本实施例中的ble从设备可以为与vr hmd通过通过ble连接的两个手柄(ble slave手柄1和ble slave手柄2);本步骤中ble主设备中的处理器(如cpu)可以在检测到各ble从设备需要升级时,获取各ble从设备的升级文件。
64.对应的,本实施例所提供的方法还可以包括ble主设备检测各ble从设备是否需要升级;若是,则进入步骤201;若否,则结束本流程或等待下一次检测各ble从设备是否需要升级。本实施例中并不限定ble主设备检测各ble从设备是否需要升级的具体方式,如可以采用与现有技术ble主设备对各ble从设备升级检测方法相同或相似的方式实现。
65.步骤202:断开ble主设备与各ble从设备的ble连接,并与各ble从设备重新协商ble通讯的最大传输单元,将原本的第一包长调整为第二包长;其中,第二包长大于第一包长。
66.可以理解的是,本步骤中ble主设备通过断开ble连接后与各ble从设备重新协商ble通讯的最大传输单元,将原本的第一包长调整为第二包长,能够减少升级文件对应的升级数据包的数量,从而减少升级文件的传输时间。
67.具体的,对于本步骤中ble主设备断开ble主设备与各ble从设备的ble连接,并与各ble从设备重新协商ble通讯的最大传输单元(mtu),将原本的第一包长调整为第二包长的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如ble主设备可以利用其与ble从设备的ble连接,向各ble从设备发送同时传输请求(如图4中的升级请求),以告知各ble从设备即将进行的文件同时传输事件;根据各ble从设备返回的请求成功信息(如ack包),断开ble主设备与各ble从设备的ble连接,并与各ble从设备重新协商ble通讯的最大传输单元,以将mtu由原本正常ble通讯的第一包长调整为文件同时传输的第二包长。
68.如图2和图4所示,当ble主设备的cpu检测到两个ble从设备(ble slave)需要升级时,cpu可以首先通过有线传输的方式发送升级请求包给ble主设备的蓝牙部件(ble host),以使ble host通过ble将此升级事件(即同时传输请求)发送给两个连接着的ble从设备;两个ble从设备收到此升级事件之后,将mtu设置成ota升级传输过程需要的大小(即第二包长),以为了减少ota传输的总的包数,进而减少升级时间;当两个ble从设备返回ack(即请求成功信息)给ble host,ble host收到ack后,ble主设备或ble从设备可以主动断开蓝牙,重新协商mtu。
69.步骤203:协商完成后,ble主设备与各ble从设备重新建立ble连接。
70.可以理解的是,本步骤中ble主设备可以在与各ble从设备重新协商完成ble通讯的mtu后,与各ble从设备重新建立ble连接,以利用重新建立的ble连接向各ble从设备传输升级文件。
71.步骤204:获取各ble从设备各自对应的当前数据包;其中,当前数据包为升级文件的任一升级数据包。
72.具体的,本步骤中ble主设备可以获取需要在当前的时间间隙发送的各ble从设备
各自对应的升级文件的一个升级数据包(即当前数据包)。各ble从设备各自对应的当前数据包可以为同一升级数据包,如向各ble从设备发送第一次的升级数据包;各ble从设备各自对应的当前数据包也可以为不同的升级数据包,如向任一ble从设备发送的升级数据包发送失败后,该ble从设备对应的当前升级数据包可以为上一次发送失败的升级数据包,而其他ble从设备对应的当前升级数据包可以为继续发送的下一升级数据包。
73.也就是说,本步骤中ble主设备可以根据升级文件和上一通讯间隙发送的各ble从设备各自对应的当前数据包的当前数据包成功信息(如成功的ack包),获取各ble从设备各自对应的当前数据包;如本步骤中ble主设备第一次向各ble从设备发送的升级数据包时,可以直接获取升级文件的第一个升级数据包,作为各ble从设备各自对应的当前数据包;ble主设备之后向各ble从设备发送的升级数据包时,若接收到当前ble从设备对应的当前数据包成功信息,且当前ble从设备对应的当前数据包不为同时传输文件(即升级文件)的最后一包数据包,则获取当前ble从设备对应的传输文件中的下一数据包,并将下一数据包作为当前ble从设备对应的当前数据包;若未接收到当前ble从设备对应的当前数据包成功信息,则再次获取当前ble从设备对应的传输数据包中的当前数据包;若接收到当前ble从设备对应的当前数据包成功信息,且当前ble从设备对应的当前数据包为同时传输文件的最后一包数据包,可以确定当前ble从设备的升级文件成功传输;其中,当前ble从设备为任一ble从设备。
74.如图2和图4所示,ble主设备的ble host在与两个ble从设备重新协商mtu并成功重新建立ble连接后,通知ble主设备的cpu,本步骤中cpu可以准备各ble从设备各自对应的当前数据包(升级数据包),从而通过ble host发送到两个ble从设备。
75.步骤205:在当前通讯间隙依次向各ble从设备发送各自对应的当前数据包。
76.其中,本步骤中ble主设备可以在当前的通讯间隙依次向各ble从设备发送各自对应的当前数据包;如图2和图4所示,ble主设备的cpu可以将各ble从设备发送各自对应的当前数据包发送到ble host,以使ble host在当前通讯间隙依次向各ble从设备发送各自对应的当前数据包;例如通讯间隙为7.5ms时,可以将通讯间隙的7.5ms均分成两个3.75ms,即在7.5ms内,间隔3.75ms,ble host分别发送给两个ble从设备各一包升级数据(即当前数据包)。
77.步骤206:根据各ble从设备返回的当前数据包成功信息,判断各ble从设备各自对应的升级文件是否均成功传输;若否,则进入步骤204;若是,则进入步骤207。
78.可以理解是,本步骤中ble主设备通过根据各ble从设备返回的当前数据包成功信息,判断各ble从设备各自对应的升级文件是否均成功传输,确定是否完成对各ble从设备的升级文件传输。
79.具体的,本步骤中ble主设备分别或依次判断是否接收到当前ble从设备返回的当前数据包成功信息和判断当前ble从设备对应的当前数据包是否为同时传输文件(即升级文件)的最后一包数据包;在接收到当前ble从设备返回的当前数据包成功信息且当前ble从设备对应的当前数据包为升级文件的最后一包数据包时,确定当前ble从设备的升级文件成功传输;在未接收到当前ble从设备返回的当前数据包成功信息或当前ble从设备对应的当前数据包不为升级文件的最后一包数据包时,确定当前ble从设备的升级文件未成功传输;从而确定全部ble从设备的升级文件是否均完成传输。
80.如图2和图4所示,ble主设备的ble host收到ble从设备的ack包后,将ack包返给cpu,然后cpu判断接收的ack包是成功还是失败,如果成功(即当前数据包成功信息)则cpu继续向ble host传输该ble从设备对应的下一包升级数据包,否则cpu继续传输当前的数据包。在传输下一包升级数据包时,cpu需要判断是否为最后一包,如果为最后一包,则当cpu收到最后一包的成功的ack后,确定该ble从设备的升级文件传输成功完成。
81.步骤207:确实各ble从设备各自对应的升级文件均成功传输,再次断开ble主设备与各ble从设备的ble连接,并与各ble从设备重新协商ble通讯的最大传输单元,将第二包长调整为第一包长。
82.其中,本步骤中ble主设备在确实各ble从设备各自对应的同时传输文件均成功传输后,通过再次断开ble主设备与各ble从设备的ble连接,并与各ble从设备重新协商ble通讯的最大传输单元,可以将ble通讯的mtu由升级文件传输时的第二包长调整恢复为正常ble通讯的第一包长,以保证后续ble主设备能够与各ble从设备进行正常的ble通讯。
83.具体的,本步骤中ble主设备可以在确实各ble从设备各自对应的升级文件均成功传输后,先向各ble从设备发送文件传输完成信息(如图4中的升级完成包),以使ble从设备能够了解升级文件传输完成;再由于ble主设备或ble从设备主动断开ble主设备与各ble从设备的ble连接,并重新协商ble主设备与各ble从设备的ble通讯的最大传输单元,将第二包长调整为第一包长。如图4所示,ble主设备的cpu在确定各ble从设备各自对应的升级文件均成功传输后,可以通过ble host发送向两个ble从设备发送升级完成包,以使两个ble从设备可以根据接收的升级完成包进行重启升级,并主动断开ble连接,与ble主设备重新协商ble通讯的最大传输单元(mtu),将第二包长调整为原本的第一包长。
84.步骤208:协商完成后,ble主设备与各ble从设备重新建立ble连接。
85.可以理解的是,本步骤中ble主设备通过与各ble从设备重新建立mtu为第一包成的ble连接,使ble主设备可以与各ble从设备进行正常的ble通讯。
86.本实施例中,本发明实施例通过在当前通讯间隙依次向各ble从设备发送各自对应的当前数据包,能够在每个通讯间隙向各ble从设备发送一个升级数据包,从而能够在保证各ble从设备发送每包升级数据包,均可以收到ble从设备的回复确认,减少了出现丢包或校验错误的情况,保证了升级文件传输的准确性,从而提升了ble从设备的ota升级成功率。
87.相应于上面的方法实施例,本发明实施例还提供了一种基于ble的数据传输装置,下文描述的一种基于ble的数据传输装置与上文描述的一种基于ble的数据传输方法可相互对应参照。
88.请参考图5,图5为本发明实施例所提供的一种基于ble的数据传输装置的结构框图。该数据传输装置应用于ble主设备,可以包括:
89.文件获取模块10,用于获取各ble从设备各自对应的同时传输文件;其中,ble从设备的数量大于或等于2;
90.文件传输模块20,用于利用ble主设备与ble从设备的ble连接,在每个通讯间隙依次向各ble从设备发送各自对应的预设数量的同时传输数据包;其中,同时传输数据包为同时传输文件对应的数据包。
91.可选的,该装置还可以包括:
92.mtu调整模块,用于断开ble主设备与各ble从设备的ble连接,并与各ble从设备重新协商ble通讯的最大传输单元,将原本的第一包长调整为第二包长;其中,第二包长大于第一包长;
93.ble重连模块,用于协商完成后,ble主设备与各ble从设备重新建立ble连接,并向文件传输模块20发送启动信号。
94.可选的,mtu调整模块可以包括:
95.请求发送子模块,用于利用ble主设备与ble从设备的ble连接,向各ble从设备发送同时传输请求;
96.断连调整子模块,用于根据各ble从设备返回的请求成功信息,断开ble主设备与各ble从设备的ble连接,并与各ble从设备重新协商ble通讯的最大传输单元。
97.可选的,该装置还可以包括:
98.mtu恢复模块,用于成功发送各ble从设备各自对应的同时传输文件后,再次断开ble主设备与各ble从设备的ble连接,并与各ble从设备重新协商ble通讯的最大传输单元,将第二包长调整为第一包长;
99.ble恢复连接模块,用于协商完成后,ble主设备与各ble从设备重新建立ble连接。
100.可选的,同时传输文件为升级文件时,文件获取模块10可以具体用于检测到各ble从设备需要升级时,获取各ble从设备的升级文件。
101.可选的,预设数量为1时,文件传输模块20可以包括:
102.数据包获取子模块,用于获取各ble从设备各自对应的当前数据包;其中,当前数据包为任一同时传输数据包;
103.数据包传输子模块,用于在当前通讯间隙依次向各ble从设备发送各自对应的当前数据包;
104.传输判断子模块,用于根据各ble从设备返回的当前数据包成功信息,判断各ble从设备各自对应的同时传输文件是否均成功传输;若否,则向数据包获取子模块发送启动信号;若是,确实各ble从设备各自对应的同时传输文件均成功传输。
105.可选的,数据包获取子模块可以具体用于若接收到当前ble从设备对应的当前数据包成功信息,且当前ble从设备对应的当前数据包不为同时传输文件的最后一包数据包,则获取当前ble从设备对应的传输数据包中的下一数据包,并将下一数据包作为当前ble从设备对应的当前数据包;若未接收到当前ble从设备对应的当前数据包成功信息,则再次获取当前ble从设备对应的传输数据包中的当前数据包;其中,当前ble从设备为任一ble从设备。
106.本实施例中,本发明实施例通过文件传输模块20利用ble主设备与ble从设备的ble连接,在每个通讯间隙依次向各ble从设备发送各自对应的预设数量的同时传输数据包,使得ble主设备能够在每个ble通讯间隙向各从设备发送预设数量的数据包,能够更加高效的利用ble通讯间隙,减少ble主设备向多个从设备传输文件的传输时间,从而能够在对ble从设备进行ota升级时提高ota升级速度,提升用户体验。
107.相应于上面的方法实施例,本发明实施例还提供了一种ble主设备,下文描述的一种ble主设备与上文描述的一种基于ble的数据传输方法可相互对应参照。
108.请参考图6,图6为本发明实施例所提供的一种ble主设备的结构示意图。该ble主
设备可以包括:
109.存储器d1,用于存储计算机程序;
110.处理器d2,用于执行计算机程序时实现上述方法实施例所提供的基于ble的数据传输方法的步骤。
111.具体的,请参考图7,图7为本发明实施例所提供的一种ble主设备的具体结构示意图,该ble主设备310可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上单元(图示没标出),每个单元可以包括对电子设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在ble主设备310上执行存储介质330中的一系列指令操作。
112.ble主设备310还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等,ble主设备310还可以包括蓝牙部件。
113.其中,ble主设备310可以具体为头戴式显示器(hmd)。
114.上文所描述的基于ble的数据传输方法中的步骤可以由ble主设备的结构实现。
115.相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,下文描述的一种计算机可读存储介质与上文描述的一种基于ble的数据传输方法可相互对应参照。
116.一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所提供的基于ble的数据传输方法的步骤。
117.该计算机可读存储介质具体可以为u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
118.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、ble主设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
119.以上对本发明所提供的一种基于ble的数据传输方法、装置、ble主设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献