ESP-BLE-MESH 完整实战指南蓝牙 Mesh 功能、模型与示例一文讲透【免费下载链接】esp-idfEspressif IoT Development Framework. Official development framework for Espressif SoCs.项目地址: https://gitcode.com/GitHub_Trending/es/esp-idfESP-BLE-MESH 是 ESP-IDF 内置的蓝牙 Mesh 协议栈提供设备配网、多跳组网与全套标准 Model。本文面向需要搭建 BLE Mesh 照明、传感或智能家居方案的嵌入式工程师用一张总览表加选型表格帮你快速建立完整认知。一张表看懂 ESP-BLE-MESH 功能全景先给结论该组件的协议能力集中在 components/bt/esp_ble_mesh/ 下按核心协议、模型、v1.1 扩展三层组织。官方能力索引见 ble-mesh-feature-list.rst下表是按实现状态重新整理的对照功能域具体能力状态实现位置配网ProvisioningPB-ADV / PB-GATT / PB-Remote 三种承载、OOB 认证、证书配网、增强认证已实现core/prov_node.c、core/prov_pvnr.c、core/prov_common.c远程配网Remote Provisioning借道已入网节点为远端设备入网已实现v1.1v1.1/组网与转发Relay、SAR 分段重组、Key Refresh、IV Update、Friend/LPN、Proxy Server/Client已实现core/net.c、core/friend.c、core/lpn.c、core/proxy_server.cv1.1 网络增强定向转发、私有信标、子网桥接、操作码聚合、大容量 Composition Data 等已实现v1.1/api/core/固件升级DFUFirmware Update / Firmware Distribution 四个 Model 预览v1.1/dfu/标准与基础模型Foundation Generic / Sensor / Time / Scene / Lighting 全量 Client、Server已实现models/client/、models/server/掉电持久化配网与配置信息写入 NVS重启免重新配网已实现core/storage/并发能力多个 Client Model 并行发包、与 Server 互不阻塞已实现models/client/client_common.c配网设备如何入网把入网拆成三步选承载 → 选认证 → 落盘。第一步选入网承载。PB-ADV 走广播信道设备不建立连接即可完成配网适合批量现场作业PB-GATT 走 GATT 连接Proxy 场景手机 App如 nRF Mesh逐台操作最常用这条路径PB-Remote 是 v1.1 新增的远程承载让已入网节点当中介给远处的设备配网。节点侧逻辑在prov_node.cProvisioner 侧在prov_pvnr.c与pvnr_mgmt.c公共协议部分在prov_common.c。第二步选认证方式。基础 OOB带外认证防中间人攻击支持无 OOB、Static、Output/Input 三档需要强身份核验的场景可以启用 Certificate-based Provisioningv1.1 另提供 Enhanced Provisioning Authentication 增强认证。第三步配置落盘。入网后密钥与模型订阅关系由 core/storage/ 下的settings_nvs.c等模块写入 NVS掉电重启后节点直接恢复为已入网身份mesh 配网无需重复执行。网络如何长期运转节点角色与转发机制一个蓝牙 Mesh 网络里每台节点可以同时扮演多种角色。按角色理解 networking 特性最容易上手每条对应一个典型场景节点角色机制一句话场景中继站Relaycore/net.c、core/transport.c消息越障多跳覆盖大面积楼层大货运分段重组SAR超过单包 MTU 的长报文拆分传输换锁员Key Refresh 密钥刷新网络密钥泄露后全网换新更时者IV Update长期运行下保证计数器唯一代收柜Friendfriend.c帮低功耗节点缓存消息低功耗节点LPNlpn.c传感器周期休眠醒来向 Friend 取信门口接待Proxy Server / Clientproxy_server.c、proxy_client.c手机等纯 BLE 设备经 GATT 进网专递员定向转发v1.1只有路径节点转发闲杂节点不掺和降低空口拥塞私有信标Private Beacon与子网桥接Subnet Bridge同属 v1.1 网络增强前者随机化信标内容保护节点隐私后者打通跨子网转发。整体分层关系可对照官方架构图模型选型指南想做什么就选哪个模型模型分三类Foundation系统管理、标准 Client发起控制、标准 Server承载状态。源码里 Client 按功能域拆成generic_client.c、lighting_client.c、sensor_client.c、time_scene_client.cServer 侧对称分布另有state_binding.c做状态联动、state_transition.c做过渡时间内的平滑渐变。选型时按下表对号入座业务目标选哪个模型管理别的节点订阅、AppKey/NetKeyConfiguration Client ↔ Configuration Server查询设备健康状态Health Client ↔ Health Server开关灯Generic OnOff Server/Client调亮度Generic Level 或 Light LightnessSetup Server 管参数与订阅调色温/颜色Light CTL、Light HSL、Light xyL 各域 Server 对应 Client读电量、读位置Generic Battery / Generic Location读传感器数据Sensor Client ↔ Sensor Server阈值等参数走 Sensor Setup Server时间与场景编排Time / Scene / Scheduler 三组 Client Server厂商自定义属性Generic Property 系列 Server 或自研厂商模型两条配对规则要记牢。其一带Setup的 Server 负责该域的参数配置与订阅管理实际状态由同名非 Setup Server 承载二者通常成对注册。其二Client 与 Server 交互需绑定同一个 AppKey唯一例外是 Configuration Server——它仅用 DevKey 加密传输层消息配网完成后无需再绑 AppKey。多个 Client Model 可同时向不同节点发包且不会阻塞 Server 侧处理这是 models/client/ 与 models/server/ 目录隔离 事件回调解耦带来的。v1.1 新特性与预览特性v1.1 的能力集中在 components/bt/esp_ble_mesh/v1.1/API 层按模型逐个拆分esp_ble_mesh_rpr_model_api.c、esp_ble_mesh_df_model_api.c等可归为四组配网组Remote Provisioning Server/Client让入网动作脱离物理距离限制。转发与桥接组Directed Forwarding定向转发、Subnet Bridge子网桥接、On-Demand Private Proxy按需私有代理。配置参数组SAR 配置、Solicitation PDU RPL 配置、Mesh Private Beacon Server/Client。数据与扩展组Opcodes Aggregator操作码聚合批量打包多个操作码、Large Composition Data大容量组成数据分段、Blob 传输v1.1/mbt/。⚠️DFU 为预览特性Firmware Update 与 Firmware Distribution 四个 Modeldfu_cli.c、dfu_srv.c、dfu_metadata.c、dfu_slot.c、dfd_cli.c、dfd_srv.c支持多节点接力分发固件但官方功能清单将其标注为 Preview。预览特性的接口与行为可能在后续版本中调整量产方案请勿直接依赖使用前请核对所用 ESP-IDF 版本的发布说明。示例索引与学习路线官方示例统一放在 examples/bluetooth/esp_ble_mesh/按场景检索即可场景示例配套教程最小组网开关灯onoff_modelsonoff_clientonoff_server后者演示 Configuration Server 与 Generic OnOff Server 联动控制 RGB 灯Server 教程、Client 教程自建 Provisionerprovisioner含 Configuration Client 与 Generic OnOff Client教程⚡ 快速配网fast_provisioningfast_prov_clientfast_prov_server官方数据为 60 秒内完成 100 台设备入网Client 教程、Server 教程双射频共存wifi_coexistWi-Fi 与 BLE Mesh 同板共存教程远程配网与定向转发remote_provisioningrpr_client/rpr_server/unprov_dev、directed_forwardingdf_client/df_server各自目录下tutorial/传感器 / 厂商模型sensor_models、vendor_models各目录 README建议路线先用onoff_models搭三节点最小网络 → 换到provisioner理解配置侧 → 上fast_provisioning体会批量入网 → 再按产品形态补wifi_coexist或 v1.1 新特性示例。选型建议与延伸阅读ESP-BLE-MESH 和 Wi-Fi Mesh 是一回事吗不是。蓝牙 Mesh 是构建在 BLE 之上的组网层主打多对多m:m通信与低功耗乐鑫另有基于 Wi-Fi 的 ESP-WIFI-MESH选型时先分清射频制式。协议栈从哪来的基于 Zephyr Bluetooth Mesh 实现按 Mesh Profile v1.0.1 完成认证并前瞻纳入 v1.1 特性因此 v1.1 部分功能仍处打磨期选型时留意版本说明。API 去哪查接口参考看 ESP-BLE-MESH API Reference实现细节可进 core/、models/、v1.1/ 对应目录。中文环境可用 zh_CN 文档。文档入口有哪些总览 ble-mesh-index.rst、架构 ble-mesh-architecture.rst、问题排查 ble-mesh-faq.rst、术语 ble-mesh-terminology.rst。多 Client 并发够用吗多个 Client Model 可同时向不同节点发包且与 Server 处理互不阻塞Provisioner 类应用天然适合。从 Mesh 1.0.1 的全量配网、Relay、Friend/LPN、Proxy 与标准模型到 v1.1 的远程配网、定向转发、子网桥接乃至预览中的固件升级ESP-BLE-MESH 已覆盖蓝牙 Mesh 从原型到量产的完整能力面。配合官方示例与教程你可以先以最小开关灯网络验证思路再按业务逐步叠加 v1.1 特性平稳走向批量部署。【免费下载链接】esp-idfEspressif IoT Development Framework. Official development framework for Espressif SoCs.项目地址: https://gitcode.com/GitHub_Trending/es/esp-idf创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考