ESP32 - Variable auf SD-Karte schreiben

In diesem Tutorial werden wir den Prozess des Schreibens verschiedener Variablentypen auf eine Micro-SD-Karte mit dem ESP32 untersuchen. Konkret decken wir die folgenden Themen ab:

Dieses Tutorial bietet eine umfassende Anleitung zum Speichern verschiedener Variablenarten auf einer Micro-SD-Karte, die eine vielseitige Speicherung und den Abruf von Daten ermöglicht. Um zu lernen, wie man Schlüssel-Wert-Paare von der Micro-SD-Karte ausliest und sie in Ganzzahlen-, Fließkomma- und Zeichenkettenformate konvertiert, verweisen Sie auf das Tutorial zu ESP32 - Konfiguration von der SD-Karte auslesen.

ESP32 Mikro-SD-Karte

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Micro-SD-Karte
1×Micro-SD-Karten-Modul
1×Verbindungskabel
1×(Optional) MicroSD-zu-SD-Speicherkarten-Adapter
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über das Micro-SD-Kartenmodul

Sie sind mit dem Micro-SD-Kartenmodul nicht vertraut, einschließlich Pinbelegungen, Funktionalität und Programmierung? Lernen Sie im ESP32 - Micro SD Card Tutorial mehr darüber.

Verdrahtungsdiagramm

ESP32 Mikro-SD-Kartenmodul Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

※ Notiz:

Wenn Sie ein Ethernet-Shield oder ein Shield verwenden, das einen Micro-SD-Kartenhalter besitzt, benötigen Sie kein Micro-SD-Kartenmodul. Sie müssen lediglich die Micro-SD-Karte in den Micro-SD-Kartenhalter auf dem Shield einsetzen.

ESP32 - Wie man eine Variable in eine Datei auf einer Micro-SD-Karte schreibt

Der untenstehende Code führt Folgendes aus:

  • Schreibe eine Ganzzahl-Variable auf die microSD-Karte
  • Schreibe eine Gleitkomma-Variable auf die microSD-Karte
  • Schreibe eine String-Variable auf die microSD-Karte
  • Schreibe ein Char-Array auf die microSD-Karte
  • Schreibe ein Byte-Array auf die microSD-Karte
/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32/esp32-write-variable-to-sd-card */ #include <SD.h> #define PIN_SPI_CS 5 // The ESP32 pin GPIO5 File myFile; int myInt = -52; float myFloat = -12.7; String myString = "HELLO"; char myCharArray[] = "esp32io.com"; byte myByteArray[] = {'1', '2', '3', '4', '5'}; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { while (1) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); delay(1000); } } Serial.println(F("SD CARD INITIALIZED.")); Serial.println(F("--------------------")); SD.remove("/esp32.txt"); // delete the file if existed // create new file by opening file for writing myFile = SD.open("/esp32.txt", FILE_WRITE); if (myFile) { myFile.println(myInt); // write int variable to SD card in line myFile.println(myFloat); // write float variable to SD card in line myFile.println(myString); // write String variable to SD card in line myFile.println(myCharArray); // write char array to SD card in line myFile.write(myByteArray, 5); myFile.write("\n"); // new line for (int i = 0; i < 5; i++) { myFile.write(myByteArray[i]); // new line if (i < 4) myFile.write(","); // comma } myFile.write("\n"); // new line myFile.close(); } else { Serial.print(F("SD Card: Issue encountered while attempting to open the file esp32.txt")); } // open file for reading myFile = SD.open("/esp32.txt", FILE_READ); if (myFile) { while (myFile.available()) { char ch = myFile.read(); // read characters one by one from Micro SD Card Serial.print(ch); // print the character to Serial Monitor } myFile.close(); } else { Serial.print(F("SD Card: Issue encountered while attempting to open the file esp32.txt")); } } void loop() { }

Schnelle Schritte

  • Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie sich wie man die Umgebung für ESP32 in der Arduino-IDE einrichtet an.
  • Verkabeln Sie es gemäß dem obigen Bild.
  • Schließen Sie das ESP32-Board über ein Micro-USB-Kabel an Ihren PC an.
  • Öffnen Sie die Arduino-IDE auf Ihrem PC.
  • Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
  • Stellen Sie sicher, dass die Micro-SD-Karte im FAT16- oder FAT32-Format formatiert ist (dazu googeln).
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino-IDE.
  • Klicken Sie auf die Schaltfläche Upload in der Arduino-IDE, um den Code auf den ESP32 hochzuladen.
  • Sehen Sie das Ergebnis im Serial Monitor.
COM6
Send
SD CARD INITIALIZED. -------------------- -52 -12.70 HELLO newbiely.com 12345 1,2,3,4,5
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Trennen Sie die Micro-SD-Karte vom Micro-SD-Kartenmodul
  • Stecken Sie die Micro-SD-Karte in einen USB-SD-Kartenleser
  • Schließen Sie den USB-SD-Kartenleser an Ihren PC an
  • Öffnen Sie die esp32.txt-Datei auf Ihrem PC; sie sieht wie folgt aus
ESP32 schreibt eine Variable auf die microSD-Karte.

ESP32 - Wie man einen Schlüssel-Wert in eine Datei auf einer Micro-SD-Karte schreibt

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32/esp32-write-variable-to-sd-card */ #include <SD.h> #define PIN_SPI_CS 5 // The ESP32 pin GPIO5 File myFile; int myInt = -52; float myFloat = -12.7; String myString = "HELLO"; char myCharArray[] = "esp32io.com"; byte myByteArray[] = {'1', '2', '3', '4', '5'}; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { while (1) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); delay(1000); } } Serial.println(F("SD CARD INITIALIZED.")); Serial.println(F("--------------------")); SD.remove("/esp32.txt"); // delete the file if existed // create new file by opening file for writing myFile = SD.open("/esp32.txt", FILE_WRITE); if (myFile) { myFile.print("myInt="); // write key to SD card myFile.println(myInt); // write int variable to SD card in line myFile.print("myFloat="); // write key to SD card myFile.println(myFloat); // write float variable to SD card in line myFile.print("myString="); // write key to SD card myFile.println(myString); // write String variable to SD card in line myFile.print("myCharArray="); // write key to SD card myFile.println(myCharArray); // write char array to SD card in line myFile.print("myByteArray="); // write key to SD card myFile.write(myByteArray, 5); myFile.write("\n"); // new line myFile.print("myByteArray2="); // write key to SD card for (int i = 0; i < 5; i++) { myFile.write(myByteArray[i]); // new line if (i < 4) myFile.write(","); // comma } myFile.write("\n"); // new line myFile.close(); } else { Serial.print(F("SD Card: Issue encountered while attempting to open the file esp32.txt")); } // open file for reading myFile = SD.open("/esp32.txt", FILE_READ); if (myFile) { while (myFile.available()) { char ch = myFile.read(); // read characters one by one from Micro SD Card Serial.print(ch); // print the character to Serial Monitor } myFile.close(); } else { Serial.print(F("SD Card: Issue encountered while attempting to open the file esp32.txt")); } } void loop() { }

Schnelle Schritte

  • Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie sich Wie man die ESP32-Umgebung in der Arduino IDE einrichtet an.
  • Schließen Sie die Verdrahtung wie im obigen Bild an.
  • Schließen Sie das ESP32-Board über ein Micro-USB-Kabel an Ihren PC an.
  • Öffnen Sie die Arduino IDE auf Ihrem PC.
  • Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf den ESP32 hochzuladen.
  • Sehen Sie das Ergebnis im Serial Monitor.
COM6
Send
SD CARD INITIALIZED. -------------------- myInt=-52 myFloat=-12.70 myString=HELLO myCharArray=newbiely.com myByteArray=12345 myByteArray2=1,2,3,4,5
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Trenne die Micro-SD-Karte vom Micro-SD-Kartenmodul
  • Stecke die Micro-SD-Karte in einen USB-SD-Kartenleser
  • Schließe den USB-SD-Kartenleser an den PC an
  • Öffne die esp32.txt-Datei auf deinem PC; sie sieht unten so aus
ESP32 schreibt eine Variable auf die Micro-SD-Karte.

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.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!