ESP8266 - Variable auf SD-Karte schreiben

Dieses Tutorial bietet eine umfassende Anleitung zum Schreiben verschiedener Arten von Variablen auf einer microSD-Karte mit dem ESP8266. Zu den behandelten Themen gehören:

Um Schlüssel-Wert-Paare von der Micro-SD-Karte zu extrahieren und sie in int, float oder String umzuwandeln, beachten Sie bitte das folgende Tutorial: ESP8266 - Read Config from SD Card.

ESP8266 NodeMCU Mikro-SD-Karte

Erforderliche Hardware

1×ESP8266 NodeMCU
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 ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

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

Wenn Sie mit dem Micro-SD-Kartenmodul, einschließlich seiner Pinbelegung, Funktionsweise und Programmierung, nicht vertraut sind, kann Ihnen das Tutorial ESP8266 - Micro-SD-Karte die notwendigen Informationen liefern.

Verdrahtungsdiagramm

ESP8266 NodeMCU Mikro-SD-Karten-Modul Verdrahtungsdiagramm

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

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

※ Notiz:

Wenn Sie ein Ethernet-Shield oder ein anderes Shield besitzen, das einen Micro-SD-Kartenhalter hat, benötigen Sie kein Micro-SD-Kartenmodul. Stecken Sie einfach die Micro-SD-Karte in den Micro-SD-Kartenhalter am Shield ein.

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

Der folgende Code:

  • Speichert einen Ganzzahlwert auf die Micro-SD-Karte
  • Speichert einen Fließkomma-Wert auf die Micro-SD-Karte
  • Speichert eine Zeichenfolge auf die Micro-SD-Karte
  • Speichert ein Zeichenarray auf die Micro-SD-Karte
  • Speichert ein Byte-Array auf die Micro-SD-Karte
/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-write-variable-to-sd-card */ #include <SD.h> #define PIN_SPI_CS D8 File myFile; int myInt = -52; float myFloat = -12.7; String myString = "HELLO"; char myCharArray[] = "newbiely.com"; byte myByteArray[] = {'1', '2', '3', '4', '5'}; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); while (1); // don't do anything more: } Serial.println(F("SD CARD INITIALIZED.")); Serial.println(F("--------------------")); SD.remove("esp8266.txt"); // delete the file if existed // create new file by opening file for writing myFile = SD.open("esp8266.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: error on opening file esp8266.txt")); } // open file for reading myFile = SD.open("esp8266.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: error on opening file esp8266.txt")); } } void loop() { }

Schnelle Schritte

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:

  • Schau dir das Tutorial zur Einrichtung der ESP8266-Umgebung in der Arduino-IDE an, falls dies dein erster Einsatz mit dem ESP8266 ist.
  • Verdrahte die Bauteile wie im Diagramm gezeigt.
  • Schließe das ESP8266-Board über ein USB-Kabel an deinen Computer an.
  • Öffne die Arduino-IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board, z. B. NodeMCU 1.0 (ESP-12E Modul), und seinen jeweiligen COM-Port.
  • Stelle sicher, dass die Micro-SD-Karte entweder FAT16 oder FAT32 formatiert ist (du kannst online nach Anleitungen suchen, wie man das macht).
  • Dann öffne den Code in der Arduino-IDE.
  • Sobald der Code geöffnet ist, drücke in der Arduino-IDE die Hochladen-Schaltfläche, um den Code zu kompilieren und auf den ESP8266 hochzuladen.
  • Schließlich sieh dir die Ergebnisse im Serial Monitor an.
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  
  • Entfernen 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 den PC an.
  • Öffnen Sie die esp8266.txt-Datei auf Ihrem Computer. Die Datei sieht wie folgt aus.
ESP8266 NodeMCU schreibt Variable auf die Micro-SD-Karte.

ESP8266 - Wie man ein Schlüssel-Wert-Paar in eine Datei auf einer microSD-Karte schreibt

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-write-variable-to-sd-card */ #include <SD.h> #define PIN_SPI_CS D8 File myFile; int myInt = -52; float myFloat = -12.7; String myString = "HELLO"; char myCharArray[] = "newbiely.com"; byte myByteArray[] = {'1', '2', '3', '4', '5'}; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); while (1); // don't do anything more: } Serial.println(F("SD CARD INITIALIZED.")); Serial.println(F("--------------------")); SD.remove("esp8266.txt"); // delete the file if existed // create new file by opening file for writing myFile = SD.open("esp8266.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: error on opening file esp8266.txt")); } // open file for reading myFile = SD.open("esp8266.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: error on opening file esp8266.txt")); } } void loop() { }

Schnelle Schritte

  • Schließen Sie die Komponenten wie im Diagramm gezeigt an.
  • Schließen Sie das ESP8266-Board mit einem USB-Kabel an Ihren Computer an.
  • Öffnen Sie die Arduino-IDE auf Ihrem Computer.
  • Wählen Sie das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E-Modul), und seinen entsprechenden COM-Port.
  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino-IDE.
  • Klicken Sie auf die Hochladen-Schaltfläche, um ihn an den ESP8266 zu senden.
  • Schauen Sie sich das Ergebnis im seriellen Monitor an.
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  
  • Entfernen 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 Computer an.
  • Öffnen Sie die esp8266.txt-Datei auf Ihrem PC; sie wird wie folgt angezeigt.
Der ESP8266 NodeMCU schreibt eine Variable auf eine 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!