SD-Karte mit dem ESP32 benutzen
Damit die Daten des Open Weather Egg (OWE) auch auf einer SD-Karte geschrieben werden können, folgt hier ein kleines Beispiel.
Bei dem im Projekt zum Einsatz kommenden Wemos LOLIN Lite Board benutzt der SPI- Bus teilweise die gleichen Pins wie der I2C Bus. Aus diesem Grund wird in dem Beispiel nur eine CSV-Datei erzeugt und wieder ausgegeben. Ein Beispiel mit I2C Sensoren folgt …
Da die hinterlegten SPI- Default Werte wunderbar funktionieren, erfolgt das initialisieren „SD.begin()“ ohne extra Angabe eines Ports.
/* owe sd-karte lesen und schreiben 10.2022 pinbelegung für wemos lolin 32 lite sclk 18 miso 19 mosi 23 cs 5 */ #include <SPI.h> //einbinden SPI Bibliothek #include <SD.h> //einbinden SD-Karten Bibliothek File csv_datei; //objkt csv_datei erzeugen void setup() { Serial.begin(115200); //serielle Schnittstelle erzeugen while (!Serial) { ; //auf die serielle schnittstelle warten } if (!SD.begin()) { Serial.println("keine sd karte gefunden"); while (1); } Serial.println("sd karte ok"); csv_datei = SD.open("/towilab.csv", FILE_WRITE); //datei oeffnen mit schreibberechtigung if (csv_datei) { //ist die datei offen Serial.println("schreibe: wert,1"); csv_datei.println("wert,1"); //inhalt in die datei schreiben komma getrennt csv wert,1 csv_datei.close(); //datei schließen Serial.println("schgreiben erledigt"); } else { Serial.println("konnte die datei nicht finden"); } csv_datei = SD.open("/towilab.csv"); if (csv_datei) { //ist die datei offen Serial.println("inhalt der datei:"); while (csv_datei.available()) { //datei auslesen bis sie alle ist Serial.write(csv_datei.read()); } csv_datei.close(); } else { Serial.println("konnte die datei nicht finden"); } } void loop() { }