Bluetooth Low Energy (BLE) 广播包(Advertising Packet)中,Type(类型)字段 用于指示广播包的类型,即该包在 BLE 设备通信中的作用。常见的 广告类型 (Advertising Type) 有以下几种:

1. 广播包 (Advertising Packet) 的主要类型

BLE 设备在广播时可以选择不同的广告类型,常见的几种如下:

Type 广播类型 说明
ADV_IND 可连接非定向广播 (Connectable Undirected Advertising) 设备可以被扫描和连接,最常用的广告类型
ADV_DIRECT_IND 可连接定向广播 (Connectable Directed Advertising) 设备专门向某个已知设备广播,以实现快速连接
ADV_SCAN_IND 可扫描非定向广播 (Scannable Undirected Advertising) 设备允许扫描请求,但不允许连接
ADV_NONCONN_IND 不可连接非定向广播 (Non-connectable Undirected Advertising) 设备仅用于广播数据,不允许扫描或连接
SCAN_RSP 扫描响应 (Scan Response) 设备响应扫描请求,提供额外的广播数据

2. 广播数据结构中的 Type 含义

除了广播类型,BLE 广播包的数据结构中,每个 广告数据 (AD Data) 也有 Type 字段,表示该字段的数据类型。例如:

Type 值 数据类型 说明
0x01 Flags 指示设备模式(如是否可连接、是否支持 BR/EDR)
0x02 / 0x03 Incomplete / Complete List of 16-bit Service UUIDs 设备支持的 16-bit UUID 服务
0x06 / 0x07 Incomplete / Complete List of 128-bit Service UUIDs 设备支持的 128-bit UUID 服务
0x08 / 0x09 Shortened / Complete Local Name 设备名称(部分或完整)
0x0A TX Power Level 设备的发射功率
0x16 Service Data 包含特定服务的数据
0xFF Manufacturer Specific Data 厂商自定义数据

3. Type 在广播中的实际应用

假设一个 BLE 设备的广播包包含以下数据:

02 01 06 03 03 0A 18 09 08 4C 45 44 05 FF 4C 00 02 15

解析如下:

  • 02 01 06Flags (0x01): 0x06(支持 LE General Discoverable Mode,不支持 BR/EDR)
  • 03 03 0A 18Complete List of 16-bit Service UUIDs (0x03): 0x180A(Device Information Service)
  • 09 08 4C 45 44Local Name (0x08): "LED"
  • 05 FF 4C 00 02 15Manufacturer Specific Data (0xFF): Apple iBeacon 格式

这样,我们可以通过 Type 值解析出广播包的具体数据内容。


4. 总结

  • 广播包的 Type 主要用于区分不同的广告类型(ADV_IND、ADV_SCAN_IND 等)。
  • 广播数据中的 Type 指定数据的类型,例如设备名称、UUID、厂商数据等。
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐