danke Moppi,
es geht weiter...
ich hab mir von AZ-delivery (die deutschen erklärungen tun richtig gut) zwei sketches angepasst:
das schreiben der geänderten slider-variablem (und nur einmal schreiben)
und das zeilenweise auslesen (weiss noch nicht wie ich eine bestimmte zeile ausleseCode:#include <SPI.h> #include <FS.h> // Nutze die SPIFFS library int FileSize; String sliderValue_power = "200"; String sliderValue_power_alt; File myfile; // erstelle eine SPIFFS Handling Variable void setup() { Serial.begin(115200); SPI.begin(); bool Result = InitalizeFileSystem(); if (!(SPIFFS.exists ("/power_config.csv") )) //Prüfe ob Datei power_config.csv schon exisiert. { myfile = SPIFFS.open("/power_config.csv", "w"); //Öffne die Datei power_config.csv im Root Verzeichnis zum schreiben (w – write) if (!myfile) { Serial.println("Fehler beim schreiben der Datei"); } Result = myfile.println("sliderValue_power"); Result = myfile.println(sliderValue_power); myfile.close(); } else { SPIFFS.remove("/power_config.csv"); //Lösche Datei Serial.println("Datei power_config.csv war schon vorhanden, sie wurde gelöscht."); } } void loop() { myfile = SPIFFS.open("/power_config.csv", "r"); //Öffne die Datei usage_log.csv im Root Verzeichnis zum lesen (r - read) while (myfile.position() < myfile.size()) // lese Dateiinhalt Zeile für Zeile bis um Ende der Datei { String content = myfile.readStringUntil('\n'); Serial.println(content); } FileSize = myfile.size(); myfile.close(); Serial.print("Dateigroesse in Bytes:"); // gebe die aktuelle Dateigröße in Bytes aus Serial.println(FileSize); // gebe die aktuelle Dateigröße in Bytes aus delay (5000); yield(); // interne ESP8266 Funktionen aufrufen if (sliderValue_power != sliderValue_power_alt) //die config_power soll nur einmal bei sich änderndem "sliderValue_power" geändert werden { myfile = SPIFFS.open("/power_config.csv", "a"); // Öffne Datei um Daten anzuhängen ! (a - append) myfile.println("sliderValue_power"); myfile.println(sliderValue_power); myfile.close(); sliderValue_power_alt = sliderValue_power; } })
Code:#include "FS.h" // Hier binden wir die benötigte Bibliothek ein void readLines(File f) { String data; unsigned int zeilenZaehler = 0; Serial.println("Inhalt der geöffneten Datei:"); while (f.available()) { data = f.readStringUntil('\n'); // lesen bis Zeilenumbruch... Serial.print("Zeile "); Serial.print(zeilenZaehler); Serial.print(": "); Serial.println(data); // ... und wieder ausgegeben zeilenZaehler++; } } void setup() { Serial.begin(115200); SPIFFS.begin(); // Filesystem mounten File f = SPIFFS.open( "/power_config.csv", "r"); // Datei zum Lesen öffnen if (!f) { Serial.println("file open failed!"); } else { readLines(f); // Funktion fuer das Zeilenweise Auslesen f.close(); // Datei schliessen } SPIFFS.end(); // Filesystem unmounten } void loop() { }






Zitieren


Lesezeichen