完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在程序中,我使用了
函数读取WiFI STA存储在NVS中的信息,然后在将读到的信息使用esp_mesh_set_config函数设置Mesh网络,给Mesh 配网是使用字节写的ble通讯将app配置的WiFi配置及Mesh配置接收,WiFi信息调用如下方法写入配置:
Mesh使用如下方法写入:
现在的问题是,Mesh组网完成后,如果节点是根节点,所有配置信息都正常,如果不上根节点,esp_wifi_set_config函数写入的配置信息会丢失,就算写入的时候是根节点,已经确认没有丢失,下如重启如果已经有根节点,前面存储的wifi信息就会丢失 |
|
相关推荐
1个回答
|
|
在您的代码中,您提到在Mesh组网完成后,`esp_wifi_set_config`函数写入的配置信息会丢失。这可能是由于以下原因之一:
1. **NVS(Non-Volatile Storage)未正确同步**:ESP32使用NVS来存储和读取非易失性数据,如WiFi配置。在修改配置后,需要确保NVS数据已正确同步。您可以在修改配置后调用`esp_wifi_set_config`函数,然后调用`esp_wifi_save_config`函数来确保NVS数据同步。 2. **未正确设置Mesh配置**:在将WiFi STA配置传递给Mesh网络时,确保正确设置Mesh配置。使用`esp_mesh_set_config`函数时,确保传入的`mesh_cfg`参数正确设置。 3. **未正确处理WiFi和Mesh状态**:在您的代码中,您提到使用了`esp_wifi_stop`函数来停止WiFi。确保在停止WiFi之前,正确处理了WiFi和Mesh的状态。例如,您可以在停止WiFi之前,先断开Mesh网络。 4. **BLE通信问题**:您提到使用BLE通信接收WiFi配置和Mesh配置。确保BLE通信过程中,数据传输正确无误。检查BLE数据包是否完整,以及接收端是否正确解析数据。 5. **程序逻辑问题**:检查您的程序逻辑,确保在设置WiFi和Mesh配置时,没有遗漏或错误地调用了某些函数。例如,确保在设置WiFi配置之前,正确初始化了WiFi模块。 6. **ESP32硬件问题**:虽然不太可能,但也不能排除硬件问题。检查您的ESP32硬件,确保其正常工作。 为了解决这个问题,您可以尝试以下步骤: 1. 确保在修改WiFi配置后,调用`esp_wifi_save_config`函数来同步NVS数据。 2. 检查`esp_mesh_set_config`函数的调用,确保传入的`mesh_cfg`参数正确设置。 3. 在停止WiFi之前,确保正确处理了WiFi和Mesh的状态。 4. 检查BLE通信过程,确保数据传输正确无误。 5. 仔细检查您的程序逻辑,确保没有遗漏或错误地调用了某些函数。 6. 如果问题仍然存在,尝试使用ESP32的串口输出调试信息,以便更好地了解程序的执行过程和可能的错误。 希望这些建议能帮助您解决问题。如果需要进一步的帮助,请提供更多详细信息,例如完整的代码或错误日志。 |
|
|
|
只有小组成员才能发言,加入小组>>
1138 浏览 1 评论
576浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
461浏览 5评论
462浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 10:55 , Processed in 0.687534 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号