ESP32 BLE Mesh低功耗节点(LPN)与友节点配置使用技术问询
ESP32 SDK v4.4.2 低功耗节点(LPN)与友节点配置及使用指南
一、基础配置(基于on_off server示例)
1. Menuconfig参数设置
- 进入
Component config > ESP BLE Mesh > Features,勾选Support BLE Mesh Low Power Node和Support BLE Mesh Friend Node - LPN参数调整:设置
LPN Polling Interval(轮询间隔,单位毫秒,数值越小功耗越高但响应越快)、LPN Friend Request Retry Count(友节点请求重试次数) - 友节点参数调整:设置
Friend Node Max LPN Count(支持的最大LPN数量)、Friend Node Subscription List Size(订阅列表容量)
2. 代码层面调整
- 指定节点角色:在
ble_mesh_init()前,修改ble_mesh_cfg_t里的role字段——LPN设为BLE_MESH_ROLE_LPN,友节点设为BLE_MESH_ROLE_FRIEND - LPN订阅配置:如果要接收On/Off控制消息,添加模型订阅地址,比如执行
ble_mesh_model_sub_add(&on_off_server, BLE_MESH_ADDR_UNICAST)(也可使用组播地址) - 友节点无需额外订阅配置,启用功能后自动处理LPN的绑定请求
二、配对与数据传输流程
1. 绑定流程
- 友节点入网后,自动广播Friend Offer消息
- LPN入网后,扫描到Friend Offer,向目标友节点发送Friend Request
- 友节点回复Friend Accept,双方建立绑定关系,随后LPN进入休眠,由友节点缓存下行消息
2. 数据传输
LPN上报数据(比如On/Off状态)
- LPN唤醒后,给友节点发Poll消息
- 友节点如有缓存的下行消息会同步回复,此时LPN可发送上行数据(调用
ble_mesh_model_send(&on_off_server, &ctx, &msg, sizeof(msg))) - 发送完成后,LPN再次进入休眠
控制端(nRF Mesh App)下发数据到LPN
- App发送指令到LPN的unicast地址,消息被友节点缓存
- LPN下次发送Poll消息时,友节点转发缓存的指令
- LPN接收后执行操作(比如切换LED状态),可回复确认消息给App
三、基于nRF Mesh App从零部署步骤
1. 固件准备
- 把配置好的友节点固件烧录到一台ESP32,确保Friend功能已启用
- 把配置好的LPN固件烧录到另一台ESP32,确保LPN功能已启用
2. 配置Mesh网络
- 打开nRF Mesh App,创建新网络(设置名称、密码)
- 添加友节点:点击
Add Node→Provision,贴近友节点完成配网,App会分配unicast地址 - 添加LPN节点:重复上述配网步骤,完成LPN的入网
3. 绑定LPN与友节点
- 进入友节点详情页,确认
Friend功能已开启(固件默认开启可跳过) - 进入LPN节点详情页,开启
Low Power功能,LPN会自动扫描并绑定友节点 - 在App的节点详情
Friendship选项中可查看绑定状态
4. 通信测试
- 在App中找到LPN的On Off Server模型,发送
On/Off指令 - 观察LPN的状态变化(比如LED亮灭)
- 若LPN配置了状态上报,状态变更时会通过友节点把数据同步到App
内容的提问来源于stack exchange,提问作者BD Creation
相关产品推荐
相关产品推荐

