查看: 1245|回复: 0

[资料发布] BLE广播数据介绍

[复制链接]

108

主题

163

帖子

618

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
618
发表于 2021-4-1 10:48:01 | 显示全部楼层 |阅读模式
  1 广播数据

  广播数据的格式如下:
  可以看出广播数据是由好多个AD Structure组成,而AD Structure 的格式为Length + AD Type + AD Data。
  ●Length:AD Type 和 AD Data 的总长度
  ●AD Type:表示此 AD Structure 的类型,目前可在https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile/查询。
  ●AD Data:具体的数据

  所以每个AD Structure都表示不同类型的数据。

  2 默认广播数据

  为了方便理解我们以产品的默认广播数据为例:
  可以看到默认广播数据由4个 AD Structure组成,分别为:

  1. 0x02,0x01,0x06
  ●Length为 0x02,因为后续有2个字节的数据
  ●AD Type为0x01,通过查询此值表示 Flags
  ●AD Data 为0x06,Flags 数据的格式如下:
  所以 0x05表示 LE General Discoverable Mode 和 BR/EDR Not Supported。

  2. 0x03,0x02,0x60FE
  ●Length为 0x03,因为后续有3个字节的数据
  ●AD Type为0x02,表示16bit Service UUID
  ●AD Data 为0x60FE,此值为利尔达在蓝牙联盟注册的服务UUID

  3. 0x09,0xFF,0xFE028B998538C1A4
  ●Length为 0x09,因为后续有9个字节的数据
  ●AD Type为0xFF,表示厂商自定义数据
  ●AD Data 为0xFE028B998538C1A4,此产品的自定义数据格式如下:

Field
Size(octets)
Notes
Company ID
2
小端序,为利尔达在蓝牙联盟注册的公司ID
MAC
6
小端序,蓝牙的MAC 地址
  所以 Company ID 为 0x02FE ;MAC 为 A4:C1:38:59:ED:17

  4. 0x18,0x09,0x424C452044657669636520383539393842

  扫描响应包中包含此 AD Strucuure。
  ●Length为 0x18,因为后续有24个字节的数据
  ●AD Type为0x09,表示设备的广播名称
  ●AD Data 为0x424C452044657669636520383539393842,表示设备的广播名称,其转换为ASCII码后为:BLE Device 85998B

  3 扫描响应包

  由于广播包只支持最大31字节,所以当用户需广播超过31字节数据时,就需要用到扫描响应包来传输数据了。我们来看一下发送扫描响应包的流程:
  当主机收到从机发送的广播包后可发 SCAN_REQ 给从机,从机收到后就会回 SCAN_RSP 给主机。

  而SCAN_RSP 的格式与广播数据一致。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表