Установка загрузчика файловой системы SPIFF для ESP32 в Arduino IDE

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 для обеспечения эффективного выполнения операций.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии