首页 > 解决方案 > 如何从闪存中擦除 ESP32 wifi Smartconfig 凭据?

问题描述

我正在使用 esp32 smartconfig 来设置 wifi 凭据,它工作可靠。我希望能够从我的 arduino esp32 草图中擦除存储在闪存中某处的凭据。

我能够擦除凭据(我不确定它们的存储位置)的唯一方法是使用我的 Windows PC 中的 esptool.py 擦除整个闪存:

esptool.py --chip esp32 --port com8 erase_flash

我希望能够从我的草图中删除凭据,以便没有 PC 的用户拥有此功能。

谢谢。

标签: esp32

解决方案


您没有提供有关您的实施的太多细节,但如果假设是标准 ESP-IDF 实施,那么 WiFi 凭据将存储在名为“nvs”(概述)的默认 NVS 分区上的 Flash 中。您可以轻松地对整个分区执行擦除周期,这将擦除设备中存储的所有内容。

或者,您可以查找 ESP WiFi 组件使用的特定 NVS 密钥来存储凭据并仅删除这些凭据。这有点冒险,因为他们没有开源 WiFi 驱动程序,并且可能随时更改实施。考虑到这一点,当前的 ESP IDF 4.2 似乎将这些密钥存储在命名空间“nvs.net80211”下的默认 NVS 分区中。相关的键名似乎是“sta.authmode”、“sta.ssid”和“sta.pswd”。


推荐阅读