完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位大佬好,请教一个问题,我们目前在开发的一款产品需要实现如下一个功能:某些node角色的设备本来是provisioned,并且持久化配置存储选项CONFIG_BLE_MESH_SETtiNGS设置为了1,我们希望通过对这些设备重新进行快速配网操作,现在我们的处理过程是通过调用esp_ble_mesh_node_local_reset,清除掉本地配网信息后,再调用esp_ble_mesh_node_prov_enable使能配网,即可进行后续的快速配网操作了。我们的问题在于,我们在调用完esp_ble_mesh_node_prov_enable使能配网后,后续的快速配网操作可能因为其他原因取消掉了,这个时候,我们希望这些设备能够重新用原来的配网信息回到provisioned状态,但是在前面调用了esp_ble_mesh_node_local_reset方法后,本地存储的配网信息都删除掉了,导致通过重启芯片也没法重新进入原来网络里的provisioned状态了,请问下可有其他的代替esp_ble_mesh_node_local_reset的方法或者方式,可以实现node暂时退出配网状态,后续如果没有新配网操作的话,可以继续用原来的配网信息维持provisoned状态吗?
我们使用的芯片是esp32-C3 IDF版本版本:2.8.1 Build id:20230207-1119 |
|
相关推荐
1个回答
|
|
在这种情况下,您可以使用以下方法来暂时退出配网状态:
1. 首先,确保您已经调用了`esp_ble_mesh_node_local_reset`来清除本地配网信息。 2. 然后,调用`esp_ble_mesh_node_prov_enable`使能配网。 3. 如果您需要暂时退出配网状态,可以调用`esp_ble_mesh_node_prov_disable`函数来禁用配网功能。这将使设备回到非配网状态,但不会清除已存储的配网信息。 4. 当您需要重新进行快速配网操作时,再次调用`esp_ble_mesh_node_prov_enable`使能配网。 示例代码如下: ```c // 清除本地配网信息 esp_ble_mesh_node_local_reset(); // 使能配网 esp_ble_mesh_node_prov_enable(); // ... 进行快速配网操作 ... // 如果需要暂时退出配网状态 esp_ble_mesh_node_prov_disable(); // ... 其他操作 ... // 当需要重新进行快速配网操作时 esp_ble_mesh_node_prov_enable(); ``` 这样,您可以在需要时暂时退出配网状态,而不影响设备的其他功能。 |
|
|
|
只有小组成员才能发言,加入小组>>
1106 浏览 1 评论
574浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
460浏览 5评论
461浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 11:41 , Processed in 1.222453 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号