一种蓝牙低功耗通信方法和装置与流程

文档序号:15701817发布日期:2018-10-19 19:58阅读:154来源:国知局

本申请涉及蓝牙技术领域,尤其涉及一种蓝牙低功耗通信方法和装置。



背景技术:

蓝牙技术是一种全球通用的短距离无线连接协议,因其特性优势,使得蓝牙设备可以具有小体积、低功耗、低成本、短距离等优势,还减少了设备间的有线连接。目前在人们的生活中占据越来越多的空间,从手机、打印机、笔记本电脑、键盘、鼠标等到音响、电视、灯光控制等家电,再到可穿戴设备,其应用范围越来越广。尤其是蓝牙5.0的诞生,提高了设备之间的连接质量和“互用性”,让蓝牙成为家庭数码产品以及指数级增长的物联网设备的更加选择。

蓝牙设备之间的交互,分为两种,一种是普通数据包,如数据单元(data pdu)数据包;另一种会涉及一些规程使用,如控制单元(control pdu)数据包。control pdu数据包会在包的特定字节处做标识,以与普通数据包相区分。蓝牙规范对控制单元(control pdu)数据包的应对处理指明了方向,除去可被正常识别并处理的情形,还标出何种情形可以拒绝、何种情形反馈为不识别的包等。

现有技术中,在数据单元(data pdu)传输之前,首先要对两个设备进行规程上的交互,以便判断该数据单元能否在两个设备之间传输。规程的交互一般用控制单元进行传输,所以,处在连接中的蓝牙设备要进行数据交互之前,首先进行控制单元的交互,以使得数据单元根据控制单元来进行数据传输。具体的,数据发送端设备要向数据接收端设备发送包含有规程的控制单元,数据接收端设备直接接收并解析该控制单元,再判断该规程是否支持。若数据接收端不支持,生成通知反馈包,发送给数据发送端设备,以通知数据发送端发送的规程并不能得到数据接收端的支持,数据发送端设备再接收该通知反馈包并解析。在此过程中,两个互不支持的规程数据包在数据发送端设备与数据接收端设备之间传输,但是这两个数据包都是无效的control pdu发送。



技术实现要素:

传统蓝牙设备在数据交互过程中,直接将无效数据包进行传输,增大了丢包、错包的概率,使得设备之间的数据交互准确率低。有鉴于此,本申请提供一种蓝牙低功耗通信方法和装置,以解决现有的蓝牙设备之间数据传输准确率低的问题。

本申请第一方面提供一种蓝牙低功耗通信方法,包括:

数据发送端发送所有支持的第一规程的信息到数据接收端;

所述数据发送端接收所述数据接收端发送的规程交集的信息,其中所述规程交集为所述第一规程与所述数据接收端所有支持的第二规程的共有规程;

所述数据发送端按照所述规程交集的信息发送任一所述第一规程信息到所述数据接收端。

本申请第二方面提供一种蓝牙低功耗通信装置,包括:第一发送模块、接收模块和第二发送模块,其中,

所述第一发送模块用于发送所有支持的第一规程的信息到数据接收端;

所述接收模块用于接收所述数据接收端发送的规程交集的信息,其中所述规程交集为所有所述第一规程与数据接收端所有第二规程的共有规程;

所述第二发送模块用于按照所述规程交集发送任一所述第一规程的信息到所述数据接收端。

本申请提供的蓝牙低功耗通信方法和装置,通过与蓝牙设备建立BLE连接,数据发送端发送所有支持的第一规程的信息到数据接收端,接收数据接收端发送的规程交集的信息,使数据发送端与数据接收端建立规程交集数据联系。数据发送端在发起任一所述第一规程时,按照所述规程交集发送任一所述第一规程的信息到所述数据接收端。这样,可根据规程交集,确定是否进行发送,以尽可能的减少蓝牙设备之间的无效交互,从而解决现有的蓝牙设备之间数据传输准确率低的问题。

附图说明

图1为本申请提供的蓝牙低功耗通信方法实施例一的流程示意图;

图2为现有技术中数据发送端设备与蓝牙设备之间的流程示意图;

图3为本申请提供的蓝牙低功耗通信方法的流程示意图;

图4为本申请提供的蓝牙低功耗通信装置的结构示意图。

具体实施方式

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

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

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

本申请提供一种蓝牙低功耗通信方法和装置,以解决现有的蓝牙设备交互准确率低的问题。其在保持原功能的基础上,提前获取了要交互的设备所支持的规程的交集,当有规程发起的请求时,如果检测到该规程不在上述交集之中时,放弃组包,结束发起的任务,减少设备间无效的交互,减少了丢包、错包率,使得设备之间的交互更加准确。

下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

该方法应用于具有BLE功能的无线网络配置设备,该无线蓝牙设备可以是固定设备,也可以是其他移动设备。蓝牙是一种无线技术标准,可以实现固定设备、移动设备之间的短距离数据交换。蓝牙定义了标准的协议栈,目标在于允许遵循规范的应用能够进行互相间操作。

在本实施例的蓝牙设备进行数据传输之前,首先要进行组网过程。组网过程是指无线设备和周围的蓝牙设备组成一个网络的过程,所述无线设备是指具有蓝牙功能的手机、平板、蓝牙遥控器、笔记本电脑、智能穿戴设备等,所述蓝牙设备包括蓝牙耳机、智能穿戴设备、蓝牙适配器、蓝牙报警器或者是智能家居设备等。数据传输过程是指无线设备与网络中的蓝牙设备传输数据的过程。

本实施例提到的数据发送端和数据接收端都是指具有上述功能的无线设备或蓝牙设备。

图1为本申请提供的蓝牙低功耗通信方法实施例一的流程示意图。请参照图1,本实施例提供的方法,可以包括:

S101、与数据接收端建立BLE(Bluetooth Low Energy,蓝牙低功耗)连接。

蓝牙设备工作时,主要有三种状态,分别为广播、扫描、连接。在广播状态时,会根据预先设定的广播频率进行广播,以被其他蓝牙设备发现。在扫描状态时,会根据预先设置的扫描频率和扫描窗口进行扫描,以发现其他蓝牙设备。在连接状态时,会根据预先设定的时间间隔进行两个蓝牙设备的数据交互通信。无线设备进入搜索模式,搜索周围的蓝牙设备,在搜索到蓝牙设备后,与其建立BLE连接,该蓝牙设备由扫描模式切换为了收发模式。

S102、数据发送端发送所有支持的第一规程的信息到数据接收端。

在建立连接之初,数据发送端发送所有支持的第一规程(procedure)的信息到数据接收端。其中,所述第一规程使用的数据包属于控制协议数据单元(control pdu),可通过解析特定位置的标识将它们与普通数据包区分开。

具体的,就蓝牙规范V4.2而言,在一些实施例中,第一规程为链路层支持的规程中的特征交换规程(Feature Exchange Procedure),其交互的是连接态下两个蓝牙设备各自控制器(controller)支持的特征。Feature具体包括BLE所使用的加密技术(LE Encryption )、连接参数请求(Connection Parameters Request)、扩展拒绝指示(Extended Reject Indication)、从属启动交换(Slave-Initiated Festures Exchange)、BLE所使用的Ping报文(LE Ping)、数据长度更新(Data Length Update)、链路层隐私(LL Privacy)以及扩展扫描器过滤器策略(Extended Scanner Filter Policies)8种。不同的蓝牙设备所支持的特征是所述8种中的一种或几种。

进一步地,LL Privacy、Extended Scanner Filter Policies两种特征的使用时段是在建立连接前,即广播状态,其余的规程的使用都是在连接状态。所以在建立连接后,无需将这两个特征再次发起。另外, 扩展拒绝指示(Extended Reject Indication)主要用于收到数据接收端某个规程的数据包后拒绝对方。

所以,在数据发送端可发起的特征交换规程有加密技术规程(LE Encryption Procedure)、连接参数请求规程(Connection Parameters Request Procedure)、从属启动交换规程(Slave-Initiated Festures Exchange Procedure)、BLE所使用的Ping报文规程(LE Ping Procedure)、数据长度更新规程(Data Length Update Procedure)。本申请所涉及的第一规程和第二规程一般是指5种特征交换规程中的一个或几个。

第一规程为数据发送端支持的规程,包含于上述所列规程的范围内。 Feature exchange Procedure 只是蓝牙规程(procedure)的一种。有些规程由于两端设备一定支持,所以不需要检测,如版本交换规程(Version Exchange Procedure)。

在包含有第一规程的信息的数据包中,用不同的比特位来对应的表示该蓝牙设备的对特征的支持情况,八个比特位分别对应八个链路层的特征。若支持,则对应比特位为1,若不支持,则对应比特位为0。由此形成的字段携带了蓝牙设备所支持的第一规程的信息。当数据发送端发送该数据包到数据接收端时,就会将第一规程的支持情况通知给数据接收端。

S103、所述数据发送端接收所述数据接收端发送的规程交集的信息,其中所述规程交集为所述第一规程与所述数据接收端所有支持的第二规程的共有规程。

具体的,数据接收端在接收到所有数据发送端支持的第一规程数据包后,通过解析,获取第一规程数据包内的规程数据。其中,Feature Exchange Procedure规程是指链路层支持的规程,其交互的目的在于取一个链接两端各自的支持项集合的交集,以便于后续的数据传输。

不同的数据接收端所支持的特征交换规程是不同的。数据接收端将其所支持的所有第二规程与第一规程进行匹配,将二者均支持的规程生成规程交集,其中,第二规程是指该蓝牙设备所支持的特征交换规程。该数据包即为该蓝牙设备取预设规程交集后的规程交集数据包。

数据接收端在生成规程交集数据包后,在将该规程交集数据包发送给数据发送端,在由数据发送端接收、获取、并解析。由此获得了两个设备都支持的规程。

S104、所述数据发送端按照所述规程交集发送任一所述第一规程的信息到所述数据接收端。

如果第二规程不符合规程交集,或者,数据包的ID信息与接收到该数据包的蓝牙设备的ID信息不一致,则放弃生成数据包,也不向蓝牙设备发送。

进一步地,不符合交集的规程不再组包发送,且遵循蓝牙规范的情形下,可酌情通知蓝牙主机(Bluetooth Host)。

具体地,数据发送端按照所述规程交集发送任一所述第一规程到所述数据接收端,包括数据发送端发起任一所述第一规程,判断所述第一规程是否包含于规程交集内,若包含于,则将所述第一规程发送至数据接收端;否则,则不向所述数据接收端发送所述第一规程。

另外,数据发送端按照所述规程交集发送任一所述第一规程到所述数据接收端,包括数据发送端只发起在规程交集内的第一规程到数据接收端。

进而在确定规程不在交集包中时,不再组包发送,结束发起任务。

本实施例提供的方法,通过数据发送端与数据接收端建立规程交集数据联系,在有规程发起请求时,根据所述规程交集发送所述第一规程到所述数据接收端。这样,可根据交集规程包,确定是否组包进行发送,以实现在当规程不在所述交集内时,就不组包发送到蓝牙设备的目的,以尽可能的减少蓝牙设备之间的无效交互。

下面结合具体的实例对本申请提供的低功耗芯片唤醒方法进行说明。

假设数据发送端要将数据长度更新规程的信息(Data Length Update Procedure)发送到蓝牙设备中。

如图2所示的现有技术中,在数据发送端设备与蓝牙设备建立连接之后,直接发起数据长度更新规程请求,生成数据长度更新规程的信息数据包,发送给蓝牙设备。蓝牙设备在接收并解析数据长度更新规程数据包后,根据本地规程判断是否支持。如果不支持,生成反馈包,并发送给数据发送端设备,然后数据发送端设备在接收并解析蓝牙设备的反馈。由此可见,现有技术在蓝牙设备不支持数据长度更新规程的情况下,生成数据包并进行发送,如此,采用现有方法造成了无效数据包的设备之间的传输。

如图3所示,通过本申请提供的蓝牙低功耗通信方法,将数据发送端支持的所有特征交换规程的信息生成第一规程数据包,并发送给与其建立连接的蓝牙设备;蓝牙设备接收并解析第一规程数据包,与本地规程进行匹配,并生成规程交集数据包,发送给数据发送端设备。如此,数据发送端设备和蓝牙设备建立起规程交集。当数据发送端设备再有数据长度更新规程的发起时,现判断该规程是否在上述规程交集数据包内,若否,则不生成数据长度更新规程数据包,放弃该规程的发起。

与前述蓝牙低功耗通信方法的实施例相对应,本申请还提供了蓝牙低功耗通信装置的实施例。

本申请蓝牙低功耗通信装置的实施例可以应用在无线设备上。

图4为本申请提供的蓝牙控制器功耗控制装置实施例一的结构示意图。请参考图4,本实施例提供的蓝牙低功耗通信装置,包括:连接模块410、第一发送模块420、接收模块430和第二发送模块440,其中,

所述连接模块410,用于与数据接收端建立BLE连接;

所述第一发送模块420,发送所有支持的第一规程的信息到蓝牙设备;

所述接收模块430,用于接收所述数据接收端发送的规程交集,其中所述规程交集为所有所述第一规程与数据接收端所有第二规程的共有规程;

所述第二发送模块440,用于按照所述规程交集发送任一所述第一规程的信息到所述数据接收端。

本实施例提供的装置,可用于执行图1所示方法实施例的技术方案,其实现原理与技术效果类似,此处不再赘述。

进一步地,所述连接模块410,具体用于向附近的无线网络节点发送配置请求;以及接收任意附近的设备针对配置请求返回的确认消息,与符合预设条件的蓝牙设备建立BLE 连接;

或者,所述连接模块410,具体用于接收附近无线网络节点发送配置的请求,发送针对配置请求的确认消息,与愈合预设条件的蓝牙设备建立BLE连接。

所述发送模块420,具体用于发送所有数据发送端支持的第一规程(procedure)数据包到数据接收端。其中,所述第一规程使用的数据包属于控制协议数据单元(control pdu),可通过解析特定位置的标识将它们与普通数据包区分开。

所述接收模块430,具体用于接收由数据接收端发送的规程交集的信息,得到数据发送端和数据接收端都支持的规程交集。

所述第二发送模块440,用于按照所述规程交集发送任一所述第一规程到所述数据接收端。

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

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