esp32 - 如何从闪存中擦除 ESP32 wifi Smartconfig 凭据?
问题描述
我正在使用 esp32 smartconfig 来设置 wifi 凭据,它工作可靠。我希望能够从我的 arduino esp32 草图中擦除存储在闪存中某处的凭据。
我能够擦除凭据(我不确定它们的存储位置)的唯一方法是使用我的 Windows PC 中的 esptool.py 擦除整个闪存:
esptool.py --chip esp32 --port com8 erase_flash
我希望能够从我的草图中删除凭据,以便没有 PC 的用户拥有此功能。
谢谢。
解决方案
您没有提供有关您的实施的太多细节,但如果假设是标准 ESP-IDF 实施,那么 WiFi 凭据将存储在名为“nvs”(概述)的默认 NVS 分区上的 Flash 中。您可以轻松地对整个分区执行擦除周期,这将擦除设备中存储的所有内容。
或者,您可以查找 ESP WiFi 组件使用的特定 NVS 密钥来存储凭据并仅删除这些凭据。这有点冒险,因为他们没有开源 WiFi 驱动程序,并且可能随时更改实施。考虑到这一点,当前的 ESP IDF 4.2 似乎将这些密钥存储在命名空间“nvs.net80211”下的默认 NVS 分区中。相关的键名似乎是“sta.authmode”、“sta.ssid”和“sta.pswd”。
推荐阅读
- c - 如何在参数字符串中包含变量名,例如:execlp("ls","ls"," /VARIABLE_NAME",Null);?
- sql - varchar 与使用 (encryption_type = 'DETERMINISTIC' 加密的 varchar(50) 不兼容
- azure-devops - 我在 Azure DevOps 中有一个用于我的 github 存储库的构建管道 - 二进制文件在哪里?
- azure - 如何在 Azure 蓝图中使用我们的命名约定?
- c# - 我怎样才能让我的跳跃和着陆动画可靠地播放?
- node.js - 尝试安装 Shopify Slate(Windows) 但它不起作用
- c - 函数中指针的值
- clips - 有没有办法定义 CLIPS 规则以搜索文本?
- python - 线性回归的实现,权重值增加到 Inf
- javascript - 如何在 React 中处理多个上下文?