尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

ESP-IDF ESP-BLE-MESH 功能全景指南:入网承载、网络特性、模型体系与 Kconfig 配置详解

ESP-IDF ESP-BLE-MESH 功能全景指南:入网承载、网络特性、模型体系与 Kconfig 配置详解 ESP-IDF ESP-BLE-MESH 功能全景指南入网承载、网络特性、模型体系与 Kconfig 配置详解【免费下载链接】esp-idfEspressif IoT Development Framework. Official development framework for Espressif SoCs.项目地址: https://gitcode.com/GitHub_Trending/es/esp-idf本文围绕 ESP-IDF 官方文档中的「ESP-BLE-MESH 功能列表」展开系统梳理 ESP-BLE-MESH 协议栈在入网方式、网络层特性、模型体系三大维度上支持的全部功能并结合 Kconfig 配置文件 与仓库内的官方示例工程说明每项功能对应的配置开关、默认值与调优要点帮助你完整评估这套协议栈的能力边界并落地到自己的产品中。一、ESP-BLE-MESH 在 ESP-IDF 中的定位ESP-BLE-MESH 是乐鑫官方提供的蓝牙 Mesh 协议栈支持多对多m:m设备通信面向大规模设备组网场景。协议栈代码位于 components/bt/esp_ble_mesh 组件下从源码结构看其内部按core协议核心、models模型层、api对外接口、btc控制器接口等目录分层组织并带有独立的v1.1目录承载 Bluetooth Mesh v1.1 新增特性。需要说明两个适用前提该协议栈基于 Zephyr Bluetooth Mesh stack 实现见 示例总览 README 的说明功能演进与其保持同步使用任何示例或协议栈功能前必须在 menuconfig 中启用 Bluetooth并选择 Bluedroid 或 NimBLE 作为 host 协议栈根据 esp_ble_mesh 组件 README 的提示ESP-BLE-MESH 可能在 IDF 的 minor 版本中引入破坏性变更跨版本升级时应关注 API 差异。官方文档目录Getting Started、Architecture、Feature List、FAQ、API Reference的入口同样在 components/bt/esp_ble_mesh/README.md 中列出本文的「功能列表」即其中 Feature List 一章的中文对应文档 ble-mesh-feature-list.rst。二、Mesh 核心支持的功能功能列表文档将「Mesh 核心」分为入网、网络、多客户端并发、NVS 存储四组下面逐组展开并给出每项功能在 Kconfig.in 中的对应配置项。2.1 入网Provisioning功能列表声明支持的入网能力包括能力说明对应 Kconfig 开关默认值PB-ADV基于广播承载入网BLE_MESH_PB_ADV选择BLE_MESH_PROVyPB-GATT基于 GATT 连接承载入网BLE_MESH_PB_GATT同时select BLE_MESH_PROXYnPB-Remote基于 Mesh 内远程入网v1.1BLE_MESH_RPR_CLI/BLE_MESH_RPR_SRVnOOB 验证入网时的带外验证随入网框架提供配合 v1.1 增强认证-基于证书的入网Certificate-based Provisioningv1.1BLE_MESH_CERT_BASED_PROV依赖BLE_MESH_V11_SUPPORTn远程入网Remote Provisioningv1.1BLE_MESH_RPR_CLI依赖BLE_MESH_PROVISIONER、BLE_MESH_RPR_SRV依赖BLE_MESH_NODEselectBLE_MESH_PB_ADVn增强入网验证Enhanced Provisioning Authenticationv1.1BLE_MESH_PROV_EPA依赖BLE_MESH_V11_SUPPORTy几个值得注意的实现细节均可见于 Kconfig.inBLE_MESH_PROV_EPA默认开启帮助文本明确建议保持启用以提升入网安全性使能BLE_MESH_CERT_BASED_PROV后可通过BLE_MESH_RECORD_FRAG_MAX_SIZE默认 56范围 1~57取决于入网承载控制 Provisioner 可接收的入网记录分片大小远程入网相关选项还带若干可调参数BLE_MESH_RPR_CLI_PROV_SAME_TIME默认 2最多同时 PB-Remote 入网的设备数、BLE_MESH_RPR_SRV_MAX_SCANNED_ITEMS默认 10、BLE_MESH_RPR_SRV_ACTIVE_SCAN、BLE_MESH_RPR_SRV_MAX_EXT_SCAN默认 1上述 v1.1 能力统一受总开关BLE_MESH_V11_SUPPORTSupport ESP BLE Mesh v1.1 features (Preview)默认 y约束即 v1.1 特性整体处于 Preview 状态。2.2 网络层特性功能列表声明的网络能力及其配置入口如下中继RelayBLE_MESH_RELAY依赖BLE_MESH_NODE默认 y。开启后节点具备中继能力但实际是否中继仍可由配置消息在运行期开启/关闭另有BLE_MESH_RELAY_ADV_BUF可为中继包分配独立低优先级广播缓冲区BLE_MESH_RELAY_ADV_BUF_COUNT默认 60将自发包与中继包分队列处理分包与重组由BLE_MESH_TX_SEG_MAX默认 32范围 2~32、BLE_MESH_RX_SDU_MAX默认 384、BLE_MESH_TX_SEG_MSG_COUNT/BLE_MESH_RX_SEG_MSG_COUNT均默认 1共同决定v1.1 的「次要增强」对应BLE_MESH_SAR_ENHANCEMENTEnhanced Segmentation and Reassembly默认 n依赖BLE_MESH_V11_SUPPORT密钥更新程序与 IV 更新程序随协议栈默认提供BLE_MESH_IVU_DIVIDER默认 4把规范要求的 96 小时状态保持期切分为若干间隔并持久化计时BLE_MESH_IVU_RECOVERY_IVI默认 n控制是否执行 IV Index 恢复程序BLE_MESH_IV_UPDATE_TEST则移除 96 小时限制用于测试朋友节点Friend与低功耗节点LPNBLE_MESH_FRIEND使节点可充当 FriendBLE_MESH_LOW_POWER使节点入网后自动寻找 Friend 建立友谊详细参数见 第四节代理服务器 / 代理客户端BLE_MESH_GATT_PROXY_SERVER依赖BLE_MESH_NODE默认 y、BLE_MESH_GATT_PROXY_CLIENT默认 n、底层协议开关BLE_MESH_PROXY默认 y并受BLE_MESH_PROXY_PRIVACYProxy Privacy默认 y与 v1.1 的 Solicitation PDU 收发开关控制定向转发v1.1 的 Directed Forwarding对应BLE_MESH_DF_SRV/BLE_MESH_DF_CLIBLE_MESH_DF_SRV下还有 Discovery Table / Forward Table 容量BLE_MESH_MAX_DISC_TABLE_ENTRY_COUNT、BLE_MESH_MAX_FORWARD_TABLE_ENTRY_COUNT、BLE_MESH_MAX_DEPS_NODES_PER_PATH默认均 2与BLE_MESH_PATH_MONITOR_TEST、BLE_MESH_SUPPORT_DIRECTED_PROXY等子项私有信标Mesh Private Beacon Server/Client对应BLE_MESH_PRB_SRV/BLE_MESH_PRB_CLIv1.1子网桥Bridge Configuration Server/Client对应BLE_MESH_BRC_SRV/BLE_MESH_BRC_CLIv1.1BLE_MESH_BRC_SRV下可配BLE_MESH_MAX_BRIDGING_TABLE_ENTRY_COUNT默认 16与BLE_MESH_BRIDGE_CRPL默认 5次要增强即上文BLE_MESH_SAR_ENHANCEMENT引入的 v1.1 增强分包/重组机制设备固件更新预览DFU/DFD 模型标注为预览特性详见 第三节 3.6。2.3 多个客户端模型同时运行功能列表明确了两条并发能力支持多个客户端模型同时向不同节点发送数据包客户端模型与服务器模型之间无阻塞。从源码结构看BLE_MESH_TX_SEG_MSG_COUNTMaximum number of simultaneous outgoing segmented messages默认 1范围 1~BLE_MESH_ADV_BUF_COUNT正是控制「同时进行的分段/可靠消息数」的关键参数默认值 1 表示一次只能发送一条分段消息需要并发发送多条时例如多个客户端模型各自发起 ACK 消息必须相应调大且要确保BLE_MESH_ADV_BUF_COUNT有足够广播缓冲区支撑。2.4 NVS 存储功能列表声明「存储 ESP-BLE-MESH 节点的入网和配置信息」对应实现由 Kconfig.in 中的BLE_MESH_SETTINGS族配置控制BLE_MESH_SETTINGSStore BLE Mesh configuration persistently默认 n开启后节点会持久化单播地址、NetKey、AppKey 等入网配置Provisioner 则持久化已入网节点信息与密钥。关闭时协议栈不自动落盘应用需自行管理BLE_MESH_STORE_TIMEOUT默认 0变更后延迟多少秒写入 Flash0 表示立即写入BLE_MESH_SEQ_STORE_RATE默认 0本地序列号每递增多少次写一次存储发送频繁的节点适合调大BLE_MESH_RPL_STORE_TIMEOUT默认 0RPL防重放列表的最小写盘频率。帮助文本特别提醒在安全敏感且可能突然断电的场景下强烈建议保持 0否则断电可能引入消息重放攻击风险BLE_MESH_SPECIFIC_PARTITION默认 nBLE_MESH_PARTITION_NAME默认 ble_mesh为 Mesh 单独指定 NVS 分区帮助文本建议 Provisioner 需要存储大量如 20 个以上节点信息时启用该选项且分区须通过nvs_flash_init_partition()注册BLE_MESH_USE_MULTIPLE_NAMESPACE默认 n允许 Provisioner 用多个 NVS 命名空间分别存储不同的网信息实例帮助文本举例第一间房用 NetKey A/AppKey A第二间房用 NetKey B/AppKey B上限由BLE_MESH_MAX_NVS_NAMESPACE默认 2范围 1~255控制。三、Mesh 模型体系功能列表文档给出了完整的模型清单本节完整继承该清单并标注每个模型在 Kconfig.in 中「Support for BLE Mesh Foundation models」和「Support for BLE Mesh Client/Server models」两个菜单下的开关。所有模型按需使能未启用的模型不会占用运行时资源。3.1 基础模型功能列表声明的基础模型共 22 个Kconfig 映射如下模型Kconfig 开关配置服务器 / 配置客户端模型配置服务器随节点框架内置BLE_MESH_CFG_CLI健康服务器模型BLE_MESH_HEALTH_SRV默认 y健康客户端模型BLE_MESH_HEALTH_CLI远程供应服务器 / 客户端模型BLE_MESH_RPR_SRV/BLE_MESH_RPR_CLIv1.1依赖 NODE/PROVISIONER定向转发配置服务器 / 客户端模型BLE_MESH_DF_SRV/BLE_MESH_DF_CLIv1.1桥接配置服务器 / 客户端模型BLE_MESH_BRC_SRV/BLE_MESH_BRC_CLIv1.1Mesh 专用信标服务器 / 客户端模型BLE_MESH_PRB_SRV/BLE_MESH_PRB_CLIv1.1按需提供的专用代理服务器 / 客户端模型BLE_MESH_ODP_SRV依赖BLE_MESH_PROXY_SOLIC_PDU_RXselectBLE_MESH_SRPL_SRV/BLE_MESH_ODP_CLIv1.1SAR 配置服务器 / 客户端模型BLE_MESH_SAR_SRV/BLE_MESH_SAR_CLIv1.1请求 PDU RPL 配置服务器 / 客户端模型BLE_MESH_SRPL_SRV/BLE_MESH_SRPL_CLIv1.1SRPL_SRV依赖BLE_MESH_PROXY_SOLIC_PDU_RX操作码聚合器服务器 / 客户端模型BLE_MESH_AGG_SRV/BLE_MESH_AGG_CLIv1.1大型合成数据服务器 / 客户端模型BLE_MESH_LCD_SRV/BLE_MESH_LCD_CLIv1.1LCD_SRV会 selectBLE_MESH_MODELS_METADATA_0v1.1 大合成数据相关的元数据页由BLE_MESH_COMP_DATA_1、BLE_MESH_COMP_DATA_128、BLE_MESH_MODELS_METADATA_0、BLE_MESH_MODELS_METADATA_128控制其中 Models Metadata Page 128 要求节点同时支持 Remote Provisioning Server 与 Large Composition Data Server。3.2 通用客户端模型功能列表声明 8 个通用客户端模型开关一一对应模型Kconfig 开关通用开关客户端BLE_MESH_GENERIC_ONOFF_CLI通用电平客户端BLE_MESH_GENERIC_LEVEL_CLI通用默认过渡时间客户端BLE_MESH_GENERIC_DEF_TRANS_TIME_CLI通用电源开关客户端BLE_MESH_GENERIC_POWER_ONOFF_CLI通用功率电平客户端BLE_MESH_GENERIC_POWER_LEVEL_CLI通用电池客户端BLE_MESH_GENERIC_BATTERY_CLI通用位置客户端BLE_MESH_GENERIC_LOCATION_CLI通用属性客户端BLE_MESH_GENERIC_PROPERTY_CLI3.3 通用服务器模型功能列表声明的 14 个通用服务器模型在 Kconfig 中以一个总开关BLE_MESH_GENERIC_SERVERGeneric server models默认 n整体使能涵盖通用开关服务器、通用电平服务器、通用默认过渡时间服务器、通用电源开关服务器、通用电源开关设置服务器、通用功率电平服务器、通用功率电平设置服务器、通用电池服务器、通用位置服务器、通用位置设置服务器、通用用户属性服务器、通用管理员属性服务器、通用制造商属性服务器、通用客户端属性服务器。3.4 传感器、时间与场景模型传感器传感器服务器 / 传感器设置服务器由BLE_MESH_SENSOR_SERVER默认 n整体使能传感器客户端由BLE_MESH_SENSOR_CLI独立使能时间与场景时间服务器、时间设置服务器、场景服务器、场景设置服务器、调度器服务器、调度器设置服务器由BLE_MESH_TIME_SCENE_SERVER默认 n整体使能时间客户端、场景客户端、调度器客户端分别由BLE_MESH_TIME_CLI、BLE_MESH_SCENE_CLI、BLE_MESH_SCHEDULER_CLI独立使能。3.5 照明模型照明客户端灯光亮度客户端、灯光 CTL 客户端、灯光 HSL 客户端、灯光 xyL 客户端、灯光 LC 客户端分别对应BLE_MESH_LIGHT_LIGHTNESS_CLI、BLE_MESH_LIGHT_CTL_CLI、BLE_MESH_LIGHT_HSL_CLI、BLE_MESH_LIGHT_XYL_CLI、BLE_MESH_LIGHT_LC_CLI照明服务器功能列表列出的 14 个服务器模型灯光亮度/亮度设置、CTL/CTL 温度/CTL 设置、HSL/HSL 色调/HSL 饱和度/HSL 设置、xyL/xyL 设置、LC/LC 设置由BLE_MESH_LIGHTING_SERVER默认 n整体使能。3.6 设备固件更新DFU/DFD模型预览功能列表将固件更新客户端/分发客户端与固件更新服务器/分发服务器模型均标注为「预览」。Kconfig 中的实现层次如下见 Kconfig.in Device Firmware Update model 菜单BLOB Transfer 层是 DFU 的基础BLE_MESH_BLOB_SRV/BLE_MESH_BLOB_CLI均依赖BLE_MESH_V11_SUPPORT旧的BLE_MESH_MBT_CLI/BLE_MESH_MBT_SRV已标记 DeprecatedBLE_MESH_DFU_SRV依赖BLE_MESH_BLOB_SRVBLE_MESH_DFU_CLI依赖BLE_MESH_BLOB_CLI关键参数BLE_MESH_DFU_FWID_MAXLEN默认 16、BLE_MESH_DFU_METADATA_MAXLEN默认 32、BLE_MESH_DFU_URI_MAXLEN默认 32、BLE_MESH_DFU_SLOTSBLE_MESH_DFU_CLI下默认 y与BLE_MESH_DFU_SLOT_CNT默认 1BLOB 传输本身的容量参数包括BLE_MESH_BLOB_SIZE_MAX默认 524288、BLE_MESH_BLOB_BLOCK_SIZE_MIN/BLE_MESH_BLOB_BLOCK_SIZE_MAX默认均 4096、BLE_MESH_BLOB_CHUNK_COUNT_MAX默认 256固件分发服务器BLE_MESH_DFD_SRV依赖BLE_MESH_BLOB_SRV与BLE_MESH_DFU_CLI可配单槽容量BLE_MESH_DFD_SRV_SLOT_MAX_SIZE、总存储空间BLE_MESH_DFD_SRV_SLOT_SPACE、同时可下发的目标节点数BLE_MESH_DFD_SRV_TARGETS_MAX默认 8范围 1~65535及带外上传BLE_MESH_DFD_SRV_OOB_UPLOAD。四、Kconfig 调优要点关键参数默认值与取值范围除了模型开关协议栈运行时行为由一批核心参数决定以下整理自 Kconfig.in可作为产品调优的直接参考参数默认值范围作用BLE_MESH_SUBNET_COUNT31~4096每网子网数上限即节点可持有的 NetKey 数量BLE_MESH_APP_KEY_COUNT31~4096每网 AppKey 上限BLE_MESH_MODEL_KEY_COUNT31~4096每个模型可绑定的 AppKey 上限BLE_MESH_MODEL_GROUP_COUNT31~4096每个模型可订阅的组地址上限BLE_MESH_LABEL_COUNT30~4096Label UUID 数量即虚拟地址VA支持上限BLE_MESH_CRPL102~65535防重放列表容量。帮助文本给出经验公式Provisioner 的 CRPL 应不小于「可存储节点数 × 每节点元素数」如 20 个双元素节点至少配 40BLE_MESH_MSG_CACHE_SIZE102~65535网络消息缓存数避免重复解密与无效中继BLE_MESH_ADV_BUF_COUNT606~256广播缓冲区数传输层保留ADV_BUF_COUNT - 3个用于出方向分段BLE_MESH_TX_SEG_MAX322~32出方向消息最大分段数最大出方向 SDU 为其 12 倍扣除 4/8 字节 MICBLE_MESH_CLIENT_MSG_TIMEOUT4000 ms100~1200000客户端模型等待 ACK 消息响应的超时BLE_MESH_UNPROVISIONED_BEACON_INTERVAL5 s快速入网下建议 ≤3 s1~100未入网设备信标间隔BLE_MESH_PROVISIONER_SUBNET_COUNT/BLE_MESH_PROVISIONER_APP_KEY_COUNT3 / 31~4096Provisioner 侧的 NetKey/AppKey 上限BLE_MESH_MAX_PROV_NODES101~1000Provisioner 可入网的设备总数上限理论上限 32766此处限内存Provisioner 并发入网参数BLE_MESH_PBA_SAME_TIME默认 2范围 1~10PB-ADV 同时入网设备数、BLE_MESH_PBG_SAME_TIME默认 1范围 1~5、BLE_MESH_WAIT_FOR_PROV_MAX_DEV_NUM默认 10范围 1~100待入网设备队列长度。LPN / Friend 参数LPN 侧BLE_MESH_LPN_AUTO_TIMEOUT默认 15 s收包后多久进入 LPN 模式、BLE_MESH_LPN_RETRY_TIMEOUT默认 6 sFriend Request 重试间隔、BLE_MESH_LPN_RECV_DELAY默认 100 msLPN 请求与监听间的接收延迟、BLE_MESH_LPN_POLL_TIMEOUT默认 300单位 100 ms 即 30 sPollTimeout 计时器、BLE_MESH_LPN_INIT_POLL_TIMEOUT首次建立友谊的初始值之后倍增逼近 PollTimeout、BLE_MESH_LPN_SCAN_LATENCY默认 10 ms扫描开启延迟、BLE_MESH_LPN_GROUPS默认 8LPN 可订阅组数、BLE_MESH_LPN_RSSI_FACTOR与BLE_MESH_LPN_RECV_WIN_FACTOR0~3分别映射 1/1.5/2/2.5用于 Friend Offer Delay 计算、BLE_MESH_LPN_MIN_QUEUE_SIZEMinQueueSizeLog1~7 对应队列 2~128。Friend 侧参数BLE_MESH_FRIEND_RECV_WIN默认 255 ms范围 1~255、BLE_MESH_FRIEND_QUEUE_SIZE默认 16每个 Friend Queue 的最小缓冲区数、BLE_MESH_FRIEND_SUB_LIST_SIZE默认 3Friend 订阅表大小范围 0~1023、BLE_MESH_FRIEND_LPN_COUNT默认 2一个 Friend 可同时服务的 LPN 数范围 1~1000、BLE_MESH_FRIEND_SEG_RX默认 1每个 LPN 的不完整分段列表数。内存分配策略BLE_MESH_MEM_ALLOC_MODE提供四种选择——内部 DRAM默认且推荐安全视角最佳、外部 SPIRAM、默认 malloc 行为、内部 IRAM8 位访问。帮助文本补充ESP32-S2/S3 在启用硬件 Flash 加密时SPIRAM 分配同样是安全的选择。另有BLE_MESH_FREERTOS_STATIC_ALLOC默认 n可让 FreeRTOS 对象互斥锁、队列、任务栈分配到 SPIRAM 或 IRAM。其他运行行为开关BLE_MESH_DEINIT默认 y允许调用esp_ble_mesh_deinit()反初始化整个协议栈BLE_MESH_FAST_PROV默认 n使能快速入网方案会同时 selectBLE_MESH_NODE、BLE_MESH_PROVISIONER、BLE_MESH_PB_ADV。开启后未入网设备成功入网成为节点后可转变为临时 Provisioner 继续入网其他设备BLE_MESH_RANDOM_ADV_INTERVAL默认 n为 Mesh 包使用随机广播间隔以降低碰撞BLE_MESH_USE_DUPLICATE_SCAN默认 y启用重复扫描过滤帮助文本要求扫描去重类型必须设为 Scan Duplicate By Device Address and Advertising DataBLE_MESH_NODE_ID_TIMEOUT默认 60 s范围 1~60节点入网成功后以 Node Identity 广播的时长之后切换为 Network ID规范建议保持默认BLE_MESH_SETTINGS_BACKWARD_COMPATIBILITY默认 n从旧版协议栈 OTA 升级到新版时的 NVS 信息恢复兼容开关帮助文本建议升级场景启用BLE 5.0 相关实验特性需先开启BLE_MESH_EXPERIMENTAL默认 nBLE_MESH_USE_BLE_50、BLE_MESH_EXT_ADV扩展广播、BLE_MESH_LONG_PACKET超长包最大载荷BLE_MESH_LONG_PACKET_ADV_LEN默认 105范围 30~249、BLE_MESH_PROXY_CLI_SRV_COEXIST、BLE_MESH_NOT_RELAY_REPLAY_MSG拒绝中继被判定为重放的过期消息帮助文本提示可能导致特定环境丢包多实例广播BLE_MESH_SUPPORT_MULTI_ADV下可用BLE_MESH_ADV_INST_ID/BLE_MESH_PROXY_ADV_INST_ID/BLE_MESH_RELAY_ADV_INST_ID/BLE_MESH_BLE_ADV_INST_ID分配 0~3 的扩展广播实例调试体系BLE_MESH_SHELL控制台命令、BLE_MESH_DEBUG及其按协议层的细分开关NET / TRANS / BEACON / CRYPTO / PROV / ACCESS / MODEL / ADV / LOW_POWER / FRIEND / PROXY、两级 trace 日志级别选择BLE_MESH_STACK_TRACE_LEVEL、BLE_MESH_NET_BUF_TRACE_LEVEL默认 WARNING、BLE_MESH_NO_LOG裁剪二进制体积时关闭 Mesh 日志、BLE_MESH_BQB_TESTauto-pts 测试会 selectBLE_MESH_IV_UPDATE_TEST。五、官方示例矩阵从功能清单到可运行工程功能列表文档末尾列出的四类示例节点、供应者、快速入网、Wi-Fi 共存在仓库examples/bluetooth/esp_ble_mesh/下均有对应工程示例总览 README 给出支持的芯片为ESP32、ESP32-C3、ESP32-C5、ESP32-C6、ESP32-C61、ESP32-H2、ESP32-H21、ESP32-H4、ESP32-S3、ESP32-S31。示例与功能清单的对应关系如下功能清单条目示例工程内容ESP-BLE-MESH 节点onoff_models/onoff_client、onoff_models/onoff_server节点分别带 Generic OnOff Client主元素或 Generic OnOff Server主元素各自附带 教程ESP-BLE-MESH 供应者provisioner设备作为 Provisioner 入网其他未入网设备附 教程快速入网fast_provisioning/fast_prov_client、fast_provisioning/fast_prov_server客户端示例演示 Fast Provisioning Client 入网其他设备后控制节点服务器示例演示设备先入网为节点、再作为临时 Provisioner 入网其他设备对应BLE_MESH_FAST_PROV开关附 客户端教程 与 服务器教程与 Wi-Fi 共存wifi_coexist设备作为 Fast Provisioning Server 的同时与 Wi-Fi iperf 功能共存附 教程此外v1.1 特性也各配有示例虽然不在功能列表文档中列出但与第二、三节的 v1.1 功能直接对应directed_forwardingdf_client / df_server 演示定向转发路径建立与 remote_provisioningrpr_client / rpr_server / unprov_dev 演示由 Remote Provisioning Server 辅助入网单跳之外的设备另有 vendor_modelsvendor_client / vendor_server演示厂商私有模型。每个示例目录都带有按芯片区分的sdkconfig.defaults.target文件如sdkconfig.defaults.esp32c3、sdkconfig.defaults.esp32s3等说明这些工程在支持的各芯片上均有经过 CI 验证的配置基线如sdkconfig.ci.nimble、sdkconfig.ci.bluedroid等文件表明同时覆盖了 NimBLE 与 Bluedroid 两种 host 栈的构建路径。六、快速对照功能到配置的落地路径结合前文落地一个 ESP-BLE-MESH 产品时的配置主线可归纳为确定角色节点开BLE_MESH_NODE供应者开BLE_MESH_PROVISIONER两者可同时快速入网场景需要 GATT 代理的节点保持BLE_MESH_GATT_PROXY_SERVER默认 y选择入网承载默认 PB-ADVGATT 场景开BLE_MESH_PB_GATT远程入网场景在 v1.1 前提下开BLE_MESH_RPR_CLI/BLE_MESH_RPR_SRV追求入网安全保持BLE_MESH_PROV_EPA默认开启按需裁剪模型按第 三节 的映射表只使能实际用到的模型服务器模型按「Generic / Sensor / Time Scenes / Lighting」分组开关整体裁剪按规模调整容量参数节点数、元素数决定BLE_MESH_MAX_PROV_NODES与BLE_MESH_CRPL按「节点数 × 元素数」估算大消息场景调BLE_MESH_TX_SEG_MAX并同步确认BLE_MESH_ADV_BUF_COUNT足够按功耗策略配置 LPN/Friend低功耗节点开BLE_MESH_LOW_POWER可用BLE_MESH_LPN_AUTO入网后自动进入 LPN 模式常供电网关节点开BLE_MESH_FRIEND并按其可服务的 LPN 数量设置BLE_MESH_FRIEND_LPN_COUNT持久化与安全量产设备建议启用BLE_MESH_SETTINGSProvisioner 存储大量节点时启用BLE_MESH_SPECIFIC_PARTITION安全敏感场景将BLE_MESH_RPL_STORE_TIMEOUT保持 0参考示例验证从 onoff_models 这类最小工程起步逐步替换为自己的模型与配置再按 fast_provisioning、wifi_coexist 等场景示例扩展能力。以上全部功能项、开关与参数均可在仓库内直接查证功能清单见 ble-mesh-feature-list.rst配置项与默认值见 components/bt/esp_ble_mesh/Kconfig.in可运行验证路径见 examples/bluetooth/esp_ble_mesh。【免费下载链接】esp-idfEspressif IoT Development Framework. Official development framework for Espressif SoCs.项目地址: https://gitcode.com/GitHub_Trending/es/esp-idf创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表