Trasferimento dati con GSM e SD

Salve a tutti,

da un pò di tempo sto lavorando ad un progetto dove avrei intenzione di mandare dei dati, che acquisisco e registro su una SD (file in .txt), in un server ogni tot minuti.
Il mio problema è la selezione dei dati da inviare al server; mi spiego meglio.

Con la GSM vorrei selezionare i dati registrati nel file .txt (acquisisco dati al secondo) negli ultimi 5 minuti, per esempio, e mandarli nel server in modo da "alleggerire" la mole di dati che ogni tot minuti la GSM deve inviare al server stesso.

Come posso fare questa operazione secondo voi?
Sono giorni che cerco su internet ma ho trovato poco e nulla...

Sto utilizzando un Arduino Mega 2560, Arduino Wireless SD Shield e la GSM Arduino Shield 2.

Qualcuno mi aiuti gentilmente :smiley:

Gentilmente, metti qualche info in più, e posta magari il codice

Allego lo sketch con un file .txt poichè supera la lunghezza di 9000 caratteri.

Come riportato nello sketch, io acquisisco una stringa di dati al secondo che vengono salvati nel myfile_{data corrente}.txt con la data del giorno corrente nella scheda SD.
Ciò che vorrei io è inviare tramite ftp ogni 5 minuti il myfile_{data corrente}.txt che va gradualmente sovrascrivendosi nel server fino al giorno successivo dove verrà inserito un nuovo file rinominato con la data del giorno corrente.

Quindi per riepilogare se potete aiutarmi mi servirebbe sapere:

  • Come inserire la data corrente nel myfile
  • Come invio ogni 5 minuti al server il myfile_{data corrente}

sketch.txt.txt (8.29 KB)

Qualcuno ha un'idea o un suggerimento su come posso risolvere questo problema?

Mah ...
... strada breve, aggiungendo un RTC così hai sempre data/ora aggiornate
... strada lunga, effettuando con periodicità (es. ogni ora) una richiesta ad un server NTP e recuperare i dati da aggiornare poi con il clock di sistema fino alla prossima interrogazione.

Guglielmo

Avevo pensato all'utilizzo di un rtc in effetti ma non ce l'ho a disposizione.
Per data e ora attualmente utilizzo il gps ma solo per vederlo all'interno dei dati salvati.

Ps. Ho un DS1207 che potrei usare come clock ma ho visto successivamente che non è compatibile con l'Arduino Mega 2560 e quindi cercavo un'alternativa per arginare questo problema.

Se hai il GPS, effettui una lettura prima di aprire il file e recuperi la data/ora ... puoi anche farlo, come ti avevo detto per il NTP, a cadenze regolari e, tra una lettura e la successiva, sfruttare il clock di sistema per mantenere aggiornata data/ora.

Guglielmo

Grazie mille per il consiglio, provo subito a vedere se ci riesco e vi aggiorno su questo post! :slight_smile:

Se può servirti, una volta recuperata data/ora dal GPS, per tenerla aggiornata, portesti usare la libreria swRTC di leo72, QUI la prima versione con la descrizione e QUI l'ultimo aggiornamento.

Guglielmo

Sto leggendo i link che hai postato, potrebbe risultare ottimo ai fini del mio lavoro... Grazie mille di nuovo!

Ciao a tutti, ho ripreso in mano il mio progetto dopo alcuni mesi e mi sono ritrovato davanti ad un problema che da giorni non riesco a risolvere: il trasferimento dati da arduino ad un sito in sftp.

Cercando sia sul forum che su altri siti, ho notato che ci sono solamente esempi di trasferimento dati in ftp mentre con l'sftp non ho trovato nulla che mi possa essere d'aiuto. Sto provando anche con i comandi AT suggeriti dal manuale della Quectel M10 ma sono sempre riferiti all'ftp.

Qualcuno è in grado di darmi un suggerimento?

Ps. per il clock della precedente discussione ho risolto con l'utilizzo di un DS3231 (rivolto a chi ha avuto problemi simili al mio)