Установка загрузчика файловой системы ESP32 в Arduino IDE
ESP32 содержит файловую систему Serial Peripheral Interface Flash File System (SPIFFS). SPIFFS — это легковесная файловая система, созданная для микроконтроллеров с флеш-чипом, подключённым по шине SPI, как флеш-память ESP32. В этой статье мы покажем, как легко загружать файлы в файловую систему ESP32 с помощью плагина для Arduino IDE.
Используете Arduino IDE 2.0? Тогда следуйте этому руководству: Arduino IDE 2: Install ESP32 LittleFS Uploader (Upload Files to the Filesystem)
Примечание
Если у вас плата ESP8266, читайте: Install ESP8266 NodeMCU LittleFS Filesystem Uploader in Arduino IDE.
Если вы используете VS Code с расширением PlatformIO, читайте следующее руководство:
Знакомство с SPIFFS
SPIFFS позволяет работать с флеш-памятью так же, как вы работаете с обычной файловой системой на компьютере, но проще и с большими ограничениями. Вы можете читать, записывать, закрывать и удалять файлы. На момент написания этой статьи SPIFFS не поддерживает директории, поэтому всё сохраняется в плоской структуре.
Использование SPIFFS с платой ESP32 особенно полезно для:
Создания конфигурационных файлов с настройками;
Постоянного сохранения данных;
Создания файлов для хранения небольших объёмов данных вместо использования карты microSD;
И многого другого.
С помощью SPIFFS вы можете написать HTML и CSS в отдельных файлах и сохранить их в файловой системе ESP32. Ознакомьтесь со следующим руководством, чтобы узнать, как создать веб-сервер с файлами, хранящимися в файловой системе ESP32:
Установка загрузчика файловой системы Arduino ESP32
Вы можете создавать, сохранять и записывать файлы в файловую систему ESP32, написав код самостоятельно в Arduino IDE. Это не очень удобно, потому что вам пришлось бы вводить содержимое файлов прямо в скетче Arduino.
К счастью, существует плагин для Arduino IDE, который позволяет загружать файлы напрямую в файловую систему ESP32 из папки на вашем компьютере. Это делает работу с файлами очень простой и удобной. Давайте установим его.
Примечание
На момент написания этой статьи плагин ESP32 Filesystem Uploader не поддерживается в Arduino 2.0.
Сначала убедитесь, что у вас установлено дополнение ESP32 для Arduino IDE. Если нет, следуйте этому руководству:
Инструкции для Windows
Следуйте этим шагам для установки загрузчика файловой системы в Windows:
1) Перейдите на страницу релизов и скачайте файл ESP32FS-1.0.zip.
2) Найдите расположение вашего Sketchbook. В Arduino IDE перейдите в File > Preferences и проверьте расположение Sketchbook. В моём случае путь следующий: C:\Users\sarin\Documents\Arduino.
3) Перейдите в папку sketchbook и создайте папку tools.
4) Распакуйте скачанный файл .zip. Откройте его и скопируйте папку ESP32FS в папку tools, которую вы создали на предыдущем шаге. У вас должна получиться следующая структура папок:
<Sketchbook-location>/tools/ESP32FS/tool/esp32fs.jar
5) Наконец, перезапустите Arduino IDE.
Чтобы проверить, что плагин успешно установлен, откройте Arduino IDE. Выберите плату ESP32, перейдите в Tools и проверьте, что у вас есть пункт «ESP32 Sketch Data Upload».
Инструкции для MacOS X
Следуйте этим инструкциям, если вы используете MacOS X.
1) Перейдите на страницу релизов и скачайте файл ESP32FS-1.0.zip.
2) Распакуйте файлы.
3) Создайте папку tools в /Documents/Arduino/.
4) Скопируйте распакованную папку ESP32FS в директорию tools. У вас должна получиться следующая структура папок:
~Documents/Arduino/tools/ESP32FS/tool/esp32fs.jar
5) Наконец, перезапустите Arduino IDE.
Чтобы проверить, что плагин успешно установлен, откройте Arduino IDE. Выберите плату ESP32, перейдите в Tools и проверьте, что у вас есть пункт «ESP32 Sketch Data Upload».
Загрузка файлов с помощью загрузчика файловой системы
Чтобы загрузить файлы в файловую систему ESP32, следуйте этим инструкциям.
1) Создайте скетч Arduino и сохраните его. Для демонстрации можно сохранить пустой скетч.
2) Затем откройте папку скетча. Вы можете перейти в Sketch > Show Sketch Folder. Откроется папка, где сохранён ваш скетч.
3) Внутри этой папки создайте новую папку с именем data.
4) В папке data нужно разместить файлы, которые вы хотите сохранить в файловой системе ESP32. В качестве примера создайте файл .txt с текстом под названием test_example.
5) Затем, чтобы загрузить файлы, в Arduino IDE просто перейдите в Tools > ESP32 Sketch Data Upload.
Загрузчик перезапишет всё, что было ранее сохранено в файловой системе.
Примечание
На некоторых платах разработки ESP32 нужно нажать встроенную кнопку BOOT, когда вы увидите сообщение «Connecting ……._____……»
Файлы были успешно загружены в файловую систему ESP32, когда вы увидите сообщение «SPIFFS Image Uploaded».
Тестирование загрузчика
Теперь давайте проверим, действительно ли файл был сохранён в файловой системе ESP32. Просто загрузите следующий код на плату ESP32.
/*********
Rui Santos
Complete project details at https://randomnerdtutorials.com
*********/
#include "SPIFFS.h"
void setup() {
Serial.begin(115200);
if(!SPIFFS.begin(true)){
Serial.println("An Error has occurred while mounting SPIFFS");
return;
}
File file = SPIFFS.open("/test_example.txt");
if(!file){
Serial.println("Failed to open file for reading");
return;
}
Serial.println("File Content:");
while(file.available()){
Serial.write(file.read());
}
file.close();
}
void loop() {
}
После загрузки откройте Serial Monitor на скорости 115200 бод. Нажмите кнопку «ENABLE/RST» на ESP32. В Serial Monitor должно появиться содержимое вашего файла .txt.
Вы успешно загрузили файлы в файловую систему ESP32 с помощью плагина.
Заключение
Использование плагина загрузчика файловой системы — один из самых простых способов загрузки файлов в файловую систему ESP32. Ознакомьтесь со следующим проектом, чтобы узнать, как создать веб-сервер с использованием HTML и CSS файлов, хранящихся в файловой системе: ESP32 Web Server using SPIFFS (SPI Flash File System).
Другой способ постоянного сохранения данных — использование библиотеки ESP32 Preferences. Она особенно полезна для сохранения данных в формате ключ:значение во флеш-памяти. Ознакомьтесь со следующим руководством:
Дополнительные ресурсы по ESP32:
—
Источник: Random Nerd Tutorials — :doc:`Install ESP32 Filesystem Uploader in Arduino IDE <../install-esp32-filesystem-uploader-arduino-ide/index>`