一种蓝牙低功耗通信的方法、蓝牙设备和系统.pdf

上传人:r5 文档编号:54703 上传时间:2018-01-21 格式:PDF 页数:14 大小:1.75MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410323063.0

申请日:

2014.07.08

公开号:

CN104135339A

公开日:

2014.11.05

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 1/00申请日:20140708|||公开

IPC分类号:

H04L1/00; H04B5/02

主分类号:

H04L1/00

申请人:

福建联迪商用设备有限公司

发明人:

吴军华; 陈新

地址:

350003 福建省福州市鼓楼区软件大道89号福州软件园一区23号楼

优先权:

专利代理机构:

福州市仓山区景弘专利代理事务所(普通合伙) 35219

代理人:

林祥翔;吕元辉

PDF下载: PDF下载
内容摘要

本发明提供一种蓝牙低功耗通信的方法、蓝牙设备和系统,其中方法用于蓝牙设备间通信,包括第一蓝牙设备获取第二蓝牙设备的最大传输单元值,并以第二蓝牙设备的最大传输单元值和第一蓝牙设备的最大传输单元值两者中较小的为发送参考值,第一蓝牙设备在发送数据到第二蓝牙设备时,首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则直接发送待发送数据;否则将待发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后循环发送分割后的数据块。本发明避免了传输值过大而造成第二蓝牙设备接收的失败而影响传输速度;或者每次都传输过小的值而造成传输时间的延长,从而提高了蓝牙低功耗的传输的速度。

权利要求书

1.  一种蓝牙低功耗通信的方法,用于蓝牙设备之间通信,其特征在于,包括步骤:
第一蓝牙设备获取第二蓝牙设备的最大传输单元值,并以第二蓝牙设备的最大传输单元值和第一蓝牙设备的最大传输单元值两者中较小的为发送参考值;
第一蓝牙设备在发送数据到第二蓝牙设备时,首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则直接发送待发送数据;否则将待发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后循环发送分割后的数据块。

2.
  根据权利要求1所述的蓝牙低功耗通信的方法,其特征在于:所述第一蓝牙设备获取第二蓝牙设备的最大传输单元值的具体步骤包括:第一蓝牙设备在与第二蓝牙设备建立连接过程的注册特征步骤中,第二蓝牙设备反馈第二蓝牙设备最大传输单元值特征,第一蓝牙设备读取第二蓝牙设备最大传输单元值特征后获取第二蓝牙设备最大传输单元值。

3.
  根据权利要求1所述的蓝牙低功耗通信的方法,其特征在于:第二蓝牙设备接收第一蓝牙设备发送来的数据块后,第二蓝牙设备对数据块进行计数并将计数结果回复给第一蓝牙设备。

4.
  根据权利要求3所述的蓝牙低功耗通信的方法,其特征在于:所述计数结果占用的数据位为1-8位。

5.
  根据权利要求1或3所述的蓝牙低功耗通信的方法,其特征在于:第二蓝牙设备接收第一蓝牙设备发送来的数据块后,第二蓝牙设备将接收到的数据块的大小信息回复给第一蓝牙设备。

6.
  根据权利要求5所述的蓝牙低功耗通信的方法,其特征在于:所述数据块的大小信息占用的数据位为6-15位。

7.
  根据权利要求1所述的蓝牙低功耗通信的方法,其特征在于:待发送数据分割后的数据块的个数为:将待发送数据的字节数加上发送参考值的字 节数并减去一后得到中间值字节数,则数据块的个数为中间值字节数除于发送参考值的字节数得到结果的整数部分的值。

8.
  一种蓝牙低功耗通信的蓝牙设备,用于与其他蓝牙设备通信,其特征在于:包括第一收发模块、最大传输单元值获取模块、发送参考值选取模块以及数据分割模块,其中:
第一收发模块用于接收与本设备通信的蓝牙设备的信息及发送数据到与本设备通信的蓝牙设备;
最大传输单元值获取模块用于获取与本设备通信的蓝牙设备的最大传输单元值;
发送参考值选取模块用于以与本设备通信的蓝牙设备的最大传输单元值和本设备的最大传输单元值两者中较小的为发送参考值;
数据分割模块用在发送数据到与本设备通信的蓝牙设备时,首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则使能第一收发模块发送待发送数据;否则将待发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后循环使能第一收发模块发送分割后的数据块。

9.
  根据权利要求8所述的蓝牙低功耗通信的蓝牙设备,其特征在于:所述最大传输单元值获取模块包括最大传输单元值特征获取子模块:用于在本设备与其他蓝牙设备建立连接过程的注册特征过程中,读取与本设备通信的蓝牙设备的最大传输单元值特征后获取与本设备通信的蓝牙设备的最大传输单元值。

10.
  一种蓝牙低功耗通信的蓝牙设备,用于与其他蓝牙设备通信,其特征在于:包括第二收发模块和最大传输单元值发送模块;其中:
第二收发模块用于接收与本设备通信的蓝牙设备的信息及发送数据到与本设备通信的蓝牙设备;
最大传输单元值发送模块用于发送本设备的最大传输单元值到与本设备 通信的蓝牙设备。

11.
  根据权利要求10所述的蓝牙低功耗通信的蓝牙设备,其特征在于:所述的最大传输单元值发送模块包括最大传输单元值特征发送子模块,最大传输单元值特征发送子模块用于在本设备与其他蓝牙设备建立连接过程的注册特征步骤中,反馈本设备的最大传输单元值特征。

12.
  根据权利要求10或11所述的蓝牙低功耗通信的蓝牙设备,其特征在于:还包括数据块计数结果回复模块:用于接收与本设备通信的蓝牙设备发送来的数据块后,对数据块进行计数并将计数结果回复给与本设备通信的蓝牙设备。

13.
  根据权利要求10或11所述的蓝牙低功耗通信的蓝牙设备,其特征在于:还包括数据块大小回复模块:接收与本设备通信的蓝牙设备发送来的数据块后,将接收到的数据块的大小信息回复给与本设备通信的蓝牙设备。

14.
  一种蓝牙低功耗通信的系统,包括第一蓝牙设备和第二蓝牙设备,其特征在于:所述的第一蓝牙设备为权利要求8或9所述的蓝牙低功耗通信的蓝牙设备,所述的第二蓝牙设备为权利要求10到13任一项所述的蓝牙低功耗通信的蓝牙设备。

说明书

一种蓝牙低功耗通信的方法、蓝牙设备和系统
技术领域
本发明涉及蓝牙通信技术领域,尤其涉及一种蓝牙低功耗通信的方法、蓝牙设备和系统。
背景技术
蓝牙低能耗(Bluetooth Low Energy,简称BLE)技术是低成本、短距离、可互操作的鲁棒性无线技术,该技术是Bluetooth4.0的一项关键功能,工作在免许可的2.4GHz ISM射频频段。它从一开始就设计为超低功耗(ULP)无线技术。它令许多智能手段能最大限度地降低功耗。
蓝牙低能耗技术采用可变连接时间间隔,这个间隔根据具体应用可以设置为几毫秒到几秒不等。另外,因为BLE技术采用非常快速的连接方式,因此平时可以处于“非连接”状态(节省能源),此时链路两端相互间只是知晓对方,只有在必要时才开启链路,然后在尽可能短的时间内关闭链路。
BLE技术的工作模式非常适合用于从微型无线传感器(每半秒交换一次数据)或使用完全异步通信的遥控器等其它外设传送数据。这些设备发送的数据量非常少(通常几个字节),而且发送次数也很少(例如每秒几次到每分钟一次,甚至更少)。
现有的移动设备(如安卓设备和IOS设备)都增加了对蓝牙低功耗技术的支持,通过蓝牙低功耗技术实现数据交互,但是在实现本发明的过程中,发明人发现现有技术中存在如下问题:蓝牙低功耗数据传输慢,速度在0.5KB/s左右,效率低下,在传输兆级字节大小的数据量时,其传输消耗的时间需要几十分钟,无法满足较大数据量通信的快速响应需求。
发明内容
为此,需要提供解决蓝牙低功耗数据传输过程中通信速度慢的问题的技术方案。
为实现上述目的,发明人提供了一种蓝牙低功耗通信的方法、蓝牙设备和系统,实现方式如下:
包括步骤:第一蓝牙设备获取第二蓝牙设备的最大传输单元值,并以第二蓝牙设备的最大传输单元值和第一蓝牙设备的最大传输单元值两者中较小的为发送参考值;
第一蓝牙设备在发送数据到第二蓝牙设备时,首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则直接发送待发送数据;否则将待发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后循环发送分割后的数据块。
进一步地,所述第一蓝牙设备获取第二蓝牙设备的最大传输单元值的具体步骤包括:第一蓝牙设备在与第二蓝牙设备建立连接过程的注册特征步骤中,第二蓝牙设备反馈第二蓝牙设备最大传输单元值特征,第一蓝牙设备读取第二蓝牙设备最大传输单元值特征后获取第二蓝牙设备最大传输单元值。
进一步地,第二蓝牙设备接收第一蓝牙设备发送来的数据块后,第二蓝牙设备对数据块进行计数并将计数结果回复给第一蓝牙设备。
进一步地,所述计数结果占用的数据位为1-8位。
进一步地,第二蓝牙设备接收第一蓝牙设备发送来的数据块后,第二蓝牙设备将接收到的数据块的大小信息回复给第一蓝牙设备。
进一步地,所述数据块的大小信息占用的数据位为6-15位。
进一步地,待发送数据分割后的数据块的个数为:将待发送数据的字节数加上发送参考值的字节数并减去一后得到中间值字节数,则数据块的个数为中间值字节数除于发送参考值的字节数得到结果的整数部分的值。
以上的方法在分别用于第一蓝牙设备和第二蓝牙设备时;第一蓝牙设备的蓝牙低功耗通信的方法包括如下步骤(如图1所示):步骤S001获取与本 设备通信的蓝牙设备的最大传输单元值,步骤S002并以获取到的最大传输单元值和本设备的最大传输单元值两者中较小的为发送参考值;
步骤S003在发送数据到与本设备通信的蓝牙设备时,步骤S004首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则步骤S005直接发送待发送数据;否则步骤S006将待发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后步骤S007循环发送分割后的数据块。
进一步地,获取与本设备通信的蓝牙设备的最大传输单元值的具体步骤包括:本设备在与通信的蓝牙设备建立连接过程的注册特征步骤中,读取与本设备通信的蓝牙设备最大传输单元值特征后获取与本设备通信的蓝牙设备的最大传输单元值。
进一步地,待发送数据分割后的数据块的个数为:将待发送数据的字节数加上发送参考值的字节数并减去一后得到中间值字节数,则数据块的个数为中间值字节数除于发送参考值的字节数得到结果的整数部分的值。
以及以上的方法在用在第二蓝牙设备时;本设备在与通信的蓝牙设备建立连接过程的注册特征步骤中,反馈本设备的最大传输单元值特征。
进一步地,还包括如下步骤:在接收与本设备通信的蓝牙设备发送来的数据块后,本设备对数据块进行计数并将计数结果回复给与本设备通信的蓝牙设备。
进一步地,所述计数结果占用的数据位为1-8位。
进一步地,还包括如下步骤S:在接收与本设备通信的蓝牙设备发送来的数据块后,将接收到的数据块的大小信息回复给与本设备通信的蓝牙设备。
进一步地,所述数据块的大小信息占用的数据位为6-15位。
以及本发明还提供一种蓝牙低功耗通信的蓝牙设备,用于与其他蓝牙设备通信,包括第一收发模块、最大传输单元值获取模块、发送参考值选取模块以及数据分割模块,其中:
第一收发模块用于接收与本设备通信的蓝牙设备的信息及发送数据到与本设备通信的蓝牙设备;
最大传输单元值获取模块用于获取与本设备通信的蓝牙设备的最大传输单元值;
发送参考值选取模块用于以与本设备通信的蓝牙设备的最大传输单元值和本设备的最大传输单元值两者中较小的为发送参考值;
数据分割模块用在发送数据到与本设备通信的蓝牙设备时,首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则使能第一收发模块发送待发送数据;否则将待发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后循环使能第一收发模块发送分割后的数据块。
进一步地,所述最大传输单元值获取模块包括最大传输单元值特征获取子模块:用于在本设备与其他蓝牙设备建立连接过程的注册特征过程中,读取与本设备通信的蓝牙设备的最大传输单元值特征后获取与本设备通信的蓝牙设备的最大传输单元值。
以及本发明还提供一种蓝牙低功耗通信的蓝牙设备,用于与其他蓝牙设备通信,包括第二收发模块和最大传输单元值发送模块;其中:
第二收发模块用于接收与本设备通信的蓝牙设备的信息及发送数据到与本设备通信的蓝牙设备;
最大传输单元值发送模块用于发送本设备的最大传输单元值到与本设备通信的蓝牙设备。
进一步地,所述的最大传输单元值发送模块包括最大传输单元值特征发送子模块,最大传输单元值特征发送子模块用于在本设备与其他蓝牙设备建立连接过程的注册特征步骤中,反馈本设备的最大传输单元值特征。
进一步地,还包括数据块计数结果回复模块:用于接收与本设备通信的蓝牙设备发送来的数据块后,对数据块进行计数并将计数结果回复给与本设 备通信的蓝牙设备。
进一步地,还包括数据块大小回复模块:接收与本设备通信的蓝牙设备发送来的数据块后,将接收到的数据块的大小信息回复给与本设备通信的蓝牙设备。
以及一种蓝牙低功耗通信的系统,包括第一蓝牙设备和第二蓝牙设备,所述的第一蓝牙设备为上述的蓝牙低功耗通信的蓝牙设备,所述的第二蓝牙设备为上述的区别于第一蓝牙设备的蓝牙低功耗通信的蓝牙设备。
区别于现有技术,上述技术方案具有如下优点:第一蓝牙设备通过获取到第二蓝牙设备的最大传输单元,并选定发送参考值,而后在发送数据时都小于发送参考值,避免了传输值过大而造成第二蓝牙设备接收的失败而影响传输速度;或者每次都传输过小的值而造成传输时间的延长,从而上述技术方案提高了蓝牙低功耗的传输的速度。
附图说明
图1为本发明第一蓝牙设备方法的流程图;
图2为本发明方法实施例的流程图;
图3为本发明实施例获取第二蓝牙设备最大传输单元值的方法流程图;
图4为本发明系统实施例的结构示意图。
附图标记说明:
1、第一蓝牙设备,
10、第一收发模块,
11、最大传输单元值获取模块,
110、最大传输单元值特征获取子模块,
12、发送参考值选取模块,
13、数据分割模块,
2、第二蓝牙设备,
20、第二收发模块,
21、最大传输单元值发送模块,
210、最大传输单元值特征发送子模块,
22、数据块计数结果回复模块
23、数据块大小回复模块。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图2,本实施例提供一种蓝牙低功耗通信的方法,用于第一蓝牙设备和第二蓝牙设备之间通信。常见的蓝牙设备可以为耳机、手机、平板、笔记本电脑、POS机等带有蓝牙通信模块的设备或附件,由于本实施例应用于蓝牙低功耗,则蓝牙设备应该要支持蓝牙低功耗,蓝牙设备都可以是蓝牙低功耗通信中的第一蓝牙设备或第二蓝牙设备,本实施例中以发送待发送数据的作为第一蓝牙设备进行说明。根据蓝牙通信的协议,蓝牙设备间的数据发送应该是在两个蓝牙设备建立起通信连接之后才可进行,则本实施例的数据发送步骤应该发生在第一蓝牙设备与第二蓝牙设备建立起通信连接后,两个蓝牙设备建立通信连接的方式是公知技术,本实施例在此不再赘述。
本实施例的方法在步骤S101第一蓝牙设备获取第二蓝牙设备的最大传输单元值,最大传输单元(Maximum Transmission Unit,简称MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。而后以第二蓝牙设备的最大传输单元值和第一蓝牙设备的最大传输单元值两者中较小的为发送参考值。发送参考值的确定可以通过对两个最大传输单元值进行比较后选择较小的一个值,如果两个最大传输单元值相同则可任选其一。本实施例中发送参考值的确定通过如下步骤进行:第一蓝牙设备在步骤S102判 断第二蓝牙设备的最大传输单元值是否大于第一蓝牙设备的最大传输单元值,如果是大于,则进入步骤S103选择较小的第一蓝牙设备的最大传输单元值为发送参考值,否则的话进入步骤S104以较小的第二蓝牙设备的最大传输单元值为发送参考值。
发送参考值确定后,第一蓝牙设备在步骤S105发送数据到第二蓝牙设备时,首先进入步骤S106判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则第一蓝牙设备进入步骤S107直接发送待发送数据到第二蓝牙设备。否则第一蓝牙设备进入步骤S108将待发送的数据分割成数据块,其中分割后的每个数据块的大小都小于或等于发送参考值,而后第一蓝牙设备进入步骤S109循环发送分割后的数据块到第二蓝牙设备,即第一蓝牙设备发送完一个数据块后再发送下一个数据块,并依次循环发送所有的数据块。第二蓝牙设备在接收到第一蓝牙设备的各个数据块后,将其组合即可得到第一蓝牙设备所发送的数据。对于数据的拆包以及将拆后的数据包组合成数据在现有的通信领域具有广泛的应用,为现有技术。
上述实施例通过对第一蓝牙设备和第二蓝牙设备的最大传输单元值的确认,并得到发送参考值,在接下的数据发送过程中,单次发送的数据都小于发送参考值,避免了发送第一蓝牙设备单次发送数据过大而造成的发送失败后影响传输速度,则上述实施例的方案在传输数据过程具有相对较好的传输效果。以及在对数据分割时,可以将数据块的大小切割成等于或者略小于发送参考值,则可以尽可能地使得传输的次数减小,即可减少发送数据的时间。
上述实施例中,步骤S101第一蓝牙设备获取第二蓝牙设备的方式可以是多种,如在第一蓝牙设备与第二蓝牙设备建立起(通信)连接后,第一蓝牙设备通过发送一个查询请求后,而后第二蓝牙设备将自身的最大传输单元值回复给第一蓝牙设备。而在更优选的实施例中,步骤S101具体可以为:第一蓝牙设备在与第二蓝牙设备建立连接过程的注册特征步骤中,第二蓝牙设备反馈第二蓝牙设备最大传输单元值特征,第一蓝牙设备读取第二蓝牙设备最 大传输单元值特征后获取第二蓝牙设备最大传输单元值。其中,特征的概念可以参考IOS或者Android的Characteristic,只要是与上述Characteristic起到相似功能的都应当在本实施例中特征的范围内。以下结合现有的第一蓝牙设备和第二蓝牙设备的蓝牙低功耗连接过程进行说明,如图3所示,首先进入步骤S121第一蓝牙设备扫描第二蓝牙设备,扫描后则进入步骤S122第一蓝牙设备连接第二蓝牙设备。而后进入步骤S123第一蓝牙设备获取第二蓝牙设备服务,第一蓝牙设备可以选择获取第二蓝牙设备的所有的服务,也可以只获取关注的服务,其中关于数据传输相关的服务应该获取。然后进入步骤S124第一蓝牙设备获取第二蓝牙设备的特征,与服务类似,第一蓝牙设备可以获取服务下的所有特征,也可以只获取关注的特征,其中,应该获取关于数据传输的特征。获取完毕后进入注册特征步骤,即步骤S125第一蓝牙设备注册特征,此时第一蓝牙设备可以从第二蓝牙设备反馈的第二蓝牙设备最大传输单元值特征获取到第二蓝牙设备最大传输单元值。注册特征之后,第一蓝牙设备可以进行其他操作,如发送切割数据、发送数据或数据包等。通过注册特征步骤来获取最大传输单元值,避免了额外去请求以及获取最大传输单元的步骤,从而加快了从开始建立连接到数据传输的速度。
为了对发送过来的数据的进行校验,进一步地,在某些优选实施例中,第二蓝牙设备接收第一蓝牙设备发送来的数据块后,第二蓝牙设备对数据块进行计数并将计数结果回复给第一蓝牙设备。现有的蓝牙低功耗通信过程中第一蓝牙设备发送一个数据块后,要等待第二蓝牙设备的回复信息(即WriteResponse的Notify通知)后,第一蓝牙设备通过回复信息可知道第二蓝牙设备接收到的数据的情况,通过对数据块的计数第一蓝牙设备可以获知第二蓝牙设备接收到的序列的情况,从而知道第二蓝牙设备接收到的数据块是否为发送的数据块。第一蓝牙设备收到回复信息后可以进行下一个数据块的发送,而后等待下一个数据块的回复信息,循环直至数据块发送完毕,如果校验失败,可进行立刻重新发送或者等到所有数据块发送完毕后再发。数据 块的计数的位数最低可以为1位,即采用1010这样循环进行计数判断,当然也可以为多位。但是过多的位数会占用更大的回复信息位数,从而导致第二蓝牙设备回复信息的量过大而增大回复的时间,降低数据块发送的速度,则较佳的计数结果占用的数据位为1-8位。优选的实施例中可以采用4位数据位作为数据块的计数结果。当然,计数结果在回复信息中所占的位置可以是任意的,如高位或者低位。对数据块的计数可以是累加也可以是累减,本实施例并不对此进行限定。
数据在发送和接收的过程中,可能会因为信号的干扰、衰弱而造成数据块的丢包、错误等,为了解决上述问题,在某些实施例中,第二蓝牙设备接收第一蓝牙设备发送来的数据块后,第二蓝牙设备将接收到的数据块的大小信息回复给第一蓝牙设备。第一蓝牙设备通过对回复的大小信息和发送的数据块的大小信息进行比对即可知道第二蓝牙设备接收到的数据块是否是正确的数据块,当第二蓝牙设备接收到的数据块大小不正确时,则第一蓝牙设备可进行数据块的重发,重发的时机可以是立刻进行或是等待所有数据块发送完毕后进行,从而使得第二蓝牙设备接收到正确的数据块。与计数结果所占的数据位相似,大小信息所占的数据位太大的话会占用过大的回复信息位数,而增加了回复时间,但是过小的话则无法发送较大的数据,则较佳的数据块的大小信息占用的数据位为6-15位。在优选实施例中可以采用12位。同样,本实施例并不限定大小信息在回复信息中所占的位置。
上述第一蓝牙设备在发送数据块的过程中,如果发生第一蓝牙设备与第二蓝牙设备断开连接的情况时,则第一蓝牙设备会收到断开连接的通知,此时可结束发送流程,避免了发送的长时间等待而浪费设备的资源。而如果由于通信干扰或者故障,短时间内第二蓝牙设备无法接收到数据块,则第二蓝牙设备暂停回复信息,则第一蓝牙设备暂停数据发送,直到第二蓝牙设备能够继续接收处理数据时再回复消息,防止第一蓝牙设备和第二蓝牙设备处理速率不对等导致数据丢失。
上述所有实施例中,如果第一蓝牙设备在分割数据时能将分割后的数据块尽量与发送参考值相同的话,即将数据分割成数量尽量少的数据块,则第一蓝牙设备发送数据到第二蓝牙设备的时间则较少,从而使得通信速率可以尽可能地高。优选地方案为对数据进行分割时,都以发送参考值进行分割,则此方案分割后的数据块为:将待发送数据的字节数加上发送参考值的字节数并减去一后得到中间值字节数,则数据块的个数为中间值字节数除于发送参考值的字节数得到结果的整数部分的值。如果用M表示待发送数据的字节数,N为发送参考值的字节数,则优选的分割后数据块个数为(M+N-1)/N。当然也可以采用另外一种分割方式,即平均分割的方式,将数据分割成相同大小的数据块,同样的,优选的分割后的数据块个数也为(M+N-1)/N。
综上,以上所述所有实施例的蓝牙低功耗通信过程可实现相对高效的传输结果。
以及本发明还提供一种蓝牙低功耗通信的蓝牙设备,如图4所示,在本实施例中为第一蓝牙设备1,用于与其他蓝牙设备通信,为了方便说明,其他蓝牙设备在本实施例中为第二蓝牙设备2,即与本设备(第一蓝牙设备1)通信的蓝牙设备为第二蓝牙设备2,第一蓝牙设备1还用于发送数据到第二蓝牙设备2。第一蓝牙设备1包括第一收发模块10、最大传输单元值获取模块11、发送参考值选取模块12以及数据分割模块13。第一收发模块10用于接收第二蓝牙设备2的信息及发送数据到第二蓝牙设备2,为蓝牙通信模块;最大传输单元值获取模块11用于获取第二蓝牙设备的最大传输单元值;发送参考值选取模块12用于以第二蓝牙设备的最大传输单元值和第一蓝牙设备的最大传输单元值两者中较小的为发送参考值;数据分割模块13用在发送数据到第二蓝牙设备时,首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则使能第一收发模块发送待发送数据;否则将待发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后循环使能第一收发模块发送分割后的数据块。
则第一蓝牙设备1在发送数据到第二蓝牙设备2,数据分割模块13对将数据分割成小于第二蓝牙设备2的最大传输单元值,避免了传输的过大的数据而造成传输的失败,从而避免了传输过程中时间的浪费,提高了传输速率。
第一蓝牙设备1可以通过获取特征值来获取第二蓝牙设备的最大传输单元值,同样地,第一蓝牙设备1通过读取特征值来读取第二蓝牙设备的回复消息或是写入特征来发送数据。特征(Characteristic)是蓝牙通信的基本内容,蓝牙设备通过写入或读取特征来接收或者发送数据,即发送数据时应当有发送数据所用的特征,读取回复消息有读取回复消息的特征,最大传输单元值有最大传输单元值的特征。则在某些实施例中,最大传输单元值获取模块11包括最大传输单元值特征获取子模块110:用于在与第二蓝牙设备建立连接过程的注册特征过程中,读取第二蓝牙设备最大传输单元值特征后获取第二蓝牙设备最大传输单元值。在注册特征过程中,避免了在通信连接建立后再去进行发送查询以及接受回复的步骤,即减少了获取第二蓝牙设备最大传输单元值步骤,提高了传输的效率。
以及本实施例还提供一种蓝牙低功耗通信的蓝牙设备,在本实施例中为第二蓝牙设备2,如图4所示,用于与其他蓝牙设备通信,为了方便说明,其他蓝牙设备在本实施例中为第一蓝牙设备1,即与本设备(第二蓝牙设备2)通信的蓝牙设备为第一蓝牙设备1。包括第二收发模块20和最大传输单元值发送模块21。第二收发模块20用于接收第一蓝牙设备1的信息及发送数据到第一蓝牙设备1,为蓝牙通信模块。最大传输单元值发送模块21用于发送第二蓝牙设备的最大传输单元值到第一蓝牙设备。
第二蓝牙设备2通过告知第一蓝牙设备1第二蓝牙设备的最大传输单元值,使得第一蓝牙设备1可以避免发送大于第二蓝牙设备的最大传输单元值的数据,避免传输的失败,提高传输可靠性。
为了减少传输的步骤,进一步地,在某些优选实施例中,最大传输单元值21发送模块包括最大传输单元值特征发送子模块210,最大传输单元值特 征发送子模块210用于在第一蓝牙设备与第二蓝牙设备建立连接过程的注册特征步骤中,反馈第二蓝牙设备最大传输单元值特征。通过特征的反馈可节约后续最大传输单元值的查询步骤,节约传输时间,提高传输速度。
以及为了实现告知第一蓝牙设备1第二蓝牙设备2的接收到的数据信息,在某些实施例中,第二蓝牙设备2还包括数据块计数结果回复模块22。数据块计数结果回复模块22用于接收第一蓝牙设备发送来的数据块后,对数据块进行计数并将计数结果回复给第一蓝牙设备1。如果第一蓝牙设备1接收到的回复的计数结果与发出的不一致,可进行重发,从而保证通信的可靠。
以及为了能在通讯故障时发生数据包丢失的情况下实现数据的重发,在另一些实施例中,第二蓝牙设备2还包括数据块大小回复模块23:接收第一蓝牙设备发送来的数据块后,将接收到的数据块的大小信息回复给第一蓝牙设备。如果第一蓝牙设备1接收到的回复的大小信息与发出的不一致,可进行重发,保证通信的可靠。
以及本发明还提供一种蓝牙低功耗通信的系统,如图4所示,包括第一蓝牙设备1和第二蓝牙设备2,第一蓝牙设备1为上述的蓝牙低功耗通信的第一蓝牙设备1,第二蓝牙设备2为上述的蓝牙低功耗通信的第二蓝牙设备2。使用上述第一蓝牙设备1和第二蓝牙设备2的系统具有较好的数据传输可靠性和较高的数据传输速率。
上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围, 凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

一种蓝牙低功耗通信的方法、蓝牙设备和系统.pdf_第1页
第1页 / 共14页
一种蓝牙低功耗通信的方法、蓝牙设备和系统.pdf_第2页
第2页 / 共14页
一种蓝牙低功耗通信的方法、蓝牙设备和系统.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种蓝牙低功耗通信的方法、蓝牙设备和系统.pdf》由会员分享,可在线阅读,更多相关《一种蓝牙低功耗通信的方法、蓝牙设备和系统.pdf(14页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104135339A43申请公布日20141105CN104135339A21申请号201410323063022申请日20140708H04L1/00200601H04B5/0220060171申请人福建联迪商用设备有限公司地址350003福建省福州市鼓楼区软件大道89号福州软件园一区23号楼72发明人吴军华陈新74专利代理机构福州市仓山区景弘专利代理事务所普通合伙35219代理人林祥翔吕元辉54发明名称一种蓝牙低功耗通信的方法、蓝牙设备和系统57摘要本发明提供一种蓝牙低功耗通信的方法、蓝牙设备和系统,其中方法用于蓝牙设备间通信,包括第一蓝牙设备获取第二蓝牙设备的最大传输单。

2、元值,并以第二蓝牙设备的最大传输单元值和第一蓝牙设备的最大传输单元值两者中较小的为发送参考值,第一蓝牙设备在发送数据到第二蓝牙设备时,首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则直接发送待发送数据;否则将待发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后循环发送分割后的数据块。本发明避免了传输值过大而造成第二蓝牙设备接收的失败而影响传输速度;或者每次都传输过小的值而造成传输时间的延长,从而提高了蓝牙低功耗的传输的速度。51INTCL权利要求书2页说明书8页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书8页附图3页1。

3、0申请公布号CN104135339ACN104135339A1/2页21一种蓝牙低功耗通信的方法,用于蓝牙设备之间通信,其特征在于,包括步骤第一蓝牙设备获取第二蓝牙设备的最大传输单元值,并以第二蓝牙设备的最大传输单元值和第一蓝牙设备的最大传输单元值两者中较小的为发送参考值;第一蓝牙设备在发送数据到第二蓝牙设备时,首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则直接发送待发送数据;否则将待发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后循环发送分割后的数据块。2根据权利要求1所述的蓝牙低功耗通信的方法,其特征在于所述第一蓝牙设备获取第二蓝牙设备的最大。

4、传输单元值的具体步骤包括第一蓝牙设备在与第二蓝牙设备建立连接过程的注册特征步骤中,第二蓝牙设备反馈第二蓝牙设备最大传输单元值特征,第一蓝牙设备读取第二蓝牙设备最大传输单元值特征后获取第二蓝牙设备最大传输单元值。3根据权利要求1所述的蓝牙低功耗通信的方法,其特征在于第二蓝牙设备接收第一蓝牙设备发送来的数据块后,第二蓝牙设备对数据块进行计数并将计数结果回复给第一蓝牙设备。4根据权利要求3所述的蓝牙低功耗通信的方法,其特征在于所述计数结果占用的数据位为18位。5根据权利要求1或3所述的蓝牙低功耗通信的方法,其特征在于第二蓝牙设备接收第一蓝牙设备发送来的数据块后,第二蓝牙设备将接收到的数据块的大小信息。

5、回复给第一蓝牙设备。6根据权利要求5所述的蓝牙低功耗通信的方法,其特征在于所述数据块的大小信息占用的数据位为615位。7根据权利要求1所述的蓝牙低功耗通信的方法,其特征在于待发送数据分割后的数据块的个数为将待发送数据的字节数加上发送参考值的字节数并减去一后得到中间值字节数,则数据块的个数为中间值字节数除于发送参考值的字节数得到结果的整数部分的值。8一种蓝牙低功耗通信的蓝牙设备,用于与其他蓝牙设备通信,其特征在于包括第一收发模块、最大传输单元值获取模块、发送参考值选取模块以及数据分割模块,其中第一收发模块用于接收与本设备通信的蓝牙设备的信息及发送数据到与本设备通信的蓝牙设备;最大传输单元值获取模。

6、块用于获取与本设备通信的蓝牙设备的最大传输单元值;发送参考值选取模块用于以与本设备通信的蓝牙设备的最大传输单元值和本设备的最大传输单元值两者中较小的为发送参考值;数据分割模块用在发送数据到与本设备通信的蓝牙设备时,首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则使能第一收发模块发送待发送数据;否则将待发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后循环使能第一收发模块发送分割后的数据块。9根据权利要求8所述的蓝牙低功耗通信的蓝牙设备,其特征在于所述最大传输单元值获取模块包括最大传输单元值特征获取子模块用于在本设备与其他蓝牙设备建立连接过程的注册特征。

7、过程中,读取与本设备通信的蓝牙设备的最大传输单元值特征后获取与本设备通信的蓝牙设备的最大传输单元值。权利要求书CN104135339A2/2页310一种蓝牙低功耗通信的蓝牙设备,用于与其他蓝牙设备通信,其特征在于包括第二收发模块和最大传输单元值发送模块;其中第二收发模块用于接收与本设备通信的蓝牙设备的信息及发送数据到与本设备通信的蓝牙设备;最大传输单元值发送模块用于发送本设备的最大传输单元值到与本设备通信的蓝牙设备。11根据权利要求10所述的蓝牙低功耗通信的蓝牙设备,其特征在于所述的最大传输单元值发送模块包括最大传输单元值特征发送子模块,最大传输单元值特征发送子模块用于在本设备与其他蓝牙设备建。

8、立连接过程的注册特征步骤中,反馈本设备的最大传输单元值特征。12根据权利要求10或11所述的蓝牙低功耗通信的蓝牙设备,其特征在于还包括数据块计数结果回复模块用于接收与本设备通信的蓝牙设备发送来的数据块后,对数据块进行计数并将计数结果回复给与本设备通信的蓝牙设备。13根据权利要求10或11所述的蓝牙低功耗通信的蓝牙设备,其特征在于还包括数据块大小回复模块接收与本设备通信的蓝牙设备发送来的数据块后,将接收到的数据块的大小信息回复给与本设备通信的蓝牙设备。14一种蓝牙低功耗通信的系统,包括第一蓝牙设备和第二蓝牙设备,其特征在于所述的第一蓝牙设备为权利要求8或9所述的蓝牙低功耗通信的蓝牙设备,所述的第。

9、二蓝牙设备为权利要求10到13任一项所述的蓝牙低功耗通信的蓝牙设备。权利要求书CN104135339A1/8页4一种蓝牙低功耗通信的方法、蓝牙设备和系统技术领域0001本发明涉及蓝牙通信技术领域,尤其涉及一种蓝牙低功耗通信的方法、蓝牙设备和系统。背景技术0002蓝牙低能耗BLUETOOTHLOWENERGY,简称BLE技术是低成本、短距离、可互操作的鲁棒性无线技术,该技术是BLUETOOTH40的一项关键功能,工作在免许可的24GHZISM射频频段。它从一开始就设计为超低功耗ULP无线技术。它令许多智能手段能最大限度地降低功耗。0003蓝牙低能耗技术采用可变连接时间间隔,这个间隔根据具体应用可。

10、以设置为几毫秒到几秒不等。另外,因为BLE技术采用非常快速的连接方式,因此平时可以处于“非连接”状态节省能源,此时链路两端相互间只是知晓对方,只有在必要时才开启链路,然后在尽可能短的时间内关闭链路。0004BLE技术的工作模式非常适合用于从微型无线传感器每半秒交换一次数据或使用完全异步通信的遥控器等其它外设传送数据。这些设备发送的数据量非常少通常几个字节,而且发送次数也很少例如每秒几次到每分钟一次,甚至更少。0005现有的移动设备如安卓设备和IOS设备都增加了对蓝牙低功耗技术的支持,通过蓝牙低功耗技术实现数据交互,但是在实现本发明的过程中,发明人发现现有技术中存在如下问题蓝牙低功耗数据传输慢,。

11、速度在05KB/S左右,效率低下,在传输兆级字节大小的数据量时,其传输消耗的时间需要几十分钟,无法满足较大数据量通信的快速响应需求。发明内容0006为此,需要提供解决蓝牙低功耗数据传输过程中通信速度慢的问题的技术方案。0007为实现上述目的,发明人提供了一种蓝牙低功耗通信的方法、蓝牙设备和系统,实现方式如下0008包括步骤第一蓝牙设备获取第二蓝牙设备的最大传输单元值,并以第二蓝牙设备的最大传输单元值和第一蓝牙设备的最大传输单元值两者中较小的为发送参考值;0009第一蓝牙设备在发送数据到第二蓝牙设备时,首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则直接发送待发送数据;否则将待。

12、发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后循环发送分割后的数据块。0010进一步地,所述第一蓝牙设备获取第二蓝牙设备的最大传输单元值的具体步骤包括第一蓝牙设备在与第二蓝牙设备建立连接过程的注册特征步骤中,第二蓝牙设备反馈第二蓝牙设备最大传输单元值特征,第一蓝牙设备读取第二蓝牙设备最大传输单元值特征后获取第二蓝牙设备最大传输单元值。说明书CN104135339A2/8页50011进一步地,第二蓝牙设备接收第一蓝牙设备发送来的数据块后,第二蓝牙设备对数据块进行计数并将计数结果回复给第一蓝牙设备。0012进一步地,所述计数结果占用的数据位为18位。0013进一步地,。

13、第二蓝牙设备接收第一蓝牙设备发送来的数据块后,第二蓝牙设备将接收到的数据块的大小信息回复给第一蓝牙设备。0014进一步地,所述数据块的大小信息占用的数据位为615位。0015进一步地,待发送数据分割后的数据块的个数为将待发送数据的字节数加上发送参考值的字节数并减去一后得到中间值字节数,则数据块的个数为中间值字节数除于发送参考值的字节数得到结果的整数部分的值。0016以上的方法在分别用于第一蓝牙设备和第二蓝牙设备时;第一蓝牙设备的蓝牙低功耗通信的方法包括如下步骤如图1所示步骤S001获取与本设备通信的蓝牙设备的最大传输单元值,步骤S002并以获取到的最大传输单元值和本设备的最大传输单元值两者中较。

14、小的为发送参考值;0017步骤S003在发送数据到与本设备通信的蓝牙设备时,步骤S004首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则步骤S005直接发送待发送数据;否则步骤S006将待发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后步骤S007循环发送分割后的数据块。0018进一步地,获取与本设备通信的蓝牙设备的最大传输单元值的具体步骤包括本设备在与通信的蓝牙设备建立连接过程的注册特征步骤中,读取与本设备通信的蓝牙设备最大传输单元值特征后获取与本设备通信的蓝牙设备的最大传输单元值。0019进一步地,待发送数据分割后的数据块的个数为将待发送数据的。

15、字节数加上发送参考值的字节数并减去一后得到中间值字节数,则数据块的个数为中间值字节数除于发送参考值的字节数得到结果的整数部分的值。0020以及以上的方法在用在第二蓝牙设备时;本设备在与通信的蓝牙设备建立连接过程的注册特征步骤中,反馈本设备的最大传输单元值特征。0021进一步地,还包括如下步骤在接收与本设备通信的蓝牙设备发送来的数据块后,本设备对数据块进行计数并将计数结果回复给与本设备通信的蓝牙设备。0022进一步地,所述计数结果占用的数据位为18位。0023进一步地,还包括如下步骤S在接收与本设备通信的蓝牙设备发送来的数据块后,将接收到的数据块的大小信息回复给与本设备通信的蓝牙设备。0024进。

16、一步地,所述数据块的大小信息占用的数据位为615位。0025以及本发明还提供一种蓝牙低功耗通信的蓝牙设备,用于与其他蓝牙设备通信,包括第一收发模块、最大传输单元值获取模块、发送参考值选取模块以及数据分割模块,其中0026第一收发模块用于接收与本设备通信的蓝牙设备的信息及发送数据到与本设备通信的蓝牙设备;0027最大传输单元值获取模块用于获取与本设备通信的蓝牙设备的最大传输单元值;0028发送参考值选取模块用于以与本设备通信的蓝牙设备的最大传输单元值和本设说明书CN104135339A3/8页6备的最大传输单元值两者中较小的为发送参考值;0029数据分割模块用在发送数据到与本设备通信的蓝牙设备时。

17、,首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则使能第一收发模块发送待发送数据;否则将待发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后循环使能第一收发模块发送分割后的数据块。0030进一步地,所述最大传输单元值获取模块包括最大传输单元值特征获取子模块用于在本设备与其他蓝牙设备建立连接过程的注册特征过程中,读取与本设备通信的蓝牙设备的最大传输单元值特征后获取与本设备通信的蓝牙设备的最大传输单元值。0031以及本发明还提供一种蓝牙低功耗通信的蓝牙设备,用于与其他蓝牙设备通信,包括第二收发模块和最大传输单元值发送模块;其中0032第二收发模块用于接收。

18、与本设备通信的蓝牙设备的信息及发送数据到与本设备通信的蓝牙设备;0033最大传输单元值发送模块用于发送本设备的最大传输单元值到与本设备通信的蓝牙设备。0034进一步地,所述的最大传输单元值发送模块包括最大传输单元值特征发送子模块,最大传输单元值特征发送子模块用于在本设备与其他蓝牙设备建立连接过程的注册特征步骤中,反馈本设备的最大传输单元值特征。0035进一步地,还包括数据块计数结果回复模块用于接收与本设备通信的蓝牙设备发送来的数据块后,对数据块进行计数并将计数结果回复给与本设备通信的蓝牙设备。0036进一步地,还包括数据块大小回复模块接收与本设备通信的蓝牙设备发送来的数据块后,将接收到的数据块。

19、的大小信息回复给与本设备通信的蓝牙设备。0037以及一种蓝牙低功耗通信的系统,包括第一蓝牙设备和第二蓝牙设备,所述的第一蓝牙设备为上述的蓝牙低功耗通信的蓝牙设备,所述的第二蓝牙设备为上述的区别于第一蓝牙设备的蓝牙低功耗通信的蓝牙设备。0038区别于现有技术,上述技术方案具有如下优点第一蓝牙设备通过获取到第二蓝牙设备的最大传输单元,并选定发送参考值,而后在发送数据时都小于发送参考值,避免了传输值过大而造成第二蓝牙设备接收的失败而影响传输速度;或者每次都传输过小的值而造成传输时间的延长,从而上述技术方案提高了蓝牙低功耗的传输的速度。附图说明0039图1为本发明第一蓝牙设备方法的流程图;0040图2。

20、为本发明方法实施例的流程图;0041图3为本发明实施例获取第二蓝牙设备最大传输单元值的方法流程图;0042图4为本发明系统实施例的结构示意图。0043附图标记说明00441、第一蓝牙设备,004510、第一收发模块,004611、最大传输单元值获取模块,0047110、最大传输单元值特征获取子模块,说明书CN104135339A4/8页7004812、发送参考值选取模块,004913、数据分割模块,00502、第二蓝牙设备,005120、第二收发模块,005221、最大传输单元值发送模块,0053210、最大传输单元值特征发送子模块,005422、数据块计数结果回复模块005523、数据块大小。

21、回复模块。具体实施方式0056为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。0057请参阅图2,本实施例提供一种蓝牙低功耗通信的方法,用于第一蓝牙设备和第二蓝牙设备之间通信。常见的蓝牙设备可以为耳机、手机、平板、笔记本电脑、POS机等带有蓝牙通信模块的设备或附件,由于本实施例应用于蓝牙低功耗,则蓝牙设备应该要支持蓝牙低功耗,蓝牙设备都可以是蓝牙低功耗通信中的第一蓝牙设备或第二蓝牙设备,本实施例中以发送待发送数据的作为第一蓝牙设备进行说明。根据蓝牙通信的协议,蓝牙设备间的数据发送应该是在两个蓝牙设备建立起通信连接之后才可进行,则本实施例的数据发送。

22、步骤应该发生在第一蓝牙设备与第二蓝牙设备建立起通信连接后,两个蓝牙设备建立通信连接的方式是公知技术,本实施例在此不再赘述。0058本实施例的方法在步骤S101第一蓝牙设备获取第二蓝牙设备的最大传输单元值,最大传输单元MAXIMUMTRANSMISSIONUNIT,简称MTU是指一种通信协议的某一层上面所能通过的最大数据包大小以字节为单位。而后以第二蓝牙设备的最大传输单元值和第一蓝牙设备的最大传输单元值两者中较小的为发送参考值。发送参考值的确定可以通过对两个最大传输单元值进行比较后选择较小的一个值,如果两个最大传输单元值相同则可任选其一。本实施例中发送参考值的确定通过如下步骤进行第一蓝牙设备在步。

23、骤S102判断第二蓝牙设备的最大传输单元值是否大于第一蓝牙设备的最大传输单元值,如果是大于,则进入步骤S103选择较小的第一蓝牙设备的最大传输单元值为发送参考值,否则的话进入步骤S104以较小的第二蓝牙设备的最大传输单元值为发送参考值。0059发送参考值确定后,第一蓝牙设备在步骤S105发送数据到第二蓝牙设备时,首先进入步骤S106判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则第一蓝牙设备进入步骤S107直接发送待发送数据到第二蓝牙设备。否则第一蓝牙设备进入步骤S108将待发送的数据分割成数据块,其中分割后的每个数据块的大小都小于或等于发送参考值,而后第一蓝牙设备进入步骤S10。

24、9循环发送分割后的数据块到第二蓝牙设备,即第一蓝牙设备发送完一个数据块后再发送下一个数据块,并依次循环发送所有的数据块。第二蓝牙设备在接收到第一蓝牙设备的各个数据块后,将其组合即可得到第一蓝牙设备所发送的数据。对于数据的拆包以及将拆后的数据包组合成数据在现有的通信领域具有广泛的应用,为现有技术。0060上述实施例通过对第一蓝牙设备和第二蓝牙设备的最大传输单元值的确认,并得说明书CN104135339A5/8页8到发送参考值,在接下的数据发送过程中,单次发送的数据都小于发送参考值,避免了发送第一蓝牙设备单次发送数据过大而造成的发送失败后影响传输速度,则上述实施例的方案在传输数据过程具有相对较好的。

25、传输效果。以及在对数据分割时,可以将数据块的大小切割成等于或者略小于发送参考值,则可以尽可能地使得传输的次数减小,即可减少发送数据的时间。0061上述实施例中,步骤S101第一蓝牙设备获取第二蓝牙设备的方式可以是多种,如在第一蓝牙设备与第二蓝牙设备建立起通信连接后,第一蓝牙设备通过发送一个查询请求后,而后第二蓝牙设备将自身的最大传输单元值回复给第一蓝牙设备。而在更优选的实施例中,步骤S101具体可以为第一蓝牙设备在与第二蓝牙设备建立连接过程的注册特征步骤中,第二蓝牙设备反馈第二蓝牙设备最大传输单元值特征,第一蓝牙设备读取第二蓝牙设备最大传输单元值特征后获取第二蓝牙设备最大传输单元值。其中,特征。

26、的概念可以参考IOS或者ANDROID的CHARACTERISTIC,只要是与上述CHARACTERISTIC起到相似功能的都应当在本实施例中特征的范围内。以下结合现有的第一蓝牙设备和第二蓝牙设备的蓝牙低功耗连接过程进行说明,如图3所示,首先进入步骤S121第一蓝牙设备扫描第二蓝牙设备,扫描后则进入步骤S122第一蓝牙设备连接第二蓝牙设备。而后进入步骤S123第一蓝牙设备获取第二蓝牙设备服务,第一蓝牙设备可以选择获取第二蓝牙设备的所有的服务,也可以只获取关注的服务,其中关于数据传输相关的服务应该获取。然后进入步骤S124第一蓝牙设备获取第二蓝牙设备的特征,与服务类似,第一蓝牙设备可以获取服务下。

27、的所有特征,也可以只获取关注的特征,其中,应该获取关于数据传输的特征。获取完毕后进入注册特征步骤,即步骤S125第一蓝牙设备注册特征,此时第一蓝牙设备可以从第二蓝牙设备反馈的第二蓝牙设备最大传输单元值特征获取到第二蓝牙设备最大传输单元值。注册特征之后,第一蓝牙设备可以进行其他操作,如发送切割数据、发送数据或数据包等。通过注册特征步骤来获取最大传输单元值,避免了额外去请求以及获取最大传输单元的步骤,从而加快了从开始建立连接到数据传输的速度。0062为了对发送过来的数据的进行校验,进一步地,在某些优选实施例中,第二蓝牙设备接收第一蓝牙设备发送来的数据块后,第二蓝牙设备对数据块进行计数并将计数结果回。

28、复给第一蓝牙设备。现有的蓝牙低功耗通信过程中第一蓝牙设备发送一个数据块后,要等待第二蓝牙设备的回复信息即WRITERESPONSE的NOTIFY通知后,第一蓝牙设备通过回复信息可知道第二蓝牙设备接收到的数据的情况,通过对数据块的计数第一蓝牙设备可以获知第二蓝牙设备接收到的序列的情况,从而知道第二蓝牙设备接收到的数据块是否为发送的数据块。第一蓝牙设备收到回复信息后可以进行下一个数据块的发送,而后等待下一个数据块的回复信息,循环直至数据块发送完毕,如果校验失败,可进行立刻重新发送或者等到所有数据块发送完毕后再发。数据块的计数的位数最低可以为1位,即采用1010这样循环进行计数判断,当然也可以为多位。

29、。但是过多的位数会占用更大的回复信息位数,从而导致第二蓝牙设备回复信息的量过大而增大回复的时间,降低数据块发送的速度,则较佳的计数结果占用的数据位为18位。优选的实施例中可以采用4位数据位作为数据块的计数结果。当然,计数结果在回复信息中所占的位置可以是任意的,如高位或者低位。对数据块的计数可以是累加也可以是累减,本实施例并不对此进行限定。0063数据在发送和接收的过程中,可能会因为信号的干扰、衰弱而造成数据块的丢包、说明书CN104135339A6/8页9错误等,为了解决上述问题,在某些实施例中,第二蓝牙设备接收第一蓝牙设备发送来的数据块后,第二蓝牙设备将接收到的数据块的大小信息回复给第一蓝牙。

30、设备。第一蓝牙设备通过对回复的大小信息和发送的数据块的大小信息进行比对即可知道第二蓝牙设备接收到的数据块是否是正确的数据块,当第二蓝牙设备接收到的数据块大小不正确时,则第一蓝牙设备可进行数据块的重发,重发的时机可以是立刻进行或是等待所有数据块发送完毕后进行,从而使得第二蓝牙设备接收到正确的数据块。与计数结果所占的数据位相似,大小信息所占的数据位太大的话会占用过大的回复信息位数,而增加了回复时间,但是过小的话则无法发送较大的数据,则较佳的数据块的大小信息占用的数据位为615位。在优选实施例中可以采用12位。同样,本实施例并不限定大小信息在回复信息中所占的位置。0064上述第一蓝牙设备在发送数据块。

31、的过程中,如果发生第一蓝牙设备与第二蓝牙设备断开连接的情况时,则第一蓝牙设备会收到断开连接的通知,此时可结束发送流程,避免了发送的长时间等待而浪费设备的资源。而如果由于通信干扰或者故障,短时间内第二蓝牙设备无法接收到数据块,则第二蓝牙设备暂停回复信息,则第一蓝牙设备暂停数据发送,直到第二蓝牙设备能够继续接收处理数据时再回复消息,防止第一蓝牙设备和第二蓝牙设备处理速率不对等导致数据丢失。0065上述所有实施例中,如果第一蓝牙设备在分割数据时能将分割后的数据块尽量与发送参考值相同的话,即将数据分割成数量尽量少的数据块,则第一蓝牙设备发送数据到第二蓝牙设备的时间则较少,从而使得通信速率可以尽可能地高。

32、。优选地方案为对数据进行分割时,都以发送参考值进行分割,则此方案分割后的数据块为将待发送数据的字节数加上发送参考值的字节数并减去一后得到中间值字节数,则数据块的个数为中间值字节数除于发送参考值的字节数得到结果的整数部分的值。如果用M表示待发送数据的字节数,N为发送参考值的字节数,则优选的分割后数据块个数为MN1/N。当然也可以采用另外一种分割方式,即平均分割的方式,将数据分割成相同大小的数据块,同样的,优选的分割后的数据块个数也为MN1/N。0066综上,以上所述所有实施例的蓝牙低功耗通信过程可实现相对高效的传输结果。0067以及本发明还提供一种蓝牙低功耗通信的蓝牙设备,如图4所示,在本实施例。

33、中为第一蓝牙设备1,用于与其他蓝牙设备通信,为了方便说明,其他蓝牙设备在本实施例中为第二蓝牙设备2,即与本设备第一蓝牙设备1通信的蓝牙设备为第二蓝牙设备2,第一蓝牙设备1还用于发送数据到第二蓝牙设备2。第一蓝牙设备1包括第一收发模块10、最大传输单元值获取模块11、发送参考值选取模块12以及数据分割模块13。第一收发模块10用于接收第二蓝牙设备2的信息及发送数据到第二蓝牙设备2,为蓝牙通信模块;最大传输单元值获取模块11用于获取第二蓝牙设备的最大传输单元值;发送参考值选取模块12用于以第二蓝牙设备的最大传输单元值和第一蓝牙设备的最大传输单元值两者中较小的为发送参考值;数据分割模块13用在发送数。

34、据到第二蓝牙设备时,首先判断待发送数据大小是否大于发送参考值,如果不大于发送参考值,则使能第一收发模块发送待发送数据;否则将待发送的数据分割成数据块,分割后的每个数据块的大小都小于或等于发送参考值,而后循环使能第一收发模块发送分割后的数据块。0068则第一蓝牙设备1在发送数据到第二蓝牙设备2,数据分割模块13对将数据分割成小于第二蓝牙设备2的最大传输单元值,避免了传输的过大的数据而造成传输的失败,说明书CN104135339A7/8页10从而避免了传输过程中时间的浪费,提高了传输速率。0069第一蓝牙设备1可以通过获取特征值来获取第二蓝牙设备的最大传输单元值,同样地,第一蓝牙设备1通过读取特征。

35、值来读取第二蓝牙设备的回复消息或是写入特征来发送数据。特征CHARACTERISTIC是蓝牙通信的基本内容,蓝牙设备通过写入或读取特征来接收或者发送数据,即发送数据时应当有发送数据所用的特征,读取回复消息有读取回复消息的特征,最大传输单元值有最大传输单元值的特征。则在某些实施例中,最大传输单元值获取模块11包括最大传输单元值特征获取子模块110用于在与第二蓝牙设备建立连接过程的注册特征过程中,读取第二蓝牙设备最大传输单元值特征后获取第二蓝牙设备最大传输单元值。在注册特征过程中,避免了在通信连接建立后再去进行发送查询以及接受回复的步骤,即减少了获取第二蓝牙设备最大传输单元值步骤,提高了传输的效率。

36、。0070以及本实施例还提供一种蓝牙低功耗通信的蓝牙设备,在本实施例中为第二蓝牙设备2,如图4所示,用于与其他蓝牙设备通信,为了方便说明,其他蓝牙设备在本实施例中为第一蓝牙设备1,即与本设备第二蓝牙设备2通信的蓝牙设备为第一蓝牙设备1。包括第二收发模块20和最大传输单元值发送模块21。第二收发模块20用于接收第一蓝牙设备1的信息及发送数据到第一蓝牙设备1,为蓝牙通信模块。最大传输单元值发送模块21用于发送第二蓝牙设备的最大传输单元值到第一蓝牙设备。0071第二蓝牙设备2通过告知第一蓝牙设备1第二蓝牙设备的最大传输单元值,使得第一蓝牙设备1可以避免发送大于第二蓝牙设备的最大传输单元值的数据,避免。

37、传输的失败,提高传输可靠性。0072为了减少传输的步骤,进一步地,在某些优选实施例中,最大传输单元值21发送模块包括最大传输单元值特征发送子模块210,最大传输单元值特征发送子模块210用于在第一蓝牙设备与第二蓝牙设备建立连接过程的注册特征步骤中,反馈第二蓝牙设备最大传输单元值特征。通过特征的反馈可节约后续最大传输单元值的查询步骤,节约传输时间,提高传输速度。0073以及为了实现告知第一蓝牙设备1第二蓝牙设备2的接收到的数据信息,在某些实施例中,第二蓝牙设备2还包括数据块计数结果回复模块22。数据块计数结果回复模块22用于接收第一蓝牙设备发送来的数据块后,对数据块进行计数并将计数结果回复给第一。

38、蓝牙设备1。如果第一蓝牙设备1接收到的回复的计数结果与发出的不一致,可进行重发,从而保证通信的可靠。0074以及为了能在通讯故障时发生数据包丢失的情况下实现数据的重发,在另一些实施例中,第二蓝牙设备2还包括数据块大小回复模块23接收第一蓝牙设备发送来的数据块后,将接收到的数据块的大小信息回复给第一蓝牙设备。如果第一蓝牙设备1接收到的回复的大小信息与发出的不一致,可进行重发,保证通信的可靠。0075以及本发明还提供一种蓝牙低功耗通信的系统,如图4所示,包括第一蓝牙设备1和第二蓝牙设备2,第一蓝牙设备1为上述的蓝牙低功耗通信的第一蓝牙设备1,第二蓝牙设备2为上述的蓝牙低功耗通信的第二蓝牙设备2。使。

39、用上述第一蓝牙设备1和第二蓝牙设备2的系统具有较好的数据传输可靠性和较高的数据传输速率。0076上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方说明书CN104135339A108/8页11法所述的全部或部分步骤。所述计算机设备,例如个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。0077以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。说明书CN104135339A111/3页12图1说明书附图CN104135339A122/3页13图2说明书附图CN104135339A133/3页14图3图4说明书附图CN104135339A14。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1