ESP32 SD datum als filename???

Software vragen voor ESP chip familie
Berichten: 78
Geregistreerd: 03 Okt 2014, 17:16

ESP32 SD datum als filename???

Berichtdoor ilioSS » 01 Apr 2020, 16:30

Hallo,

In mijn streven naar bme-280 loggen op een SD kaart strand ik op het aanmaken van een datafile met als naam de datum.
Dit werkte wel op mijn logger met behulp van een arduino mega.
Echter dit werkt niet op mijn ESP32 wroom-32.

Stukje scetch van de mega:
char filename[12];
sprintf(filename,"%02d-%02d-%02d.csv",yy,mm,dd);
delay(30);
dataFile=SD.open(filename,FILE_WRITE);
delay(30);
dataFile.println("Date,Time,Hum,TempH,Dauwp,Luchtdruk,TempL");
delay(40);
dataFile.close();
Serial.print("log in nieuwe file..");
EEPROM.write(addr, dd);
Serial.println(filename);

Stukje scetch van de ESP32
void writeFile(fs::FS &fs, const char * path, const char * message){
Serial.printf("Writing file: %s\n", path);

File file = fs.open(path, FILE_WRITE);
if(!file){
Serial.println("Failed to open file for writing");
return;
}
if(file.print(message)){
Serial.println("File written");
} else {
Serial.println("Write failed");
}
file.close();

Deze laatste script is de SD zoals me-no-dev. deze op de GITHUB
https://github.com/espressif/arduino-es ... braries/SD

Kan iemend mij een push in de goede richting geven om mijn file als datum te kunnen opslaan?

Zie uw aller steun tegemoed.
Met vriendelijke groet,
ilioSS

Advertisement

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: ESP32 SD datum als filename???

Berichtdoor shooter » 01 Apr 2020, 20:10

filename = 12 karakters prima, maar waar zet je de string van filename?
paul deelen
shooter@home.nl

Berichten: 78
Geregistreerd: 03 Okt 2014, 17:16

Re: ESP32 SD datum als filename???

Berichtdoor ilioSS » 04 Apr 2020, 15:31

Hallo,
Hartelijk dank Koepel voor je reactie.
Heb het uitgeprobeerd echter geen result.

Het geheel spitst zich toe op hetvolgende.

Logging temp. op de ESP8266 is geen probleem met de arduino ide. en de gangbare SD library.

Voor de ESP32 word deze listing door de debugger gehaald en geaccepteerd. Geen fout melding.
Uploaden en starten van het script geeft steeds rebooten van de processor. ( op het punt sprintf word bereikt)

Na elimineren blijft over dat de instructie sprintf de veroorzaker is.

alternatief is dat ik de SD lib. gebruik van ""me-no-dev"" maar daar heb ik het datum probleem.
( een uitgebreide functie omschrijving ontbreekt hier ook :?:
Dit lijkt echter een string char omzet nodig te hebben ook dit uitgeprobeerd zonder succes.

Code: Alles selecteren
 char filename[12];                                             // ESP8266
 sprintf(filename,"%02d-%02d-%02d.csv",yy,mm,dd);
         dataFile=SD.open(filename,FILE_WRITE);


Code: Alles selecteren
void writeFile(fs::FS &fs, const char * path, const char * message) {     // ESP32 const char * path,   hierin krijg ik geen datum die geaccepterd word :(
  Serial.printf("Writing file: %s\n", path);

  File file = fs.open(path, FILE_WRITE);
  if(!file) {



Is er een vergelijkbare instructie die de sprintf vervangt?

Uiteindelijk zou het fijn zijn om mijn logging programma zoals draait op de ESP8266 grotendeels gelijk te houden als op de ESP32.

Enig idee mbt dit probleem is gewenst en zal zeer gewaardeerd worden.

Met vriendelijke groet,
ilioSS

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: ESP32 SD datum als filename???

Berichtdoor nicoverduin » 05 Apr 2020, 09:04

13 bytes proppen in 12 posities gaat meestal fout. Maak die char array maar 13 bytes groot
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 78
Geregistreerd: 03 Okt 2014, 17:16

Re: ESP32 SD datum als filename???

Berichtdoor ilioSS » 05 Apr 2020, 10:28

Beste Nico,

Hartelijk dank voor je ""to the point"" reactie.
Met schaamrood op de kaken heb ik het aantal posities verhoogd naar 20.
Nu blijft het script lopen met de datum. Geweldig.

Nu verder met het script oppoetsen en goed documenteren.

Hartelijk dank nogmaals.

Met vriendelijke groet,
ilioSS


ps. Als shooter dit leest sorry voor de naamsverwisseling met koepel in het vorige bericht

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: ESP32 SD datum als filename???

Berichtdoor nicoverduin » 05 Apr 2020, 21:27

20 bytes is teveel en onnodig. Je hebt 12 bytes +1=13.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Terug naar ESP Software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 5 gasten