蓝牙BLE的广播包类型、 广播数据结构中的 Type 含义
在 Bluetooth Low Energy (BLE) 广播包(Advertising Packet)中,Type(类型)字段 用于指示广播包的类型,即该包在 BLE 设备通信中的作用。常见的 广告类型 (Advertising Type) 有以下几种
·
在 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 06→ Flags (0x01):0x06(支持 LE General Discoverable Mode,不支持 BR/EDR)03 03 0A 18→ Complete List of 16-bit Service UUIDs (0x03):0x180A(Device Information Service)09 08 4C 45 44→ Local Name (0x08): "LED"05 FF 4C 00 02 15→ Manufacturer Specific Data (0xFF): Apple iBeacon 格式这样,我们可以通过 Type 值解析出广播包的具体数据内容。
4. 总结
- 广播包的 Type 主要用于区分不同的广告类型(ADV_IND、ADV_SCAN_IND 等)。
- 广播数据中的 Type 指定数据的类型,例如设备名称、UUID、厂商数据等。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)