Установка загрузчика файловой системы ESP8266 в Arduino IDE
ESP8266 содержит файловую систему Serial Peripheral Interface Flash File System (SPIFFS). SPIFFS – это легковесная файловая система, созданная для микроконтроллеров с флеш-чипом. В этой статье показано, как легко загружать файлы в файловую систему ESP8266 с помощью плагина для Arduino IDE.
SPIFFS в настоящее время устарел и может быть удален в будущих выпусках ядра ESP8266. Рекомендуется использовать LittleFS вместо него. LittleFS находится в активной разработке, поддерживает каталоги и работает быстрее для большинства операций. Следуйте этому руководству вместо данного: :doc:`Установка загрузчика файловой системы ESP8266 NodeMCU LittleFS в Arduino IDE </esp32/rnt/install-esp8266-nodemcu-littlefs-arduino/index>`.
Примечание: если у вас плата ESP32, прочитайте Установка загрузчика файловой системы ESP32 в Arduino IDE.
Введение в SPIFFS
SPIFFS позволяет получить доступ к памяти флеш-чипа так же, как вы бы это делали в обычной файловой системе на вашем компьютере, но проще и с большими ограничениями. Вы можете читать, записывать, закрывать и удалять файлы. SPIFFS не поддерживает каталоги, поэтому всё сохраняется в плоской структуре.
Использование SPIFFS с платой ESP8266 особенно полезно для:
Создания файлов конфигурации с настройками;
Постоянного сохранения данных;
Создания файлов для хранения небольших объемов данных вместо использования microSD-карты;
Сохранения HTML- и CSS-файлов для создания веб-сервера;
И многого другого.
В большинстве наших проектов веб-серверов мы записывали HTML-код для веб-сервера как строку (String) непосредственно в скетче Arduino. С SPIFFS вы можете записать HTML и CSS в отдельные файлы и сохранить их в файловой системе ESP8266.
Установка загрузчика файловой системы Arduino ESP8266
Вы можете создавать, сохранять и записывать файлы в файловую систему ESP8266, написав код самостоятельно в Arduino IDE. Это не очень удобно, потому что вам придется вводить содержимое файлов в скетче Arduino.
К счастью, существует плагин для Arduino IDE, который позволяет загружать файлы непосредственно в файловую систему ESP8266 из папки на вашем компьютере. Это делает работу с файлами действительно простой и удобной. Давайте его установим.
Сначала убедитесь, что у вас установлена последняя версия Arduino IDE, и что у вас есть дополнение ESP8266 для Arduino IDE. Если нет, следуйте следующему руководству для установки дополнения:
:doc:`Инструкции для Windows, Mac и Linux </esp32/rnt/how-to-install-esp8266-board-arduino-ide/index>` – Установка платы ESP8266 в Arduino IDE
Следуйте следующим шагам для установки загрузчика файловой системы:
1) Перейдите на страницу релизов и нажмите на файл ESP8266FS-X.zip для загрузки.
2) Перейдите в директорию Arduino IDE и откройте папку Tools.
3) Распакуйте загруженный файл .zip в папку Tools. У вас должна получиться похожая структура папок:
<home_dir>/Arduino-<version>/tools/ESP8266FS/tool/esp8266fs.jar
4) Наконец, перезапустите вашу Arduino IDE.
Чтобы проверить, успешно ли установлен плагин, откройте Arduino IDE и выберите вашу плату ESP8266. В меню Tools проверьте, что у вас есть опция «ESP8266 Sketch Data Upload».
Загрузка файлов с помощью загрузчика файловой системы
Чтобы загрузить файлы в файловую систему ESP8266, следуйте следующим инструкциям.
1) Создайте скетч Arduino и сохраните его. Для демонстрации вы можете сохранить пустой скетч.
2) Затем откройте папку скетча. Вы можете перейти в Sketch > Show Sketch Folder. Должна открыться папка, в которой сохранен ваш скетч.
3) Внутри этой папки создайте новую папку с именем *data*.
4) Внутри папки *data* – это место, куда вы должны поместить файлы, которые хотите сохранить в файловой системе ESP8266. В качестве примера создайте файл .txt с каким-нибудь текстом под названием test_example.
5) В Arduino IDE, в меню Tools, выберите желаемый размер SPIFFS (это будет зависеть от размера ваших файлов)
6) Затем, чтобы загрузить файлы, в Arduino IDE вам нужно просто перейти в Tools > ESP8266 Sketch Data Upload.
Вы должны получить похожее сообщение в окне отладки. Файлы были успешно загружены в файловую систему ESP8266.
Тестирование загрузчика
Теперь давайте просто проверим, действительно ли файл был сохранен в файловой системе ESP8266. Просто загрузите следующий код на вашу плату ESP8266.
/*********
Rui Santos
Complete project details at https://RandomNerdTutorials.com
*********/
#include "FS.h"
void setup() {
Serial.begin(115200);
if(!SPIFFS.begin()){
Serial.println("An Error has occurred while mounting SPIFFS");
return;
}
File file = SPIFFS.open("/test_example.txt", "r");
if(!file){
Serial.println("Failed to open file for reading");
return;
}
Serial.println();
Serial.println("File Content:");
while(file.available()){
Serial.write(file.read());
}
file.close();
}
void loop() {
}
После загрузки откройте Монитор последовательного порта на скорости 115200 бод. Нажмите кнопку «RST» на ESP8266. Содержимое вашего файла .txt должно отобразиться в Мониторе последовательного порта.
Вы успешно загрузили файлы в файловую систему ESP8266 с помощью плагина.
Заключение
Использование плагина загрузчика файловой системы – это один из самых простых способов загрузки файлов в файловую систему ESP8266. Вы можете сохранять HTML- и CSS-файлы для создания веб-сервера, изображения или маленькие иконки, файлы конфигурации и т.д.
У нас есть пример проекта, в котором мы создаем веб-сервер с использованием HTML- и CSS-файлов, сохраненных в файловой системе. Пример предназначен для ESP32, но он должен быть совместим с ESP8266 с небольшими изменениями в коде.
Если вам нравится ESP8266, вам могут понравиться следующие ресурсы:
`Домашняя автоматизация с использованием ESP8266 <https://randomnerdtutorials.com/home-automation-using-esp8266/>`_