Установка загрузчика файловой системы LittleFS для ESP8266 NodeMCU в Arduino IDE
В этом руководстве вы узнаете, как установить плагин загрузки файловой системы ESP8266 LittleFS в вашу Arduino IDE для загрузки файлов в файловую систему ESP8266 NodeMCU.
Если вы хотите использовать LittleFS для ESP8266 с VS Code + PlatformIO, следуйте следующему руководству:
Вы используете Arduino IDE 2? Следуйте этому руководству: Arduino IDE 2: установка загрузчика LittleFS для ESP8266 NodeMCU (загрузка файлов в файловую систему).
Знакомство с LittleFS
LittleFS – это легковесная файловая система, созданная для микроконтроллеров, которая позволяет получать доступ к flash-памяти так же, как вы бы работали с обычной файловой системой на вашем компьютере, но она проще и более ограничена. Вы можете читать, записывать, закрывать и удалять файлы. Использование LittleFS на платах ESP8266 особенно полезно для:
Создания файлов конфигурации с настройками;
Постоянного сохранения данных;
Создания файлов для хранения небольших объемов данных вместо использования карты microSD;
Сохранения HTML, CSS и JavaScript файлов для создания веб-сервера;
И многое другое.
Установка плагина загрузки файловой системы LittleFS
Вы можете создавать, сохранять и записывать файлы в файловую систему ESP8266, написав код самостоятельно в Arduino IDE. Это не очень удобно, потому что вам пришлось бы вводить содержимое файлов прямо в скетче Arduino.
К счастью, существует плагин для Arduino IDE, который позволяет загружать файлы непосредственно в файловую систему ESP8266 LittleFS из папки на вашем компьютере. Это делает работу с файлами простой и удобной.
SPIFFS в настоящее время устарела и может быть удалена в будущих версиях ядра ESP8266. Рекомендуется использовать LittleFS вместо нее. LittleFS находится в активной разработке, поддерживает каталоги и работает быстрее для большинства операций. Методы, используемые для SPIFFS, совместимы с LittleFS, поэтому мы можем просто использовать выражение LittleFS вместо SPIFFS в нашем коде.
Инструкции для Windows
Следуйте следующим шагам, чтобы установить загрузчик файловой системы, если вы используете Windows:
1) Перейдите на страницу релизов и нажмите на файл ESP8266LittleFS-X.zip, чтобы скачать его.
2) Найдите расположение вашего Sketchbook. В Arduino IDE перейдите в File > Preferences и проверьте расположение Sketchbook. В моем случае путь следующий: C:\Users\sarin\Documents\Arduino.
3) Перейдите в расположение Sketchbook и создайте папку tools.
4) Распакуйте скачанный файл .zip. Откройте его и скопируйте папку *ESP8266LittleFS* в папку tools, которую вы создали на предыдущем шаге. У вас должна получиться похожая структура папок:
<Sketchbook-location>/tools/ESP8266FS/tool/esp8266fs.jar
5) Наконец, перезапустите Arduino IDE.
Чтобы проверить, что плагин успешно установлен, откройте Arduino IDE и выберите вашу плату ESP8266. В меню *Tools* проверьте, что у вас есть пункт «ESP8266 LittleFS Data Upload».
Инструкции для Mac OS X
Следуйте следующим шагам, чтобы установить загрузчик файловой системы, если вы используете Mac OS X:
1) Перейдите на страницу релизов и нажмите на файл ESP8266LittleFS-X.zip, чтобы скачать его.
2) Распакуйте файлы.
3) Создайте папку tools в /Documents/Arduino/.
4) Скопируйте распакованную папку *ESP8266LittleFS* в каталог tools. У вас должна получиться похожая структура папок.
~Documents/Arduino/tools/ESP8266FS/tool/esp8266fs.jar
5) Наконец, перезапустите Arduino IDE.
Чтобы проверить, что плагин успешно установлен, откройте Arduino IDE. Выберите вашу плату ESP32, перейдите в Tools и проверьте, что у вас есть пункт «ESP8266 LittleFS Data Upload».
Загрузка файлов в ESP8266 с помощью загрузчика файловой системы
Чтобы загрузить файлы в файловую систему ESP8266, следуйте приведенным ниже инструкциям.
1) Создайте скетч Arduino и сохраните его. В демонстрационных целях вы можете сохранить пустой скетч.
2) Затем откройте папку скетча. Вы можете перейти в Sketch > Show Sketch Folder. Должна открыться папка, в которой сохранен ваш скетч.
3) Внутри этой папки создайте новую папку с названием *data*.
4) Внутри папки *data* нужно разместить файлы, которые вы хотите сохранить в файловой системе ESP8266. В качестве примера создайте файл .txt с каким-либо текстом и назовите его test_example.
5) В Arduino IDE, в меню Tools, выберите нужный размер flash-памяти (это будет зависеть от размера ваших файлов).
6) Затем, чтобы загрузить файлы в Arduino IDE, вам нужно перейти в Tools > ESP8266 LittleFS Data Upload.
Важно: убедитесь, что Serial Monitor закрыт. В противном случае загрузка завершится ошибкой.
Через несколько секунд вы должны увидеть сообщение «LittleFS Image Uploaded». Файлы были успешно загружены в файловую систему ESP8266.
Тестирование загрузчика ESP8266 LittleFS
Теперь давайте проверим, был ли файл сохранен в файловой системе ESP8266. Загрузите следующий код на вашу плату ESP8266.
#include "LittleFS.h"
void setup() {
Serial.begin(115200);
if(!LittleFS.begin()){
Serial.println("An Error has occurred while mounting LittleFS");
return;
}
File file = LittleFS.open("/test_example.txt", "r");
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() {
}
После загрузки откройте Serial Monitor на скорости 115200 бод. Нажмите кнопку «RST» на плате ESP8266. В Serial Monitor должно отобразиться содержимое вашего файла .txt.
Вы успешно загрузили файлы в файловую систему ESP8266 с помощью плагина.
Заключение
Использование плагина загрузки файловой системы – один из самых простых способов загрузки файлов в файловую систему ESP8266. В этом руководстве мы показали вам, как загрузить файл .txt, но вы можете загружать файлы других форматов, например HTML, CSS и JavaScript файлы для создания веб-сервера, изображения или небольшие иконки, файлы конфигурации и т.д.
У нас есть пример проекта, в котором мы создаем веб-сервер с использованием HTML и CSS файлов, сохраненных в файловой системе (просто замените SPIFFS на LittleFS).
Если вы хотите узнать больше о ESP8266, ознакомьтесь с нашими ресурсами:
Спасибо за чтение.