【蓝牙精品系列文档】【03_blemesh架构】05_Mesh_ADV格式

📅 2026/7/14 19:41:02
【蓝牙精品系列文档】【03_blemesh架构】05_Mesh_ADV格式
Mesh ADV 承载格式(0x2A / 0x2B / 0x29)概述BLE Mesh 在 ADV Bearer(广播承载层)上通过AD Structure传输 Mesh 数据,使用三个 Mesh 专用 AD Type:AD Type名称承载内容链路层 PDU谁发0x29Mesh Provisioning PDU配网协议数据ADV_NONCONN_IND未配网设备 + Provisioner(配网阶段)0x2AMesh Message加密 Network PDU(业务/配置)ADV_NONCONN_IND已配网节点0x2BMesh BeaconBeacon(发现 / IV 同步)ADV_NONCONN_IND未配网 / 已配网节点速记:0x29= 配网专用(加入网络)0x2A= 业务专用(已配网后的控制 / 数据)0x2B= 心跳 / 宣告专用(未配网时被 discovery,已配网时同步网络状态)一、外层 AD Structure 通用封装三类 Mesh AD Type 在空口上都套在标准 BLE AD Structure 里:┌──────────┬──────────┬─────────────────────────────────┐ │ Length │ AD Type │ Mesh PDU │ │ 1 字节 │ 0x29 / │ 见下方各类型格式 │ │ │ 0x2A / │ │ │ │ 0x2B │ │ └──────────┴──────────┴─────────────────────────────────┘Length=AD Type + Mesh PDU的字节数(不含 Length 自身)链路层 PDU通常为ADV_NONCONN_IND(不可连接广播)传统广播单包 AD 数据 31 字节,Mesh 实际可用约 27 字节;扩展广播单包可达 254 字节二、0x2A— Mesh Message(Network PDU)1. 作用与使用场景已配网节点之间传输业务 / 配置消息ADV Bearer 上最常用的 AD Type承载经网络层加密 + 混淆后的 Network PDU典型场景:开关发送 OnOff Set 控制灯传感器上报状态消息经 Relay 节点多跳转发手机经 Proxy 写入的 Mesh 消息,最终也会以0x2A在 ADV Bearer 上广播特点:只有已配网节点才会发送 / 接收需要NetKey才能解密;普通手机能扫到0x2A,但无法解析内容2. AD Structure 封装┌──────────┬──────────┬─────────────────────────────────┐ │ Length │ AD Type │ Network PDU(加密 + 混淆) │ │ 1 字节 │ 0x2A │ 9B 头 + Transport PDU + MIC │ └──────────┴──────────┴─────────────────────────────────┘3. Network PDU 内部格式(9 字节头 + 载荷 + MIC)┌──────────┬──────────┬──────────────┬─────────┬──────┬───────────┬──────┐ │ IVI+NID │ CTL+TTL │ SEQ(24b) │ SRC 16b │ DST │ Transport │ MIC │ │ 1 B │ 1 B │ 3 B │ 2 B │ 2 B │ PDU(加密) │ 4/8B │ └──