安卓获取蓝牙4.0广播笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30241709/article/details/79765722

BLE报文结构:

1 前导

  前导是一个8比特的交替序列。他不是01010101就是10101010,取决于接入地址的第一个比特。

  • 若接入地址的第一个比特为0:01010101
  • 若接入地址的第一个比特为1:10101010

  接收机可以根据前导的无线信号强度来配置自动增益控制。

2 接入地址

  接入地址有两种类型:广播接入地址和数据接入地址。

  • 广播接入地址:固定为0x8E89BED6,在广播、扫描、发起连接时使用。
  • 数据接入地址:随机值,不同的连接有不同的值。在连接建立之后的两个设备间使用。

  对于数据信道,数据接入地址是一个随机值,但需要满足下面几点要求:

     1)  数据接入地址不能超过6个连续的“0”或“1”。

     2)  数据接入地址的值不能与广播接入地址相同。

     3)  数据接入地址的4个字节的值必须互补相同。

     4)  数据接入地址不能有超24次的比特翻转(比特0到1或1到0,称为1次比特翻转)。

     5)  数据接入地址的最后6个比特需要至少两次的比特翻转。

     6)  符合上面条件的有效随机数据接入地址大概有231个。

3 报头

3.1 广播报文报头

广播报文的报头包含4bit广播报文类型、2bit保留位、1bit发送地址类型和1bit接收地址类型。

1)广播报文类型

2)发送地址类型和接收地址类型

发送地址类型和接收地址类型指示了设备使用公共地址(Public Address)还是随机地址(Random Address)。公共地址和随机地址的长度一样,都包含6个字节共48位。BLE设备至少要拥有这两种地址类型中的一种,当然也可以同时拥有这两种地址类型。

  • 公共地址(Public Address)

  公共地址由两部分组成,如下图。公共地址由制造商从IEEE申请,由IEEE注册机构为该制造商分配的机构唯一标识符OUI(Organizationally Unique Identifier)。这个地址是独一无二,不能修改的。

  • 随机地址

  随机地址有包含两种:静态地址(Static Device Address)和私有地址(PrivateDevice Address)

  静态地址有如下要求:

     a) 静态地址的最高2位有效位必须是1。

     b) 静态地址最高2位有效位之外的其余部分不能全为0。

     c) 静态地址最高2位有效位之外的其余部分不能全为1。


猜你喜欢

转载自blog.csdn.net/qq_30241709/article/details/79765722