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