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

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

Содержание

  1. Введение в SPIFFS

  2. Установка загрузчика файловой системы Arduino ESP32

  3. Инструкции для Windows

  4. Инструкции для MacOS X

  5. Загрузка файлов с использованием загрузчика файловой системы

  6. Тестирование загрузчика

Введение в SPIFFS

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

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

  • Создания конфигурационных файлов с настройками;

  • Постоянного хранения данных;

  • Создания файлов для сохранения небольших объемов данных вместо использования карты microSD;

  • Сохранения файлов HTML и CSS для создания веб-сервера;

  • Сохранения изображений, фигур и иконок;

  • И многое другое.

С помощью SPIFFS вы можете записывать HTML и CSS в отдельные файлы и сохранять их в файловой системе ESP32. Ознакомьтесь с этим руководством, чтобы узнать, как создать веб-сервер с файлами, хранящимися в файловой системе ESP32: [Веб-сервер ESP32 с использованием SPIFFS (SPI Flash File System)](ссылка на ресурс).

Установка загрузчика файловой системы 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.

Открытие Serial Monitor
  1. Найдите местоположение вашей Sketchbook. В Arduino IDE перейдите в Файл> Настройки проверьте местоположение вашей Sketchbook. В моем случае это путь: C:UserssarinDocumentsArduino.

Открытие Serial Monitor
  1. Перейдите в папку папки скетча и создайте папку tools.

Открытие Serial Monitor

Если вы не можете найти папку в этом месте, попробуйте проверить по следующему пути: C:Program Files (x86)Arduino.

Таким образом, вы укажете возможное альтернативное местоположение папки скетча для пользователей, которые не смогли найти ее в стандартном месте.

  1. Разархивируйте скачанную папку .zip. Откройте её и скопируйте папку ESP32FS в папку tools, которую вы создали на предыдущем шаге. У вас должна быть похожая структура папок:

<Расположение папки скетча>/tools/ESP32FS/tool/esp32fs.jar
Открытие Serial Monitor
  1. Наконец, перезапустите Arduino IDE.

Чтобы проверить, была ли плагин успешно установлен, откройте Arduino IDE. Выберите вашу плату ESP32, перейдите в Tools и убедитесь, что у вас есть опция «ESP32 Sketch Data Upload».

Открытие Serial Monitor

Инструкции для macOS

Следуйте следующим инструкциям, если вы используете MacOS X.

  1. Перейдите на страницу выпусков и скачайте файл ESP32FS-1.0.zip.

Открытие Serial Monitor
  1. Разархивируйте файлы.

  2. Создайте папку под названием tools в /Documents/Arduino/.

  3. Скопируйте распакованную папку ESP32FS в директорию tools. У вас должна быть похожая структура папок:

~Documents/Arduino/tools/ESP32FS/tool/esp32fs.jar
Открытие Serial Monitor
  1. Наконец, перезапустите вашу Arduino IDE.

Чтобы проверить, была ли плагин успешно установлен, откройте Arduino IDE. Выберите вашу плату ESP32, перейдите в Tools и убедитесь, что у вас есть опция «ESP32 Sketch Data Upload».

Открытие Serial Monitor

Загрузка файлов с использованием загрузчика файловой системы

Чтобы загрузить файлы в файловую систему ESP32, следуйте следующим инструкциям.

  1. Создайте скетч Arduino и сохраните его. Для демонстрации вы можете сохранить пустой скетч.

  2. Затем откройте папку скетча. Перейдите в Скетч> Показать папку скетча. Откроется папка, где сохранен ваш скетч.

Открытие Serial Monitor
  1. Внутри этой папки создайте новую папку под названием data.

Открытие Serial Monitor
  1. Внутри папки data должны быть файлы, которые вы хотите сохранить в файловой системе ESP32. В качестве примера создайте файл test_example.txt с текстом под названием test_example.txt.

Открытие Serial Monitor
  1. Затем, чтобы загрузить файлы, в Arduino IDE просто перейдите в Tools > ESP32 Sketch Data Upload.

Открытие Serial Monitor

Загрузчик перезапишет всё, что уже было сохранено в файловой системе.

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

Открытие Serial Monitor

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

Открытие Serial Monitor

Тестирование загрузчика

Теперь давайте проверим, действительно ли файл был сохранен в файловой системе ESP32. Просто загрузите следующий код на вашу плату ESP32.

#include <SPIFFS.h>

void setup() {
  Serial.begin(115200);

  if(!SPIFFS.begin(true)){
    Serial.println("Произошла ошибка при монтировании SPIFFS");
    return;
  }

  File file = SPIFFS.open("/test_example.txt");
  if(!file){
    Serial.println("Не удалось открыть файл для чтения");
    return;
  }

  Serial.println("Содержимое файла:");
  while(file.available()){
    Serial.write(file.read());
  }
  file.close();
}

void loop() {
}

После загрузки откройте Серийный монитор на скорости 115200. Нажмите кнопку «ENABLE/RST» на плате ESP32. Он должен вывести содержимое вашего файла .txt в Серийный монитор.

Открытие Serial Monitor

Вы успешно загрузили файлы в файловую систему ESP32 с помощью плагина.

Заключение

Использование плагина загрузчика файловой системы — один из самых простых способов загрузки файлов в файловую систему ESP32. Ознакомьтесь с этим проектом, чтобы узнать, как создать веб-сервер с использованием файлов HTML и CSS, хранящихся в файловой системе: [Веб-сервер ESP32 с использованием SPIFFS (SPI Flash File System)].