news 2026/4/15 15:29:34

BLE 广播包结构

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
BLE 广播包结构

BLE(Bluetooth Low Energy,低功耗蓝牙)广播包(Advertising Packet)是 BLE 设备在广播信道上发送的数据包,用于向周围设备宣告自身存在、提供服务信息或建立连接。其结构遵循 Bluetooth Core Specification(通常参考 5.x 及以上版本)。


一、BLE 广播包整体结构

BLE 广播包由PDU(Protocol Data Unit)构成,而 PDU 分为两类:

  1. Advertising PDU:用于广播通信。
  2. Data PDU:用于已建立连接后的数据传输(不在本文讨论范围)。

我们关注的是Advertising PDU,其格式如下:

| Preamble (1 octet) | | Access Address (4 octets) | | PDU (可变长度,最多39字节) | | CRC (3 octets) |

注意:Preamble、Access Address 和 CRC 是物理层(PHY)字段,实际广播内容主要在PDU字段中。


二、Advertising PDU 结构

Advertising PDU 由Header(2 字节) + Payload(0~37 字节)组成:

| Header (16 bits) | Payload (0~37 bytes) |

1. Header(2 字节)

Bit 位字段名说明
0~3PDU Type广播包类型(如 ADV_IND、ADV_NONCONN_IND 等)
4RFU保留位(应为 0)
5TxAdd发送方地址类型:0=公共地址,1=随机地址
6 - RxAdd接收方地址类型(仅在定向广播中有效)
7~15 - LengthPayload 长度(单位:字节,最大 37)
常见 PDU Type:
  • 0000:ADV_IND(可连接的无定向广播)
  • 0001:ADV_DIRECT_IND(可连接的定向广播)
  • 0010:ADV_NONCONN_IND(不可连接的无定向广播)
  • 0011:SCAN_REQ(扫描请求,由扫描设备发出)
  • 0100:SCAN_RSP(扫描响应,由广播设备回应)
  • 0101:CONNECT_IND(连接请求)
  • 0110:ADV_SCAN_IND(可扫描的无定向广播)

注意:有些 Type 是由 Central(中心设备)发送的(如 SCAN_REQ),不是广播包,但属于 Advertising Channel PDU。


2. Payload(0~37 字节)

Payload 内容根据 PDU Type 不同而不同:

(1)通用广播类型(如 ADV_IND、ADV_NONCONN_IND、ADV_SCAN_IND)的 Payload:
| AdvA (6 bytes) | AdvData (0~31 bytes) |
  • AdvA:广播设备的蓝牙地址(Public 或 Random,由 TxAdd 指示)
  • AdvData:广播有效载荷,采用AD Structure(Advertising Data Structure)格式
(2)定向广播(ADV_DIRECT_IND)的 Payload:
| AdvA (6 bytes) | TargetA (6 bytes) |
  • TargetA:目标设备的蓝牙地址(由 RxAdd 指示地址类型)
(3)SCAN_RSP(扫描响应)的 Payload:
| AdvA (6 bytes) | ScanRspData (0~31 bytes) |
  • 与 ADV_IND 类似,但用于响应扫描请求

三、广播有效载荷(AdvData / ScanRspData)— AD Structure

广播数据(最多 31 字节)由一个或多个AD Structure组成,每个结构格式如下:

| Length (1 byte) | AD Type (1 byte) | AD Data (Length - 1 bytes) |
  • Length:包括 AD Type + AD Data 的总字节数(最小为 1,即只有 Type)
  • AD Type:定义数据类型(如设备名、服务 UUID、发射功率等)
  • AD Data:具体数据内容

常见 AD Type(来自 Bluetooth SIG Assigned Numbers):

AD Type (Hex)名称说明
0x01Flags标志位(如 LE Limited Discoverable Mode)
0x02, 0x0316-bit Service UUIDs完整/不完整的服务 UUID 列表
0x06, 0x07128-bit Service UUIDs128 位服务 UUID
0x09Complete Local Name完整设备名称
0x08Shortened Local Name缩短的设备名称
0x0ATX Power Level发射功率(dBm)
0x16Service Data - 16-bit UUID附带服务数据
0x21Service Data - 128-bit UUID128 位服务数据
0xFFManufacturer Specific Data厂商自定义数据

示例:设备广播名称 “MyBLE”
AD Structure =06 09 4D 79 42 4C 45

  • Length = 6(1 字节 Type + 5 字节 Name)
  • Type = 0x09(Complete Local Name)
  • Data = ASCII("MyBLE")

四、广播包长度限制

  • 单个广播包(AdvData)最多31 字节
  • 若需更多数据,可配合Scan Response(另外 31 字节)
  • BLE 5.0 引入Extended Advertising,支持更长广播数据(通过 AUX 广播包),但传统广播仍限于 31+31 字节

五、总结图示(传统广播)

[ADV_IND PDU] ├── Header (2B): Type=ADV_IND, TxAdd=1, Length=37 └── Payload (37B) ├── AdvA (6B): 随机地址 └── AdvData (31B): 多个 AD Structure ├── Flags (3 bytes) ├── Complete Local Name (6 bytes) └── Manufacturer Data (22 bytes)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/8 21:55:40

Z-Image-Turbo与其他UI框架对比:Gradio在本地部署中的优势

Z-Image-Turbo与其他UI框架对比:Gradio在本地部署中的优势 1. 为什么选择Gradio来承载Z-Image-Turbo? 当你第一次打开Z-Image-Turbo的UI界面,最直观的感受是:它不像一个需要反复调试的开发工具,而更像一个已经准备就…

作者头像 李华
网站建设 2026/4/1 5:05:23

Qwen3-0.6B + Jupyter Notebook 快速上手指南

Qwen3-0.6B Jupyter Notebook 快速上手指南 1. 引言:为什么选择 Qwen3-0.6B? 你是不是也经常遇到这样的问题:想跑一个大模型做实验,但显存不够、部署复杂、调用困难?如果你正在寻找一款轻量级、易部署、响应快的大语…

作者头像 李华
网站建设 2026/4/14 7:33:51

如何降低GPEN内存占用?分块处理大图技术方案

如何降低GPEN内存占用?分块处理大图技术方案 1. 背景与问题分析 你有没有遇到过这种情况:想用 GPEN 增强一张高分辨率人像照片,结果程序直接卡死、报错,甚至服务器崩溃?这并不是你的设备不行,而是 GPEN 在…

作者头像 李华
网站建设 2026/3/30 21:02:36

实测Qwen3-VL-8B-GGUF:8B参数实现72B级视觉语言能力

实测Qwen3-VL-8B-GGUF:8B参数实现72B级视觉语言能力 1. 引言:边缘端也能跑通高强度多模态任务? 在当前大模型向“更大、更重”演进的主流趋势下,Qwen3-VL-8B-Instruct-GGUF 的出现提供了一条截然不同的技术路径——以极小体量实现…

作者头像 李华
网站建设 2026/4/7 16:05:47

matlab FFT分析虽专业,不如直接上手AI修图实用

matlab FFT分析虽专业,不如直接上手AI修图实用 1. 从信号处理到图像修复:技术演进的现实选择 你有没有这样的经历?为了去除照片里一个碍眼的水印,翻出大学时学过的MATLAB代码,调用fft()函数试图在频域做滤波处理。结…

作者头像 李华
网站建设 2026/4/9 17:00:54

5分钟上手CAM++说话人识别系统,零基础也能玩转声纹验证

5分钟上手CAM说话人识别系统,零基础也能玩转声纹验证 1. 快速入门:什么是CAM说话人识别? 你有没有想过,仅凭一段语音就能判断“这个人是不是他本人”?这听起来像科幻电影里的桥段,但在今天,借…

作者头像 李华