Ciao a tutti,
ho fatto uno sketch per avere un log su NAS di un sensore DHT22 per temperatura ed umidità tramite un ESP32.
La stranezza sta nel fatto che la conversione con dtostrf, al momento di scrivere sul file di testo sul NAS, tira fuori caratteri strani (sempre gli stessi), oltre che ingarbugliare la prima stringa.
di seguito la funzione che converte e scrive sul NAS:
void printTempHum(float t, float h){
char te[4];
dtostrf(t,2,1,te);
Serial.println(te);
char hu[4];
dtostrf(h,2,1,hu);
Serial.println(hu);
ftp.Write(" ");
ftp.Write(te);
Serial.println(te);
ftp.Write(" ");
ftp.Write(hu);
Serial.println(hu);
}
Questo invece è quello che mi ritrovo sul serial monitor:
27.3
48.7
Write File
Write File
27.348.7,"�?,"�?�8�?XA�? ��p"�?
Write File
Write File
48.7,"�?,"�?�8�?XA�? ��p"�?
Come si vede, le variabili convertite, prima di essere scritte sul NAS, sono corrette, ma dopo la scrittura cambiano completamente.
Qui invece quello che viene scritto nel file di testo sul NAS:
27.348.7,"û?,"û?°8ü?XAü?á€p"û? 48.7,"û?,"û?°8ü?XAü?á€p"û?
Ovviamente sul NAS sono scritte coerentemente a quanto stampato sul serial monitor dopo la scrittura.
Qualche suggerimento?
Grazie anticipatamente a chi mi risponderà.