低功耗蓝牙的广播数据

低功耗蓝牙的广播数据

设备在发送广播报文时,必须遵循固定的广播数据格式或扫描响应数据格式。格式指的是一串广播数据结构。各结构的开始处均含有一个长度字段,表示该结构其余部分的字节长度。紧接着长度的是广播数据类型字段,通常为1个字节,也可能是两三个字节或更长。假如不认识某广播数据类型,设备可以将其忽略并跳到下个结构。结构内的其他任何数据字节都由数据类型决定。

例如,发送功率等级(tx power level)为1个字节的数据类型,位于长度字段和数据类型字段之后。这意味着在广播报文或扫描响应包中,发送功率等级总共需要3个字节:一个长度字节,一个数据类型字节,以及一个字节记录实际的功率等级。

广播数据可以是变长的。比如,本地设备名称可以从几个字节到数十字节不等。不过,由于数据结构起始处的长度字段约束了广播数据的长度,所以没有必要引入终止字节符。

标识

标识(flags)AD是位字段的序列,可以是从0字节到如果字节的任意长度。

低功耗蓝牙定义了如下标识:

  • 有限可发现模式
  • 通用可发现模式
  • 不支持BR/EDR
  • 设备同时支持LE和BR/EDR(控制器)
  • 设备同时支持LE和BR/EDR(主机)

处于有限可发现模式的外围设备,应在AD信息标识中设置有限可发现模式位(Bit 0),并且清除一般可发现模式位(Bit 1)。

有限可发现模式大概只能维持30s的时间。

处于一般可发现模式的外围设备,应在AD信息标识中设置一般可发现模式位(Bit 1),并且清除有限可发现模式位(Bit 0)。当设备打算被发现时,应使用一般可发现模式。

除以下不同点之外,一般可发现模式与有限可发现模式基本类似:

  • 一般可发现设备的可发现时间没有限制;有限可发现设备大概只能维持30s的时间。
  • 一般可发现设备建议的广播时间间隔更长,介于1.28s和2.56s之间;而有限可发现设备介于250ms和500ms之间。

不支持BR/EDR标识位用来在建立连接前通知对端设备,本方不支持经典蓝牙。

设备同时支持LE和BR/EDR标识位,一个关于控制器,一个关于主机,用于判断对端设备能否在已有经典蓝牙连接的同时还可以发起低功耗蓝牙。

服务

有多种不同类型的服务广播数据类型,每种类型公开了一个服务UUID列表。

  • 16 位服务 UUID 完整列表
  • 16 位服务 UUID 部分列表
  • 128 位服务 UUID 完整列表
  • 128 位服务 UUID 部分列表

本地名称

本地名称广播数据类型共有两类:

  • 完整的本地名称
  • 裁剪的本地名称

发射功率等级

发射功率等级广播数据类型是指传输该广播数据包时采用的功率值,长度为 1 个字节,单位为 dBm。

从设备连接间隔范围

从设备连接间隔范围代表外围设备倾向的连接间隔。

间隔参数包括两个 16 位的值,第一个为最小连接间隔,第二个为最大连接间隔。

服务请求

外围设备希望中央设备支持的服务。

服务请求广播数据包括 16 位服务 UUID 或 128 位服务 UUID 的部分列表。

服务数据

设置服务广播时,使用的是“服务数据”广播数据类型。服务数据的起始两个字节是 16 位 UUID,表示服务号,其他字节为实际的服务数据。

制造商指定数据

制造商数据的其实两个字节为 16 位的公式标识,接着是公司指定的数据。

广播格式

在这里插入图片描述
| ------------------------------ data ------------------------------- |

| --------- significant part ----- | ----- Non significant part ----- |

| AD Structure 1 | AD Structure 2 | … | AD Structure N | 0000…000 |

| length | ------- data ------- |

| length | AD type | AD data |

举例:

| Length | AD Type | Value |Length | AD Type | 制造商标识 | value |

| 02 | 01 | 1A | 1B | FF | xx xx | xxxxx |

这里的 | 02 | 01 | 1A | 是第一个 AD Structure。长度是 02 个字节,类型是 01 表示 flags标识,值是 1A 表示双模设备。

| 1B | FF | xx xx | xxxxx | 是第二个 AD Structure。长度是 27 个字节,类型是 FF 表示制造商指定的数据,xx xx 是制造商名称,xxxxx 是自定义数据。

参考资料

《低功耗蓝牙开发权威指南》的《第 12 章 12.5节 广播数据》

《Bluetooth Core Specification V5.2》的《11 ADVERTISING AND SCAN RESPONSE DATA FORMAT》

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值