ESP32 (PlatformIO): LittleFS in Arduino initialisieren

English Deutsch

Um die LittleFS-Bibliothek, die mit Arduino auf dem ESP32 mitgeliefert wird, zu verwenden, nutze die folgende Funktion

init_filesystem.cpp
#include <LittleFS.h>

bool filesystemOK = false;

void InitFilesystem() {
  // LittleFS initialisieren
  if (!LittleFS.begin(false /* false: Nicht formatieren, wenn Mount fehlgeschlagen */)) {
    Serial.println("LittleFS konnte nicht gemountet werden");
    if (!LittleFS.begin(true /* true: formatieren */)) {
      Serial.println("LittleFS konnte nicht formatiert werden");
    } else {
      Serial.println("LittleFS erfolgreich formatiert");
      filesystemOK = true;
    }
  } else { // Initialer Mount erfolgreich
    filesystemOK = true;
  }
}

Zusätzlich musst du PlatformIO für die Verwendung von LittleFS konfigurieren:

platformio.ini
board_build.filesystem = littlefs

Rufe nun in setup() folgendes auf:

init_filesystem_call.cpp
InitFilesystem();

Wenn beim Einbinden von LittleFS.h Fehler auftreten, musst du möglicherweise explizit eine neuere arduino-esp32-Version in platformio.ini angeben:

platformio_platform_packages.ini
platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#2.0.5

Falls du zwingend eine ältere arduino-esp32-Version verwenden musst, die LittleFS nicht von Haus aus unterstützt, kannst du die lorol/LittleFS-Bibliothek verwenden, wie in unserem vorherigen Beitrag beschrieben: How to initialize LittleFS in PlatformIO on the ESP32 using the lorol/LittleFS library

Vollständiges platformio.ini-Beispiel:

platformio_example.ini
[env:esp32dev]
platform = espressif32
platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#2.0.5
board = esp32dev
framework = arduino
board_build.filesystem = littlefs
monitor_speed = 115200

Check out similar posts by category: Arduino, Embedded, ESP8266/ESP32, PlatformIO