ESP8266 - Écrire une variable sur la carte SD

Ce tutoriel fournit des directives complètes sur l'écriture de différents types de variables sur une carte Micro SD en utilisant ESP8266. Les sujets abordés incluent :

Pour extraire les paires clé-valeur de la carte Micro SD et les convertir en int, float ou string, veuillez consulter le tutoriel suivant : ESP8266 - Lire la configuration depuis la carte SD.

Carte Micro SD ESP8266 NodeMCU

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×Micro SD Card
1×Micro SD Card Module
1×Jumper Wires
1×USB 3.0 SD Card Reader
1×(Optional) 5V Power Adapter for ESP8266
1×(Optional) ESP8266 Screw Terminal Adapter

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du module de carte Micro SD

Si vous ne connaissez pas le module de carte Micro SD, y compris son brochage, son fonctionnement et comment le programmer, le tutoriel ESP8266 - Carte Micro SD peut vous fournir les informations nécessaires.

Diagramme de câblage

Schéma de câblage du module de carte SD ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

※ NOTE THAT:

Si vous disposez d'un shield Ethernet ou de tout autre shield équipé d'un porte-carte Micro SD, vous n'avez pas besoin d'utiliser le module de carte Micro SD. Insérez simplement la carte Micro SD dans le porte-carte Micro SD du shield.

ESP8266 - Comment écrire une variable dans un fichier sur une carte Micro SD

Le code suivant :

  • Stocke une valeur entière sur la carte Micro SD
  • Stocke une valeur à virgule flottante sur la carte Micro SD
  • Stocke une chaîne sur la carte Micro SD
  • Stocke un tableau de caractères sur la carte Micro SD
  • Stocke un tableau d'octets sur la carte Micro SD
/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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() { }

Étapes rapides

Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez un ESP8266.
  • Connectez les composants comme indiqué sur le schéma.
  • Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Assurez-vous que la carte Micro SD est formatée en FAT16 ou FAT32 (vous pouvez chercher des instructions sur comment faire cela en ligne).
  • Ensuite, ouvrez le code dans l'Arduino IDE.
  • Une fois le code ouvert, appuyez sur le bouton Upload dans l'Arduino IDE pour compiler et téléverser le code vers l'ESP8266.
  • Enfin, visualisez les résultats dans le moniteur série.
COM6
Send
SD CARD INITIALIZED. -------------------- -52 -12.70 HELLO newbiely.fr 12345 1,2,3,4,5
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Retirez la carte Micro SD du module de carte Micro SD.
  • Insérez la carte Micro SD dans un lecteur de carte SD USB.
  • Connectez le lecteur de carte SD USB au PC.
  • Ouvrez le fichier esp8266.txt sur votre ordinateur, il apparaît comme suit.
ESP8266 NodeMCU écrit une variable sur la carte Micro SD

ESP8266 - Comment écrire une paire clé-valeur dans un fichier sur une carte Micro SD

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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() { }

Étapes rapides

  • Câblez les composants comme indiqué dans le schéma.
  • Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
  • Ouvrez l'IDE Arduino sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, telle que (par exemple, NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Copiez le code et ouvrez-le dans l'IDE Arduino.
  • Cliquez sur le bouton Upload pour l'envoyer à l'ESP8266.
  • Visualisez le résultat sur le moniteur série.
COM6
Send
SD CARD INITIALIZED. -------------------- myInt=-52 myFloat=-12.70 myString=HELLO myCharArray=newbiely.fr myByteArray=12345 myByteArray2=1,2,3,4,5
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Retirez la carte Micro SD du module de carte Micro SD.
  • Insérez la carte Micro SD dans un lecteur de carte SD USB.
  • Connectez le lecteur de carte SD USB à l'ordinateur.
  • Ouvrez le fichier esp8266.txt sur votre PC ; il apparaîtra comme suit.
ESP8266 NodeMCU écrit une variable sur une carte Micro SD

Vidéo

Références de fonction

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!