在ESP32上保存大量数据

问题描述 投票:0回答:2

我有一个项目,需要在 ESP32(NodeMCU) 上保存大量字节(最多 1080000)。 而且它不一定是永久性的。

是否可能以及最好的方法是什么。

c esp32
2个回答
3
投票

将数据存储在 ESP32 的闪存上是很常见的。您应该选择的方法取决于数据大小、文件数量以及写入频率。

无论如何,您都必须为数据设置一个分区(与应用程序固件分开)。 https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/partition-tables.html

如果您只需要写入单个文件(并且仅在末尾追加新数据),您可以使用分区 API(上面的链接)将原始数据写入闪存分区,但这不允许您重写部分文件数据或删除其中的一部分。您只能擦除整个数据分区并重新开始(顺便说一句,擦除一块闪存需要一点时间(几毫秒?)并且会消耗一些能量)。

我建议使用文件系统,因为如果您遵循示例,ESP-IDF 会变得非常简单:

ESP-IDF 为频繁读/写的小变量提供 NVS 存储。 https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/storage/nvs_flash.html

FAT 文件系统适用于写入频率较低的大文件。 https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/storage/fatfs.html

还有其他受支持的文件系统,例如 SPIFFS LittleFS、ESPFS,每个系统都有独特的优点和限制。


0
投票

看这个,这是我自己的代码。其中我处理过 3MB 数据,更多内容在 GitHub 上, https://github.com/my-dudhwala/ESP_Big_Data/tree/main

© www.soinside.com 2019 - 2024. All rights reserved.