拓冰建站拓冰建站
首页 / 资讯中心 / 正文

ESP-IDF ESP-BLE-MESH 完整特性清单与最小上手路径

ESP-IDF ESP-BLE-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 协议栈实现让多台 ESP 芯片设备组成可多跳传消息的物联网网络。本文基于官方功能清单与 esp_ble_mesh 组件源码逐项核对带你拿到一张能力—源码落点—示例对照表并走完从入网到点灯的最短路径适合准备选型或首次开发 Mesh 项目的开发者。能力速查表能力状态源码落点示例或文档PB-ADV / PB-GATT / PB-Remote 入网承载已实现core/prov_node.conoff_models 示例带外认证OOB与证书入网已实现core/prov_node.c功能清单远程配网Remote Provisioning依赖 v1.1core/prov_common.cremote_provisioning 示例快速配网批量已实现core/fast_prov.cfast_provisioning 示例NVS 持久化已实现core/storage/settings_nvs.cble-mesh-indexRelay 中继转发已实现core/net.cprovisioner 示例分段与重组SAR已实现core/transport.c功能清单 Networking 一节密钥刷新与 IV 更新已实现core/transport.c功能清单 Networking 一节Friend 与低功耗节点LPN已实现core/friend.c、core/lpn.cble-mesh-architectureProxy Server / Client已实现core/proxy_server.c、core/proxy_client.c功能清单 Networking 一节定向转发、私有信标、子网桥接依赖 v1.1core/access.cdirected_forwarding 示例通用Generic模型已实现models/client/generic_client.c、models/server/generic_server.conoff_models 示例传感器、时间、场景模型已实现models/client/sensor_client.c、models/server/sensor_server.csensor_models 示例灯光模型亮度/色温/色彩已实现models/client/lighting_client.c、models/server/lighting_server.c功能清单 Lighting 一节DFU 固件升级预览v1.1/dfu/功能清单标注 PreviewWi-Fi 共存已实现esp_coex 组件wifi_coexist 示例表中带依赖 v1.1的条目属于 Mesh v1.1 规范内容具体行为以你所用 ESP-IDF 版本的官方文档为准。如何完成入网配置入网Provisioning解决的是新设备如何被安全地接纳进网络完成后节点才拥有网络身份。三种承载方式已实现PB-ADV 走广播信道、PB-GATT 走 GATT 连接适合带 Proxy 的场景PB-Remote 则允许通过已入网节点为远处的设备配网。PB-ADV 无需连接是大多数场景的默认选择节点侧逻辑在 core/prov_node.cProvisioner 侧在 core/prov_pvnr.c公共部分集中在 core/prov_common.cProvisioner 的管理入口是 core/pvnr_mgmt.c认证可选 No OOB、静态 OOB 或输入/输出 OOB带外信息用于防中间人攻击还支持基于证书的入网以及 v1.1 的增强型入网认证批量入网快速配网快速配网面向一次配几十上百台设备的量产场景Provisioner 先与第一台设备完成完整配网并缓存参数之后批量下发官方演示指标为 60 秒内完成约 100 台。实现位于 core/fast_prov.c配套 fast_provisioning 示例拆成fast_prov_client与fast_prov_server两个工程。掉电恢复NVS 持久化节点重启后无需重新配网靠的就是把配网信息与配置写入 NVS。相关代码在 core/storage/ 目录其中 settings_nvs.c 直接对接 NVS 分区settings.c 提供读写抽象。如何理解组网与消息传递消息跨设备传递由中继Relay承担开启 Relay 的节点收到不属于本节点的数据时原样转发网络因此可以多跳延伸。底层报文在 core/net.c 封装与解析应用层分包在 core/transport.c。超过单包上限的长消息由分段重组SARSegmentation and Reassembly机制自动拆分与还原网络被入侵后用密钥刷新流程换新 Network KeyIV 更新流程则周期性改变加密上下文两者都落在 transport 层低功耗节点LPN周期性休眠由好友节点Friend代为缓存与投递消息分别见 core/lpn.c 与 core/friend.c普通 BLE 设备不能收广播可用 Proxy 通道经 GATT 接入core/proxy_server.c 与 core/proxy_client.cMesh v1.1 组网增强定向转发、私有信标与子网桥接三项均为 v1.1 内容目前处于依赖版本状态定向转发只让路径上的节点参与转发降低全网广播开销directed_forwarding 示例演示了完整配置过程私有信标通过随机化广播内容增强节点隐私子网桥接允许消息跨子网流转上述能力围绕 core/access.c 的访问层展开具体边界以官方文档为准应用层模型怎么按功能域选模型Model是协议里能发什么指令、能读什么状态的契约。Client 侧与 Server 侧模型按功能域拆开存放Client 在 models/client/Server 在 models/server/两者目录隔离、经事件回调解耦因此多个 Client 模型可并发向不同节点发包而互不阻塞与 Server 模型之间也没有互相等待。通用模型开关、电平与属性通用域覆盖最常用的开关与调节场景Client 与 Server 各含 8 种以上模型OnOff开关、Level电平、Default Transition Time过渡时间、Power OnOff / Power Level电源类、Battery电量、Location位置以及属性类模型。Client 实现集中在 generic_client.cServer 端在 generic_server.c。传感器、时间与场景模型传感读数、设备时钟、场景切换与定时任务分属三个功能域各自有 Client/Server 成对实现如 sensor_client.c 与 sensor_server.c、time_scene_client.c 与 time_scene_server.c可直接跑 sensor_models 示例验证。灯光模型与状态绑定灯光是体量最大的模型家族亮度Lightness、色温CTL、色彩HSL/xyL、调光曲线LC各有 Client 与 Server其中 Server 还细分出 Setup 变体用于配置。实现见 lighting_client.c 与 lighting_server.c。两个通用机制值得注意state_binding.c 让多个模型共享同一状态例如灯光亮度与 Generic Level 联动state_transition.c 负责过渡时间内状态平滑变化。进阶与预览能力DFU 与 Wi-Fi 共存DFU设备固件升级是 v1.1 引入的 OTA 通道官方功能清单中明确标注为预览Preview量产前需核对所用 ESP-IDF 版本的发布说明。v1.1/dfu/ 目录提供四个模型固件更新dfu_cli.c、dfu_srv.c辅助文件 dfu_metadata.c 与 dfu_slot.c与固件分发dfd_cli.c、dfd_srv.c后者支持固件经多个节点接力下发。Wi-Fi 共存是 ESP 平台相对纯 BLE 芯片的差异化能力同一颗芯片同时跑 Wi-Fi 与 BLE Mesh。wifi_coexist 示例给出完整工程共存逻辑由 esp_coex 组件 提供。最小上手路线最短验证路径是一配一控全程不需要改协议栈代码克隆仓库git clone https://gitcode.com/GitHub_Trending/es/esp-idf用 ESP-IDF 工具链打开 examples/bluetooth/esp_ble_mesh/onoff_models/。准备两块板一块烧录provisioner配网器另一块烧录onoff_server开关节点两者均用默认sdkconfig构建。先配网Provisioner 启动后扫描到未入网节点执行配网节点侧随后完成 Configuration 阶段把 AppKey 与订阅绑定写好。验证点灯在 Provisioner 端向节点的 OnOff 模型发开/关指令观察onoff_server板载 LED 变化即为跑通。想加更多节点把同一份onoff_server固件烧到多块板重复配网即可批量场景再换 fast_provisioning 示例。详细步骤可对照 BLE_Mesh_Node_OnOff_Server_Example_Walkthrough.md 与 BLE_Mesh_Provisioner_Example_Walkthrough.md 两份官方教程。选型建议与延伸阅读ESP-BLE-MESH 适合需要多节点联动、可离线多跳、且希望与 Wi-Fi 共存的物联网场景如照明、传感网关限制在于模型以官方实现清单为准私有扩展需自行定义厂商模型可参考 vendor_models 示例DFU 等 v1.1 能力上线前请先确认版本状态。延伸阅读ble-mesh-architecture.rst 讲分层实现ble-mesh-faq.rst 汇总常见问题ble-mesh-terminology.rst 是术语表组件总入口在 README.md。【免费下载链接】esp-idfEspressif IoT Development Framework. Official development framework for Espressif SoCs.项目地址: https://gitcode.com/GitHub_Trending/es/esp-idf创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门