基于ble的通讯方法、装置、设备、系统以及存储介质

文档序号:1893205 发布日期:2021-11-26 浏览:15次 >En<

阅读说明:本技术 基于ble的通讯方法、装置、设备、系统以及存储介质 (BLE-based communication method, device, equipment, system and storage medium ) 是由 张心 于 2020-05-20 设计创作,主要内容包括:本公开提供一种基于BLE的通讯方法、装置、设备、系统以及存储介质,所述方法包括:确定对端设备的协议数据单元所支持的最大数据长度的协议数据单元,以使所述对端设备基于所述最大数据长度的协议数据单元对待发送的目标数据进行分包处理,生成一个或多个数据分包;接收所述对端设备发送的所述一个或多个数据分包;基于所述数据分包进行重组得到所述目标数据,并对所述目标数据进行处理。本公开实施例有利于提高数据传输效率。(The present disclosure provides a communication method, device, apparatus, system and storage medium based on BLE, the method comprising: determining a protocol data unit with the maximum data length supported by a protocol data unit of opposite-end equipment, so that the opposite-end equipment performs packet processing on target data to be sent based on the protocol data unit with the maximum data length to generate one or more data packets; receiving the one or more data packets sent by the opposite terminal equipment; and recombining based on the data sub-packets to obtain the target data, and processing the target data. The embodiment of the disclosure is beneficial to improving the data transmission efficiency.)

基于BLE的通讯方法、装置、设备、系统以及存储介质

技术领域

本公开涉及蓝牙通讯技术领域,尤其涉及一种基于BLE的通讯方法、装置、设备、系统以及计算机可读存储介质。

背景技术

可穿戴设备(如手表、手环、臂带等)在与相应的控制端(如手机、平板等)进行交互的过程中经常需要进行数据传输,其中一种传输方式是基于蓝牙技术进行数据传输,目前蓝牙低能耗(Bluetooth Low Energy,BLE)是可穿戴技术中最热门的技术之一,蓝牙低能耗旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用,相较经典蓝牙,低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。但目前通过BLE技术进行数据传输存在传输效率低的问题。

发明内容

为克服相关技术中存在的问题,本公开提供了一种基于BLE的通讯方法、装置、设备、系统以及计算机可读存储介质。

根据本公开实施例的第一方面,提供一种基于BLE的通讯方法,包括:

确定对端设备的协议数据单元所支持的最大数据长度的协议数据单元,以使所述对端设备基于所述最大数据长度的协议数据单元对待发送的目标数据进行分包处理,生成一个或多个数据分包;

接收所述对端设备发送的所述一个或多个数据分包;

基于所述数据分包进行重组得到所述目标数据,并对所述目标数据进行处理。

根据本公开实施例的第二方面,提供一种基于BLE的通讯装置,应用于可穿戴设备,包括:

长度确定模块,用于确定对端设备的协议数据单元所支持的最大数据长度的协议数据单元,以使所述对端设备基于所述最大数据长度的协议数据单元对待发送的目标数据进行分包处理,生成一个或多个数据分包;

数据分包接收模块,用于接收所述对端设备发送的所述一个或多个数据分包;

目标数据处理模块,用于基于所述数据分包进行重组得到所述目标数据,并对所述目标数据进行处理。根据本公开实施例的第三方面,提供一种可穿戴设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,

所述处理器被配置为调用所述可执行指令时执行如上所述方法中的操作。

根据本公开实施例的第四方面,提供一种通讯系统,包括第三方面所述的可穿戴设备以及对端设备;

所述可穿戴设备用于确定对端设备的协议数据单元所支持的最大数据长度并反馈给所述对端设备上的应用程序;

所述对端设备上的应用程序用于基于所述最大数据长度的协议数据单元对待发送的目标数据进行分包处理,生成发送至所述可穿戴设备的一个或多个数据分包;

所述可穿戴设备还用于基于所述数据分包进行重组得到所述目标数据,并对所述目标数据进行处理。

根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,当由一个或多个处理器执行时,使得处理器执行如上所述方法中的操作。

本公开的实施例提供的技术方案可以包括以下有益效果:

本公开中,在与对端设备建立连接之后,确定对端设备的协议数据单元所支持的最大数据长度,使得所述对端设备基于所述最大数据长度的协议数据单元对待发送的目标数据进行分包处理,生成一个或多个数据分包,这样在对端设备的协议数据单元所支持的最大数据长度的基础上封装数据,可以保证所述对端设备每次可以传输尽可能多的数据,有利于提高传输效率。

本公开中,通过链路层特征查询请求查询对端设备的协议数据单元所支持的最大数据长度,使得所述对端设备基于所述最大数据长度封装数据,有利于提高数据传输效率。

本公开中,在确定所述最大数据长度为第一长度时,可以向所述对端设备发送数据长度变更请求,以使对端设备将其协议数据单元所应用的数据长度从第二长度变更为所述第一长度,所述第二长度小于所述第一长度,使得所述对端设备能够基于所述最大数据长度封装数据,有利于提高数据传输效率。

本公开中,所述数据分包包括控制字段;所述控制字段用于描述所述可穿戴设备所本次要提供的一个或多个服务,所述控制字段所指向的服务由所述对端设备从预存的服务集合中确定,所述服务集合包括所述可穿戴设备能够提供的所有服务,无需对端设备扫描并发现服务的过程,有利于提高通讯效率。

本公开中,所述控制字段包括传输状态标志字段以及目标特征字段;所述传输状态标志字段用于描述所述数据分包的数据传输状态,从而保证数据分包的有序传输;所述目标特征字段用于描述所述可穿戴设备本次要提供的一个或多个服务对应的一个或多个目标特征,使得所述可穿戴设备可以通过所述目标特征定位到相应的服务。

本公开中,所述目标特征字段包括用于描述所述目标特征的枚举值,避免目标特征过多占据过多字节,有利于减少数据传输量,提高传输效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本公开根据一示例性实施例示出的为蓝牙4.0/4.1协议定义的链路层数据包结构图。

图2是本公开根据一示例性实施例示出的为蓝牙4.2协议定义的链路层数据包结构图。

图3是本公开根据一示例性实施例示出的一种基于BLE的通讯方法的流程图。

图4是本公开根据一示例性实施例示出的一种基于BLE的通讯装置的框图。

图5是本公开根据一示例性实施例示出的一种电子设备的架构图。

图6是本公开根据一示例性实施例示出的一种通讯系统的结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

可穿戴设备(如手表、手环、臂带等)在与相应的控制端(如手机、平板等电子设备)进行交互的过程中经常需要进行数据传输,其中一种传输方式是基于蓝牙技术进行数据传输,目前蓝牙低能耗(Bluetooth Low Energy,BLE)是可穿戴技术中最热门的技术之一,蓝牙低能耗旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用,相较经典蓝牙,低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。目前BLE技术支持的协议数据单元(PDU,Protocol Data Uint)的有效载荷量包括27字节和251字节,但通常默认以27字节来进行数据传输,造成数据传输效率低的问题。

作为例子,请参阅图1,为蓝牙4.0/4.1协议定义的链路层数据包结构图,其数据长度为41字节,其存在1个字节的前导(preamble)、4个字节的访问地址(Access Address)、3个字节的循环冗余检查(CRC)以及33字节的协议数据单元(PDU,Protocol Data Uint),33字节的协议数据单元包括2字节的数据头(Header)、27字节的有效载荷量(Payload)和可选的4个字节的消息完整性检测(MIC),其中27字节有效载荷量(Payload)还包括3字节的ATT数据头以及4字节的L2CAP数据头(图中未示出),应用层的最大传输单元为20字节,即当协议数据单元(PDU,Protocol Data Uint)的有效载荷量为27字节时,控制端的应用程序能够使用20字节,造成数据传输效率低的问题。

请参阅图2,为蓝牙4.2协议定义的链路层数据包结构,蓝牙4.2协议及更新版本支持数据长度扩展功能(DLE:Data Length Extension),其数据长度为265字节,其存在1个字节的前导(preamble)、4个字节的访问地址(Access Address)、3个字节的循环冗余检查(CRC)以及257字节的协议数据单元(PDU,Protocol Data Uint),257字节的协议数据单元包括2字节的数据头(Header)、251字节的有效载荷量(Payload)和可选的4个字节的消息完整性检测(MIC),其中251字节有效载荷量(Payload)还包括3字节的ATT数据头以及4字节的L2CAP数据头,则应用层的最大传输单元(ATT Payload)为244字节,即当协议数据单元(PDU,Protocol Data Uint)的有效载荷量为251字节时,控制端的应用程序能够使用244字节。

针对于上述问题,本公开实施例提供了一种基于BLE的通讯方法、装置、可穿戴设备、系统及计算机可读存储介质,可以在进行数据传输之前,可穿戴设备确定对端设备的协议数据单元所支持的最大数据长度,以使所述对端设备基于所述最大数据长度的协议数据单元封装待发送的目标数据,有利于提高数据传输效率。

请参阅图3,为本公开实施例提供的一种基于BLE的通讯方法,所述方法可应用于可穿戴设备上,所述可穿戴设备包括但不限于手表、手环、臂带或者脚环等,所述可穿戴设备可与对端设备通过BLE蓝牙技术进行通讯。所述方法包括:

在步骤S301中,确定对端设备的协议数据单元所支持的最大数据长度,以使所述对端设备基于所述最大数据长度的协议数据单元对待发送的目标数据进行分包处理,生成一个或多个数据分包。

在步骤S302中,接收所述对端设备发送的所述一个或多个数据分包。

在步骤S303中,基于所述数据分包进行重组得到所述目标数据,并对所述目标数据进行处理。

在一实施例中,所述对端设备的协议数据单元的数据长度是关于链路层的信息,属于系统底层信息,考虑到所述对端设备的操作系统(诸如安卓系统、IOS系统等)并没有将底层信息向应用层开放,因此安装在对端设备上的应用程序无法直接获知本地设备的底层信息,而可穿戴设备在与对端设备建立蓝牙连接的过程中,由于涉及到蓝牙标准协议,BLE4.2协议允许主设备(对端设备)与从设备(可穿戴设备)之间协商数据长度。因此,可以由所述可穿戴设备来确定对端设备的协议数据单元所支持的最大数据长度。

在一种实现方式中,所述可穿戴设备可以向所述对端设备的操作系统发送链路层特征查询请求,所述对端设备的操作系统响应于所述链路层特征查询请求向所述可穿戴设备返回链路层特征响应,所述链路层特征响应用于描述所述对端设备的协议数据单元所支持的最大数据长度,这样,所述可穿戴设备可以确定所述对端设备的协议数据单元所支持的最大数据长度。然后,所述可穿戴设备可以将有关所述最大数据长度的信息反馈给所述对端设备的应用程序,使得所述对端设备可以基于所述最大数据长度来封装待发送的目标数据。

进一步地,若所述最大数据长度为第一长度,所述可穿戴设备可以向所述对端设备发送数据长度变更请求,所述数据长度变更请求用于触发所述对端设备将其协议数据单元所应用的数据长度从第二长度变更为所述第一长度;所述第二长度小于所述第一长度。本实施例中,通过更改对端设备的协议数据单元所应用的数据长度,可以使所述对端设备能够以其支持的最大数据长度来传输数据,从而有利于提高数据传输效率。

在一个例子中,目前BLE技术支持的协议数据单元(PDU,Protocol Data Uint)的数据长度(有效载荷量)包括27字节和251字节,若确定的所述最大数据长度(最大有效载荷量)为251字节,考虑到通常默认以27字节来进行数据传输,则所述可穿戴设备可以向所述对端设备发送数据长度变更请求,所述对端设备的操作系统响应于所述数据长度变更请求,将其协议数据单元所应用的数据长度从27字节变更为251字节。若确定的所述最大数据长度(最大有效载荷量)为27字节,表明所述对端设备不支持251字节,则仍采用27字节来进行数据传输。

在一示例性的实施例中,所述对端设备与所述可穿戴设备建立连接之后,所述可穿戴设备可以通过BLE 4.2提供的新特性(feature request)来判断对端设备是否支持数据长度扩展功能:所述可穿戴设备可以向所述对端设备的操作系统发送LL_FEATURE_REQ命令,以获取对端设备的蓝牙特性,所述对端设备的操作系统在收到LL_FEATURE_REQ命令之后返回LL_FEATURE_RSP响应,所述可穿戴设备解析LL_FEATURE_RSP响应中的LE DataLength Extension标志位,如果该标志位为0,则表明该对端设备默认最大有效载荷量为27字节,如果该标志位为1,表明该对端设备支持的最大有效载荷量为251字节。

若确定该对端设备支持的最大有效载荷量为27字节,则所述可穿戴设备向所述对端设备上的应用程序发送通知消息,所述通知消息包括所述对端设备支持的最大有效载荷量,以便所述应用程序可以基于所述最大有效载荷量来封装待发送的目标数据。

若确定该对端设备支持的最大有效载荷量为251字节,考虑到该对端设备无论是否支持最大有效载荷量为251字节,通常默认设置有效载荷量为27字节,因此需要可穿戴设备向所述对端设备的操作系统发送变更请求:可穿戴设备需要向所述对端设备的操作系统发送操作码为Exchange MTU Request的数据长度变更请求,所述对端设备的操作系统基于所述数据长度变更请求调整协议数据单元的设置,并向所述可穿戴设备返回响应码为Exchange MTU Response的响应消息;进一步地,所述可穿戴设备还需向所述对端设备的操作系统发送操作码为LL_LENGTH_REQ的发送数据长度变更请求,所述对端设备的操作系统基于所述发送数据长度变更请求调整链路层的发送数据长度设置,并向所述可穿戴设备返回响应码为LL_LENGTH_RSP的响应消息,至此,对端设备和可穿戴设备之间的协议数据单元的有效载荷量从27字节变更为251字节;在确定了该对端设备支持的最大有效载荷量之后,所述可穿戴设备向所述对端设备上的应用程序发送通知消息,所述通知消息包括所述对端设备支持的最大有效载荷量,以便所述应用程序可以基于所述最大有效载荷量来封装待发送的目标数据,有利于提高传输效率。

在确定了所述对端设备支持的最大数据长度之后,所述对端设备的应用程序可以基于所述最大数据长度的协议数据单元对待发送的目标数据进行分包处理,生成一个或多个数据分包并发送给所述可穿戴设备。

其中,考虑到相关技术中可穿戴设备会将其所提供的服务(比如有氧心率服务、电池电量服务以及警报服务等)的相关信息进行广播,若对端设备想要使用可穿戴设备的某个服务,对端设备需要扫描并发现该服务之后,才可以使用可穿戴设备提供的服务,操作繁琐且需要耗费较大的时间成本;基于此,本公开实施例中所述对端设备上预存有服务集合,所述服务集合包括所述可穿戴设备能够提供的所有服务;作为一种实现方式,所述对端设备可以从所述可穿戴设备的服务器中获取所述服务集合;所述对端设备可以从所述预存的服务集合中确定所述可穿戴设备本次要提供的一个或多个服务,然后将其相关的信息封装于所述数据分包中;作为一种实现方式,所述数据分包包括有控制字段,所述控制字段用于描述所述可穿戴设备所本次要提供的一个或多个服务;本实施例将服务相关的信息直接封装于数据分包中,使得可穿戴设备通过读取数据分包中的控制字段即可确定本次要提供的服务,无需对端设备进行扫描并发现服务的过程,减少了扫描服务的时间,有利于提高通讯效率。

进一步地,所述控制字段中包括有目标特征字段,所述目标特征字段用于描述所述可穿戴设备本次要提供的一个或多个服务对应的一个或多个目标特征;应理解的是,所述目标数据对应的所有数据分包中,所述目标特征字段是相同的,以保证数据传输的准确性以及目标数据的可操作性,从而所述可穿戴设备可以基于所述目标特征指向的服务对所述目标数据进行处理,无需对端设备进行扫描并发现服务的过程,减少了扫描服务的时间,也避免了对端设备在扫描服务得到多个目标特征后,需要理解多个目标特征带来的繁琐工作,有利于提高通讯效率。

考虑到当需要所述可穿戴设备提供多个服务时,相应地所述目标特征字段包括有多个目标特征,可能会产生较大的数据量,从而影响所述目标数据的传输效率,因此,可以设置每一目标特征对应一枚举值,所述目标特征字段可以包括所述目标特征的枚举值,从而可以有效减少需要传输的有关于目标特征的数据量,提高所述目标数据的传输效率。

在一实施例中,在目标数据的数据量超过所述协议数据单元所支持的最大数据长度的情况下,对端设备无法一次性将所述目标数据发送完,需要将目标数据进行分包处理,生成多个数据分包发送给所述可穿戴设备,但这样所述可穿戴设备可能无法确定从接收的哪一个数据分包开始或者结束是所述目标数据,从而无法提供向所述对端设备提供服务。基于此,所述控制字段还可以包括传输状态标志字段,所述传输状态标志字段用于描述所述数据分包的数据传输状态,从而可以让可穿戴设备基于所述传输状态标志位明确是否开始接收所述目标数据或者是否接收完所述目标数据。在一个例子中,所述数据传输状态包括:数据传输开始、数据传输中、数据传输结束以及所述目标数据仅有一个数据包,从而保证数据分包的有序传输。

在一实施例中,在目标数据的数据量超过所述协议数据单元所支持的最大数据长度的情况下,对端设备无法一次性将所述目标数据发送完,需要将目标数据进行分包处理,生成多个数据分包发送给所述可穿戴设备,基于此,所述数据分包包括序列字段,所述序列字段用于描述所述数据分包的排列顺序,以使得所述可穿戴设备可以在接收所述对端设备发送的所述一个或多个数据分包之后,基于所述序列字段所指向的排列顺序对所述数据分包进行重组,得到所述目标数据,进而基于所述控制字段所指向的服务对所述目标数据进行处理。

其中,所述目标数据用于描述对确定的服务的读取操作、写入操作、更改操作或者查询操作等,所述目标数据可以基于实际情况进行具体确定,作为例子,所述可穿戴设备提供电池电量服务,在对端设备与可穿戴设备建立蓝牙连接之后,若用户想要查询可穿戴设备的电池电量,则所述对端设备的应用程序可以基于用户的需求生成对应的目标数据,接着,所述应用程序基于所述最大数据长度的协议数据单元以及所述目标数据对应的服务对目标数据进行分包处理,生成一个或多个包括控制字段和序列字段的数据分包并传输给所述可穿戴设备,所述可穿戴设备可以在接收所述对端设备发送的所述一个或多个数据分包之后,基于所述序列字段所指向的排列顺序对所述数据分包进行重组,得到所述目标数据,进而基于所述控制字段所指向的服务对所述目标数据进行处理。

在一实施例中,所述对端设备可以基于协议数据单元所支持的最大数据长度,划分指定字节作为所述控制字段以及所述序列字段,在一个例子中,以协议数据单元的最大数据长度(最大有效载荷量)为251字节为例进行说明,其中应用层的最大传输单元为244字节:可以在244字节中划分1字节作为控制字段,1字节作为序列字段,所述序列字段可以是0~255的数字,表示所述数据分包的编号,比如从0开始计数,最大为255,超过255可以重新从0计数。

其中,所述控制字段包括传输状态标志字段,所述传输状态标志字段用于描述所述数据分包的数据传输状态,从而保证数据分包的有序传输,在一个例子中,以所述控制字段为1字节进行示例性说明:可以划分2bits(比特)作为所述传输状态标志字段,所述数据传输状态可以是比如0代表数据传输开始,1代表数据传输中,2代表数据传输结束,3代表所述目标数据仅有一个数据包。

而且,所述可穿戴设备所提供的服务可以通过其对应的目标特征来体现,对所述服务的操作体现为对所述目标特征的操作过程,所述对端设备上的应用程序可以预存有服务集合,所述服务集合包括服务与目标特征的对应关系,所述控制字段还包括目标特征字段,所述目标特征字段用于描述所述可穿戴设备本次要提供的一个或多个服务对应的一个或多个目标特征;其中,由于所述目标数据对应的一个或多个服务是已确定的,因此所述目标数据对应的所有数据分包中的目标特征字段是相同的,以保证数据传输的准确性以及目标数据的可操作性。

为了进一步减少数据传输量,所述服务集合可以包括服务、目标特征以及其枚举值的对应关系,所述目标特征字段可以为所述目标特征对应的枚举值,在一个例子中,比如所述服务结合存储有“有氧心率下限(服务)-org.bluetooth.characteristic.aerobic_heart_rate_lower_limit(目标特征)-0x2A7E(枚举值)”、“年龄(服务)-org.bluetooth.characteristic.age(目标特征)-0x2A80(枚举值)”的对应关系,若需要使用有氧心率下限服务,所述目标特征字段可以是“0x2A7E”,在一个例子中,以所述控制字段为1字节进行示例性说明:可以划分6bits(比特)作为所述目标特征字段。

需要说明的是,若所述数据分包的数据传输状态为数据传输结束或者所述目标数据仅有一个数据包,所述数据分包还包括用于校验所述目标数据的校验字段,以实现对所述目标字段的校验,保证数据传输的正确性;在一个例子中,以协议数据单元的最大数据长度(最大有效载荷量)为251字节为例进行说明,其中应用层的最大传输单元为244字节:可以在244字节中划分1字节作为校验字段。

作为例子,以协议数据单元的最大数据长度(最大有效载荷量)为251字节为例进行说明,其中应用层的最大传输单元为244字节:244字节中的其中1字节作为控制字段(2bits作为传输状态标志字段,6bits作为目标特征字段),1字节作为序列字段,若所述数据分包的数据传输状态为数据传输结束或者所述目标数据仅有一个数据包,还需1字节作为校验字段,假设目标数据的数据长度为1024字节,目标特征字段为2,所述目标数据需要分成5(1024/(244-2)=4.231)个数据分包:

第1个数据分包:传输状态标志字段为数据传输开始,目标特征字段为2,序列字段为0,剩余222(224-2)字节为目标数据;

第2个数据分包:传输状态标志字段为数据传输中,目标特征字段为2,序列字段为1,剩余222(224-2)字节为目标数据;

第3个数据分包:传输状态标志字段为数据传输中,目标特征字段为2,序列字段为2,剩余222(224-2)字节为目标数据;

第4个数据分包:传输状态标志字段为数据传输中,目标特征字段为2,序列字段为3,剩余222(224-2)字节为目标数据;

第5个数据分包:传输状态标志字段为数据传输结束,目标特征字段为2,序列字段为4,序列字段后1字节为校验字段(CRC,基于1024字节的目标数据计算得到),剩余56(1024-242*4=56)字节为目标数据。

作为另一个例子,假设目标数据的数据长度为200字节,目标特征字段为3,所述目标数据需要分成1(200/(244-2)=0.826)个数据分包:

第1个数据分包:传输状态标志字段为所述目标数据仅有一个数据包,目标特征字段为3,序列字段为0,序列字段后1字节为校验字段(CRC),剩余200字节为目标数据。

所述对端设备在生成一个或多个数据分包之后,将其发送至所述可穿戴设备,所述可穿戴设备在接收一个或多个所述数据分包之后,基于所述序列字段重组所述数据分包,并根据所述控制字段所指向的服务对所述目标数据进行处理。

在一实施例中,如果对端设备接收到的数据分包中的传输状态标志字段为数据传输开始,则所述对端设备记录所述数据分包中的目标特征字段以及序列字段,在一个例子中,如果序列字段被设置为0~255,若该数据分包中的序列字段不为0,表示数据分包错误,所述可穿戴设备需要向所述对端设备发送重传请求,以请求所述对端设备重新传输正确的数据分包。

在一实施例中,如果对端设备接收到的数据分包中的传输状态标志字段为数据传输中,判断该数据分包中的目标特征字段是否与传输状态标志字段为数据传输开始的数据分包中的目标特征字段一致,如果一致,表明该数据分包正确,若不一致,表明该数据分包错误,所述可穿戴设备需要向所述对端设备发送重传请求,以请求所述对端设备重新传输正确的数据分包。

并且,所述对端设备可以基于所述数据分包中序列字段进行排列,若发现序号字段的编号不连续,则认为数据丢包,所述可穿戴设备需要向所述对端设备发送重传请求,以请求所述对端设备重新传输正确的数据分包。

在一实施例,如果对端设备接收到的数据分包中的传输状态标志字段为数据结束,判断该数据分包中的目标特征字段是否与传输状态标志字段为数据传输开始的数据分包中的目标特征字段一致,若不一致,表明该数据分包错误,所述可穿戴设备需要向所述对端设备发送重传请求,以请求所述对端设备重新传输正确的数据分包;如果一致,表明该数据分包正确,然后所述可穿戴设备根据收到的所述目标数据的实际长度计算出的校验字段(CRC)与该数据分包中的校验字段(CRC)进行比较,若匹配,所述可穿戴设备根据所述控制字段所指向的服务(即该服务的特征值)对重组的所述目标数据进行处理;若不匹配,则认为数据CRC异常,所述可穿戴设备需要进行异常分析处理,比如向所述对端设备发送重传请求,以请求所述对端设备重新传输正确的数据分包。

在一实施例中,如果对端设备接收到的数据分包中的传输状态标志字段为所述目标数据仅有一个数据包,并且所述数据分包中序列字段为编号0(在序列字段被设置为0~255的情况下),所述对端设备根据收到的所述目标数据的实际长度计算出的校验字段(CRC)与该数据分包中的校验字段(CRC)进行比较,若匹配,所述可穿戴设备根据所述控制字段所指向的服务(即该服务的特征值)对重组的所述目标数据进行解析处理;若不匹配,则认为数据CRC异常,所述可穿戴设备需要进行异常分析处理,比如向所述对端设备发送重传请求,以请求所述对端设备重新传输正确的数据分包。

相应的,请参阅图4,本公开实施例还提供了一种基于BLE的通讯装置,其特征在于,应用于可穿戴设备,包括:

长度确定模块401,用于确定对端设备的协议数据单元所支持的最大数据长度的协议数据单元,以使所述对端设备基于所述最大数据长度的协议数据单元对待发送的目标数据进行分包处理,生成一个或多个数据分包。

数据分包接收模块402,用于接收所述对端设备发送的所述一个或多个数据分包。

目标数据处理模块403,用于基于所述数据分包进行重组得到所述目标数据,并对所述目标数据进行处理。

可选地,所述长度确定模块包括:

查询请求发送子模块,用于向所述对端设备发送链路层特征查询请求。

响应获取子模块,用于获取所述对端设备响应于所述链路层特征查询请求返回的链路层特征响应;所述链路层特征响应用于描述所述对端设备的协议数据单元所支持的最大数据长度的协议数据单元。

可选地,在响应获取子模块之后,还包括:变更请求发送子模块,用于若所述最大数据长度为第一长度,向所述对端设备发送数据长度变更请求;所述数据长度变更请求用于触发所述对端设备将其协议数据单元所应用的数据长度从第二长度变更为所述第一长度;所述第二长度小于所述第一长度。

可选地,所述数据分包包括控制字段;所述控制字段用于描述所述可穿戴设备所本次要提供的一个或多个服务。

所述目标数据处理模块包括:根据所述控制字段所指向的服务对所述目标数据进行处理。

可选地,所述控制字段所指向的服务由所述对端设备从预存的服务集合中确定;所述服务集合包括所述可穿戴设备能够提供的所有服务。

可选地,所述控制字段包括传输状态标志字段以及目标特征字段。

所述传输状态标志字段用于描述所述数据分包的数据传输状态。

所述目标特征字段用于描述所述可穿戴设备本次要提供的一个或多个服务对应的一个或多个目标特征。

可选地,所述目标特征字段包括用于描述所述目标特征的枚举值。

可选地,所述数据分包包括序列字段。

所述序列字段用于描述所述数据分包的排列顺序。

所述目标数据处理模块还包括:基于所述序列字段所指向的排列顺序对所述数据分包进行重组,得到所述目标数据。

上述装置中各个模块的功能和作用的实现过程具体详见上述方法中的实现过程,在此不再赘述。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

相应的,本公开还提供一种可穿戴设备,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,

所述处理器被配置为调用所述可执行指令时执行如上所述方法中的操作。

图5是根据一示例性实施例示出的一种基于BLE的通讯装置应用的可穿戴设备的结构示意图。

如图5所示,根据一示例性实施例示出的一种可穿戴设备500,该可穿戴设备500可以是手表、手环、臂带或者指环、脚环等具有蓝牙功能的控制设备。

参照图5,可穿戴设备500可以包括以下一个或多个组件:处理组件501,存储器502,电源组件503,多媒体组件504,音频组件505,输入/输出(I/O)的接口506,传感器组件507,以及通信组件508。

处理组件501通常控制可穿戴设备500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件501可以包括一个或多个处理器509来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件501可以包括一个或多个模块,便于处理组件501和其它组件之间的交互。例如,处理组件501可以包括多媒体模块,以方便多媒体组件504和处理组件501之间的交互。

存储器502被配置为存储各种类型的数据以支持在可穿戴设备500的操作。这些数据的示例包括用于在可穿戴设备500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件503为可穿戴设备500的各种组件提供电力。电源组件503可以包括电源管理系统,一个或多个电源,及其它与为可穿戴设备500生成、管理和分配电力相关联的组件。

多媒体组件504包括在所述可穿戴设备500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件504包括一个前置摄像头和/或后置摄像头。当可穿戴设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件505被配置为输出和/或输入音频信号。例如,音频组件505包括一个麦克风(MIC),当可穿戴设备500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或经由55通信组件508发送。在一些实施例中,音频组件505还包括一个扬声器,用于输出音频信号。

I/O接口506为处理组件501和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件507包括一个或多个传感器,用于为可穿戴设备500提供各个方面的状态评估。例如,传感器组件507可以检测到可穿戴设备500的打开/关闭状态,组件的相对定位,例如所述组件为可穿戴设备500的显示器和小键盘,传感器组件507还可以检测可穿戴设备500或可穿戴设备500一个组件的位置改变,用户与可穿戴设备500接触的存在或不存在,可穿戴设备500方位或加速/减速和可穿戴设备500的温度变化。传感器组件507可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件507还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件507还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器、心率信号传感器、心电图传感器、指纹传感器或温度传感器。

通信组件508被配置为便于可穿戴设备500和其它设备之间有线或无线方式的通信。可穿戴设备500可以接入基于通信标准的无线网络,如WiFi,3G或4G,或它们的组合。在一个示例性实施例中,通信组件508经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述55通信组件508还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术、蓝牙低功耗(BLE)技术和其它技术来实现。

在示例性实施例中,可穿戴设备500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其它电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器502,上述指令可由可穿戴设备500的处理器509执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

其中,当所述存储介质中的指令由所述处理器509执行时,使得可穿戴设备500能够执行前述方法。

一种计算机可读存储介质,其上存储有计算机程序,当由一个或多个处理器执行时,使得处理器执行上述方法。

相应的,请参阅图6,本公开还提供了一种通讯系统,包括上述的可穿戴设备500以及对端设备600。

所述可穿戴设备500用于确定对端设备600的协议数据单元所支持的最大数据长度并反馈给所述对端设备600上的应用程序。

所述对端设备600上的应用程序用于基于所述最大数据长度的协议数据单元对待发送的目标数据进行分包处理,生成发送至所述可穿戴设备500的一个或多个数据分包。

所述可穿戴设备500还用于基于所述数据分包进行重组得到所述目标数据,并对所述目标数据进行处理。

上述系统的实现过程具体详见上述方法中的实现过程,在此不再赘述。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:内存流量控制方法、装置、存储介质及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!