ESP32 оснащён флэш-файловой системой, использующей последовательный периферийный интерфейс (SPIFFS). Эта лёгкая файловая система разработана для микроконтроллеров с флеш-чипами, подключёнными через шину SPI, например, флеш-память самого ESP32. В данной статье мы продемонстрируем, как просто загружать файлы в файловую систему ESP32 с помощью загрузчика для Arduino IDE.
Знакомство с SPIFFS
SPIFFS предоставляет доступ к флэш-памяти, аналогично тому, как это делается в традиционных файловых системах, однако с некоторыми упрощениями и ограничениями. Вы можете читать, записывать, закрывать и удалять файлы. На момент написания данной статьи SPIFFS не поддерживает директории, поэтому данные хранятся в плоской структуре.
Вот классические сценарии применения:
Создание конфигурационных файлов с настройками;
Постоянное хранение данных;
Сохранение небольших объемов данных вместо использования карты microSD;
Хранение файлов HTML и CSS для веб-сервера;
Сохранение изображений, рисунков, иконок;
И многое другое.
В большинстве веб-серверных проектов HTML-код включается прямо в Arduino-скетч. Используя SPIFFS, вы можете сохранить HTML и CSS в отдельных файлах в файловой системе ESP32. В отдельной статье я расскажу, как создать веб-сервер с файлами, хранящимися в файловой системе ESP32.
Установка плагина для загрузки файлов на ESP32
Имеется плагин для Arduino IDE, который позволяет вам загружать файлы напрямую в файловую систему ESP32 с вашего ПК, что значительно упрощает работу с файлами. Приступим к его установке.
Во-первых, убедитесь, что на вашем компьютере установлена последняя версия Arduino IDE (UPD Актуально только для версий менее 2.0) и что плата ESP32 доступна в менеджере плат. Если её там нет, следуйте одному из приведённых ниже руководств для установки:
Выполните следующие шаги для установки загрузчика файловой системы:
1) Перейдите на страницу github и скачайте файл ESP32FS-1.0.zip
ВНИМАНИЕ!!! Для ESP8266 нужно скачать этот архив. Остальные действия по установке идентичны.

2) Перейдите в каталог Arduino IDE и откройте папку Инструменты.

3) Разархивируйте содержимое папки .zip в папку Tools. У вас должна быть похожая структура папок:
ПапкаПользователя/Arduino-ХХХ/tools/ESP32FS/tool/esp32fs.jar

4) И перезапустите Arduino IDE.
Чтобы убедиться, что Uploader установлен, откройте Arduino IDE. Выберите свою плату ESP32, перейдите в раздел “Инструменты” и проверьте наличие опции “ESP32 Sketch Data Upload“.

Загрузка файлов с помощью загрузчика
Для загрузки файлов в файловую систему ESP32 выполните следующие инструкции.
1) Создайте скетч Arduino и сохраните его. В демонстрационных целях вы можете сохранить пустой файл.
2) Затем откройте папку со скетчами. Вы можете перейти к Sketch > Show Sketch Folder. Папка, в которой сохранен ваш эскиз, должна открыться.

3) Внутри этой папки создайте новую папку с именем data.

4) Внутри папки с данными вы должны поместить файлы, которые хотите сохранить в файловую систему ESP32. В качестве примера создайте файл .txt с текстом с именем test_example.

5) Затем, чтобы загрузить файлы, в Arduino IDE вам просто нужно перейти в Инструменты > ESP32 Sketch Data Upload.

Примечание: на некоторых платах разработки ESP32 вам нужно держать нажатой кнопку BOOT во время загрузки файлов. Когда вы видите сообщение «Соединение …… .____ ……», вам нужно нажать кнопку BOOT на ESP32.

Когда вы увидите сообщение SPIFFS Image Uploaded, файлы были успешно загружены в файловую систему ESP32.

Проверка залитых фалов
Теперь давайте просто проверим, действительно ли файл был сохранен в файловой системе ESP32. Просто загрузите следующий код на свою плату ESP32.
#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() {
}После загрузки откройте монитор порта и установите скорость 115200 бод. Нажмите кнопку ENABLE на ESP32. Он должен напечатать содержимое вашего файла .txt на Serial Monitor.
Все. Вы успешно загрузили файлы в файловую систему ESP32 с помощью загрузчика файлов.
Таким образом, использование загрузчика в файловую систему – один из самых простых способов загрузки файлов в ESP32.
Просмотр и редактирования файлов в SPIFFS
Если вы хотите взаимодействовать с файлами и получать информацию о доступном пространстве, скачайте скетч BRIDGE и прошейте им ваше устройство.
Также рекомендуем скачать и скомпилировать кроссплатформенный файловый менеджер A-Explorer.

Что такое BRIDGE?
BRIDGE – это не просто скетч, а ключевая функция, взаимодействующая с файловой системой SPIFFS, где A-Explorer выступает в роли графической оболочки. A-Explorer отправляет команды, а данная функция обрабатывает их непосредственно на устройстве, используя библиотеки FS и SPIFFS для обеспечения эффективного выполнения операций.

Добавить комментарий