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

ESP32 содержит флэш-файловую систему с последовательным периферийным интерфейсом (SPIFFS). SPIFFS - это легкая файловая система, созданная для микроконтроллеров с флеш-чипом, которые соединены шиной SPI, как флеш-память ESP32. В этой статье мы покажем, как легко загружать файлы в файловую систему ESP32 с помощью загрузчика для Arduino IDE.

Знакомство с SPIFFS

SPIFFS позволяет вам получить доступ к флэш-памяти, как если бы вы делали это в обычной файловой системе на вашем компьютере, но более проще и с ограничениями. Вы можете читать, писать, закрывать и удалять файлы. На момент написания этой статьи SPIFFS не поддерживает каталоги, поэтому все сохраняется в плоской структуре.

Использование SPIFFS с платой ESP32 особенно полезно для:

Создания конфигурационных файлов с настройками;
Постоянного хранения данных;
Хранения небольших объемов данных вместо использования карты microSD;
Хранения файлов HTML и CSS для создания веб-сервера ;
Хранения изображений, рисунков, иконок ;
И многого другого.
В большинстве проектов веб-серверов HTML-код пишется в виде кода непосредственно в скетче Arduino. С помощью SPIFFS вы можете записать HTML и CSS в отдельный файл и сохранить их в файловой системе ESP32. Отдельно будет статья, как создать веб-сервер с файлами, хранящимися в файловой системе ESP32.

Установка загрузчика файловой системы Arduino ESP32
Есть такой плагин для Arduino IDE, который позволяет загружать файлы прямо в файловую систему ESP32 из папки на вашем компьютере. Это позволяет легко и просто работать с файлами. Для начала установим его.

Во-первых, убедитесь, что у вас установлена ​​последняя версия Arduino IDE и в менеджере доступна плата ESP32. Если ее там нет, следуйте одному из следующих руководств, чтобы установить его:
Инструкции для Windows, Mac и Linux - Установка платы ESP32 в Arduino IDE

Выполните следующие шаги для установки загрузчика файловой системы:

1) Перейдите на страницу github и скачайте файл ESP32FS-1.0.zip

ВНИМАНИЕ!!! Для ESP8266 нужно скачать этот архив. Остальные действия по установке идентичны.

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

3) Разархивируйте содержимое папки .zip в папку Tools. У вас должна быть похожая структура папок:

<home_dir> / 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

A-Explorer под Windows

Что такое BRIDGE?

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

Оставлять комментарии могут только зарегистрированные пользователи. Указав email, ваше имя и комментарий вы пройдете простую регистрацию. На указанный вами email будет выслан пароль от аккаунта. Если у вас уже есть аккаунт
Нет комментариев. Но вы можете оставить его первым.