Buonasera a tutti, è armai un mese che sto combattendo con Arduino Yun, non riesco a fare funzionare un bel nulla. Ieri ho provato a caricare l'esempio DATALOGGER, lo scketch viene caricato correttamente ma,del file che dovrebbe crearmi sulla SD non c'è traccia.
Non riesco a capire dove sbaglio. Ho acquistato la scheda con il libro di futura Elettronica "Alla scoperta di Arduino Yun", mi sono scritto tutto lo sckatch e la pagina html, ho seguito alla lettera le istruzioni, caricato lo scketch e la pagina web sulla SD ma niente nemmeno lui mi gira.
Qualcuno mi può aiutare
Grazie e buona serata
Anche io ho un problema ad implementare un datalogger con arduino YUN , ma il tuo problema l'ho superato.
il codice che ho usato è il seguente
File dataFile = FileSystem.open("/mnt/sd/arduino/www/vento.txt", FILE_APPEND);
// if the file is available, write to it:
if (dataFile)
{
dataFile.println(dataString);
dataFile.close();
}
Naturalmente devi includere:
#include <FileIO.h>
#include <Bridge.h>
e inizializzare
void setup() {
Bridge.begin();
FileSystem.begin();
...
}
Il mio problema invece è quello di creare dei file log per ciascun giorno, nominandoli tipo 07_07_2014.txt, oppure 07072014.txt
il codice funziona .. ma non troppo
char newfile[33];
path.toCharArray(newfile,33);
File dataFile = FileSystem.open(newfile, FILE_APPEND);
La variabile newfile è formata concatenando una prima parte della path con una stringa che contiene la data corrente e un'altra stringa che contiene il suffisso del file.
Il file viene creato correttamente e le rilevazioni (di un anemometro nel mio caso ) vengono salvate, ma dopo un tempo variabile lo sketch su blocca.
Sospetto che il problema possano essere le funzioni l'acquisizione della data e del timestamp. ogni registrazione contiene un timestamp, direzione del vento e velocità. Utilizzo il timestamp in modo da calcolare agevolmente la durata di ogni raffica di vento e fare delle statistiche, ma a quanto pare chiamare sucessivamente anche la funzione getGiorno () fà sballare i conti, tant'è che nel log le ultime registrazioni non hanno il timestamp!
Al momento ho tolto i riferimento alla funzione getGiorno il lo sketch funziona a meraviglia.
Vorrei capire però dove sbaglio e ogni aiuto è bene accetto !!
String getTimeStamp() {
String result;
Process data;
// date is a command line utility to get the date and the time
// in different formats depending on the additional parameter
data.begin("date");
data.addParameter("+%s"); // parameters: D for the complete date mm/dd/yy
// T for the time hh:mm:ss
data.run(); // run the command
// read the output of the command
while (data.available() > 0) {
char c = data.read();
if (c != '\n')
result += c;
}
return result;
}
String getGiorno() {
String result;
Process data;
// date is a command line utility to get the date and the time
// in different formats depending on the additional parameter
data.begin("date");
data.addParameter("+%d%m%y"); // parameters: D for the complete date mm/dd/yy
// T for the time hh:mm:ss
data.run(); // run the command
// read the output of the command
while (data.available() > 0) {
char c = data.read();
if (c != '\n')
result += c;
}
return result;
}