ESP32 S3 - Variable auf SD-Karte schreiben
Lernen Sie, wie Sie mit dem ESP32 S3 verschiedene Arten von Variablen direkt auf eine Micro-SD-Karte schreiben, um Sensorwerte, Konfigurationswerte und strukturierte Daten dauerhaft zu speichern. Dieses Tutorial behandelt das Schreiben von Ganzzahlen, Gleitkommazahlen, Strings, Zeichenarrays, Byte-Arrays und Schlüssel-Wert-Paaren in Dateien auf der SD-Karte.
Was Sie bauen werden:
- Eine Schaltung, die den ESP32 S3 über SPI mit einem Micro-SD-Kartenmodul verbindet
- Einen Sketch, der mehrere Variablentypen (int, float, String, Zeichenarray, Byte-Array) in eine Datei auf der SD-Karte schreibt
- Einen Sketch, der Variablen als Schlüssel-Wert-Paare speichert – für strukturierte, gut lesbare Konfigurationsdateien
- Eine Grundlage für Datenprotokollierung und Konfigurationsspeicherung auf dem ESP32 S3

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über Micro SD Card Module
Das Micro-SD-Kartenmodul ist eine Schnittstellenplatine, die Ihren ESP32 S3 über das SPI-Kommunikationsprotokoll mit einer Micro-SD-Karte verbindet. Es übernimmt Spannungsregelung und Signalumsetzung, sodass der ESP32 S3 Kartendaten zuverlässig mit 3,3-V-Logikpegeln lesen und schreiben kann. Damit ist es ein wichtiges Bauteil für jedes Projekt, das lokalen dauerhaften Speicher benötigt.
Wichtige Spezifikationen
Das Modul kommuniziert über SPI und unterstützt Micro-SD-Karten, die mit FAT16 oder FAT32 formatiert sind. Es akzeptiert eine Betriebsspannung zwischen 3,3 V und 5 V und ist daher mit einer Vielzahl von Mikrocontrollern kompatibel. Die sechspolige Schnittstelle stellt die Leitungen VCC, GND, MISO, MOSI, SCK und SS bereit. Das Modul eignet sich gut für Datenprotokollierung, Konfigurationsspeicherung und die Bereitstellung statischer Webinhalte auf eigenständigen IoT-Geräten.
Sie kennen das Micro-SD-Kartenmodul noch nicht, einschließlich Pinbelegung, Funktionsweise und Programmierung? Alles darüber erfahren Sie im Tutorial ESP32 S3 - Micro-SD-Karte.
Verdrahtungsdiagramm
Verbinden Sie das Micro-SD-Kartenmodul gemäß dem folgenden Diagramm mit dem ESP32 S3 und halten Sie alle Drähte kurz und ordentlich, um Störungen auf dem SPI-Bus zu reduzieren. Überprüfen Sie jede Verbindung, bevor Sie das Board mit Strom versorgen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
※ Notiz:
Wenn Sie ein Ethernet-Shield oder ein anderes Shield mit Micro-SD-Kartenhalter verwenden, benötigen Sie das Micro-SD-Kartenmodul nicht. Sie müssen die Micro-SD-Karte nur in den Micro-SD-Kartenhalter auf dem Shield einsetzen.
Sicherheitshinweise
Vergewissern Sie sich immer, dass die SD-Karte vollständig im Modul sitzt, bevor Sie Code ausführen, da eine lockere Karte zu Initialisierungsfehlern führt, die schwer zu diagnostizieren sein können. Verwenden Sie eine hochwertige Micro-SD-Karte eines Markenherstellers, um sporadische Lese-/Schreibfehler zu vermeiden, und entfernen Sie die Karte niemals, während der ESP32 S3 Daten schreibt, um eine Beschädigung des Dateisystems zu verhindern.
| Micro-SD-Modul-Pin | ESP32 S3 Pin |
|---|---|
| VCC | 5V |
| GND | GND |
| MISO | GPIO13 (MISO) |
| MOSI | GPIO11 (MOSI) |
| SCK | GPIO12 (SCK) |
| SS | GPIO10 (CS) |
ESP32 S3 - Wie man eine Variable in eine Datei auf der Micro-SD-Karte schreibt
Code-Überblick
Der folgende Code zeigt, wie Sie mit dem ESP32 S3 mehrere Variablentypen in eine einzige Datei auf der Micro-SD-Karte schreiben. Er schreibt eine Ganzzahl, eine Gleitkommazahl, einen String, ein Zeichenarray und ein Byte-Array – jeweils in eine eigene Zeile – und bietet Ihnen so eine praktische Vorlage, um unterschiedliche Datentypen in einer einzigen dauerhaften Datei zu speichern.
Der Sketch behandelt:
- Das Schreiben einer int-Variable auf die Micro-SD-Karte
- Das Schreiben einer float-Variable auf die Micro-SD-Karte
- Das Schreiben einer String-Variable auf die Micro-SD-Karte
- Das Schreiben eines Zeichenarrays auf die Micro-SD-Karte
- Das Schreiben eines Byte-Arrays auf die Micro-SD-Karte
ESP32 S3 Code
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- SD-Karte vorbereiten: Setzen Sie die formatierte Micro-SD-Karte in das SD-Kartenmodul ein. Stellen Sie sicher, dass sie mit FAT16 oder FAT32 formatiert ist (suchen Sie online nach einer Formatierungsanleitung für Ihr Betriebssystem).
- Schaltung verdrahten: Verbinden Sie das Micro-SD-Kartenmodul gemäß dem obigen Verdrahtungsplan mit dem ESP32 S3.
- ESP32 S3 anschließen: Verbinden Sie den ESP32 S3 über das USB-Typ-C-Kabel mit Ihrem PC.
- Arduino IDE öffnen: Starten Sie die Arduino IDE auf Ihrem Computer.
- Board auswählen: Wählen Sie ESP32 S3 im Board-Menü aus.
- Port auswählen: Wählen Sie den richtigen COM-Port für Ihren ESP32 S3 aus.
- Code kopieren: Kopieren Sie den oben bereitgestellten Code.
- Code einfügen: Fügen Sie ihn in einen neuen Arduino-IDE-Sketch ein.
- Hochladen: Klicken Sie auf die Schaltfläche Upload, um den Code auf Ihren ESP32 S3 zu übertragen.
- Ergebnisse ansehen: Öffnen Sie den seriellen Monitor, um die Ausgabe zu sehen.
- SD-Karte prüfen: Nehmen Sie die Micro-SD-Karte aus dem Modul, stecken Sie sie in den USB-SD-Kartenleser, schließen Sie diesen an Ihren PC an und öffnen Sie die Datei esp32.txt, um die geschriebenen Werte zu überprüfen.
- Profi-Tipp: Öffnen Sie den seriellen Monitor immer vor dem Hochladen, damit Sie jede Initialisierungsmeldung ab dem ersten Start erfassen.
Ausgabe im seriellen Monitor
Erwartete Ausgabe:
Am PC überprüfen:
- Nehmen Sie die Micro-SD-Karte aus dem Micro-SD-Kartenmodul
- Stecken Sie die Micro-SD-Karte in einen USB-SD-Kartenleser
- Schließen Sie den USB-SD-Kartenleser an den PC an
- Öffnen Sie die Datei esp32.txt auf Ihrem PC, um die geschriebenen Werte zu bestätigen

ESP32 S3 - Wie man ein Schlüssel-Wert-Paar in eine Datei auf der Micro-SD-Karte schreibt
Code-Überblick
Der folgende Code zeigt, wie Sie jede Variable als Schlüssel-Wert-Paar auf die Micro-SD-Karte schreiben. So entsteht eine strukturierte, gut lesbare Datei, die sich leicht wieder in Ihre Anwendung einlesen lässt. Dieses Format eignet sich besonders zum Speichern von Konfigurationseinstellungen, die der ESP32 S3 beim Start wieder einlesen kann – siehe das Tutorial ESP32 S3 - Konfiguration von SD-Karte lesen.
ESP32 S3 Code
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- SD-Karte vorbereiten: Setzen Sie die formatierte Micro-SD-Karte in das SD-Kartenmodul ein.
- Schaltung verdrahten: Verbinden Sie das Micro-SD-Kartenmodul gemäß dem obigen Verdrahtungsplan mit dem ESP32 S3.
- ESP32 S3 anschließen: Verbinden Sie den ESP32 S3 über das USB-Typ-C-Kabel mit Ihrem PC.
- Arduino IDE öffnen: Starten Sie die Arduino IDE auf Ihrem Computer.
- Board auswählen: Wählen Sie ESP32 S3 im Board-Menü aus.
- Port auswählen: Wählen Sie den richtigen COM-Port für Ihren ESP32 S3 aus.
- Code kopieren: Kopieren Sie den oben bereitgestellten Code.
- Code einfügen: Fügen Sie ihn in einen neuen Arduino-IDE-Sketch ein.
- Hochladen: Klicken Sie auf die Schaltfläche Upload, um den Code auf Ihren ESP32 S3 zu übertragen.
- Ergebnisse ansehen: Öffnen Sie den seriellen Monitor, um die Schlüssel-Wert-Ausgabe zu sehen.
- SD-Karte prüfen: Entfernen Sie die Karte und überprüfen Sie die Datei auf Ihrem PC.
- Profi-Tipp: Das Schlüssel-Wert-Format passt gut zum Tutorial zum Lesen der Konfiguration, sodass Sie Geräteeinstellungen über Neustarts hinweg speichern und wiederherstellen können, ohne neu zu flashen.
Ausgabe im seriellen Monitor
Erwartete Ausgabe:
Am PC überprüfen:
- Nehmen Sie die Micro-SD-Karte aus dem Micro-SD-Kartenmodul
- Stecken Sie die Micro-SD-Karte in einen USB-SD-Kartenleser
- Schließen Sie den USB-SD-Kartenleser an den PC an
- Öffnen Sie die Datei esp32.txt auf Ihrem PC, um die Schlüssel-Wert-Paare zu bestätigen

Anwendungsideen
Die Rechenleistung und die integrierte drahtlose Konnektivität des ESP32 S3 machen ihn zu einer hervorragenden Plattform für die Speicherung von Variablen auf SD-Karten im praktischen Einsatz.
- Sensordatenlogger: Regelmäßig Temperatur-, Luftfeuchtigkeits- oder Luftdruckwerte für langfristige Trendanalysen auf die SD-Karte schreiben.
- Konfigurationsspeicher: Benutzerdefinierte Einstellungen als Schlüssel-Wert-Paare speichern, damit das Gerät seinen Zustand nach einem Stromausfall wiederherstellt.
- Kalibrierungsdaten: Kalibrierungskoeffizienten für analoge Sensoren speichern, damit sie Firmware-Updates und Resets überstehen.
- Ereignisse mit Zeitstempel: Ereignisdaten (Türöffnungen, Tastendrücke, Bewegungsauslösungen) mit Zeitstempeln für Sicherheits- oder Prüfprotokolle schreiben.
- Logger für entfernte Standorte: Einen ESP32 S3 an einem Ort ohne Internetzugang einsetzen, Daten lokal sammeln und dann die SD-Karte für einen gesammelten Upload entnehmen.
- Multisensor-Sammler: Messwerte mehrerer Sensoren in einer strukturierten CSV-Datei auf der SD-Karte für die Auswertung in einer Tabellenkalkulation zusammenführen.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32-S3-Projekt an.
Fordern Sie sich heraus
Diese Übungen bauen schrittweise auf den obigen Beispielen auf, um Ihr Verständnis der Variablenspeicherung auf SD-Karten mit dem ESP32 S3 zu vertiefen.
- Anfänger: Den Sketch zum Schreiben von Variablen so ändern, dass er Ihre eigenen Variablennamen und Werte verwendet, und dann die Ausgabe auf der SD-Karte überprüfen.
- Anfänger: Der Datei einen Zeilenzähler hinzufügen, sodass jeder geschriebene Eintrag über mehrere Neustarts hinweg fortlaufend nummeriert wird.
- Fortgeschritten: Einen Sketch schreiben, der alle zehn Sekunden den aktuellen Wert von millis() zusammen mit einem simulierten Sensorwert protokolliert und jeden Eintrag an eine wachsende CSV-Datei anhängt.
- Fortgeschritten: Die Tutorials zum Schreiben von Variablen und zum Lesen der Konfiguration kombinieren, um einen Rundlauftest zu bauen: Einstellungen auf die SD-Karte schreiben, neu starten, wieder einlesen und eine Bestätigung im seriellen Monitor ausgeben.
- Experte: Ein rollierendes Protokoll implementieren, das die Datei auf 500 Zeilen begrenzt, indem der vorhandene Inhalt gelesen, die ältesten Einträge verworfen und die Datei bei jedem neuen Variablensatz neu geschrieben wird.
- Experte: Einen Logger für mehrere Variablen erstellen, der Messwerte von drei verschiedenen Sensoren in separaten Schlüssel-Wert-Dateien speichert und jede Datei täglich mithilfe eines zeitstempelbasierten Dateinamensschemas rotiert.