adafruit ultimate gps logger - problemi con data di scritture file

ciao!
ho la shield gps della adafruit, con sd card.
funziona perfettamente, ovvero leggo correttamente le stringhe e ci ricavo quello che mi serve, però i files che vengono scritti sulla sd, se vado a vedere le proprietà, risultano tutti creati il 01/01/2000.
la batteria tampone della shield è installata.
c’è modo di settare l’ora esatta, in modo da poter ad es ordinare i files per data?
grazie!

La libreria che usi prevede di creare file con data?

Ciao Uwe

allora, spiego meglio cosa devo fare: sostanzialmente un data logger con la posizione gps ed alcuni sensori.
attualmente il programmino aspetta che il gps vada in fix e appena riceve il segnale, preleva data e ora dalla stringa GPRMC e le usa per creare il nome del file su cui andranno scritti i dati.
però vorrei farlo funzionare anche al chiuso, quindi in assenza del gps. ho predisposto a tal fine un deviatore, per scegliere se usare il gps o meno.
se uso il gps, si crea il nome del file prendendolo appunto dalla stringa, ma se non lo uso, non so come definire un nome del file univoco, perchè la shield non mantiene la data come dovrebbe (se ho capito bene il modulo RTC integrato dovrebbe prendere l’ora la prima volta che aggancia i satelliti, poi la dovrebbe mantenere, con la batteria tampone, installata).
per risponderti, non uso nesuna libreria per il gps, leggo semplicemente la stringa GPRMC e la scompongo.

grazie,
ciao!

Un link a questa shield GPS ? Così vediamo le caratteristiche ...

Guglielmo

hai ragione, scusa!

ecco il link!

Hai provato a leggere la data/ora da $GPZDA (Date & Time) ? Perché quella dovrebbe restituirti la data e l'ora memorizzate nel GPS ... sempre che restituisca quella stringa ... ::slight_smile:

Guglielmo

Edit: mmm ... non mi pare che il GPS montato su quella scheda dia quelle info ...
... prova a vedere cosa ti restituisce nella $GPGGA

guglielmo, non mi sono spiegato bene.
a me serve la data e l'ora, quando il GPS NON FUNZIONA, ovvero quando lo uso in interni.
se lo uso all'aperto, leggo senza problemi la data e l'ora dalla stringa GPRMC.
invece a me serve un metodo per creare dei files sequenziali/univoci (senza rischio di sovrascrittura) sulla SD, quando il GPS è spento.

Per quello dovrai aggiungere un modulo RTC (Real-Time Clock) con la sua batteria tampone, altrimenti come credi sia possibile mantenere l’ora?

Potresti anche usare un simulatore di GPS quando non vuoi usare quello vero, tipo: GitHub - jimthree/HABsim: A hardware GPS Simulator for HAB using Arduino with an optional LCD shield.

arduale:
guglielmo, non mi sono spiegato bene.

Ti sei spiegato benissimo e ribadisco la risposta ...

... contrariamente a quanto suppone SukkoPera :grin: , quel modulo GPS, se tenuto alimentato con la batteria di backup di cui è fornito, una volta riuscito ad acquisire dai satelliti data/ora, la mantiene al suo interno e continua a tenerla aggiornata sino a quando la batteria lo alimenta.

Guarda nel datasheet, a pagina 13, la descrizione del pin 4 (VBACKUP) e, per lo stesso pin, il dettaglio a pag. 14 :wink:

C'è da vedere se la da nella "sentenza" $GPRMC o la da nella $GPGGA ... se non la da, e si resetta al valore dei "accensione" ... c'è qualche cosa che non va con la batteria ... ::slight_smile:

Guglielmo

Ah certo, QUEL modulo GPS ha un RTC integrato! Ma se lo stacca fisicamente da Arduino difficile che riesca a recuperare l'ora :).

SukkoPera:
Ah certo, QUEL modulo GPS ha un RTC integrato! Ma se lo stacca fisicamente da Arduino difficile che riesca a recuperare l'ora :).

Lo stacca da Arduino ? ? ? :o :o :o ...
... spero bene di NO :smiley: :smiley: :smiley: ... deve continuare a leggere dal GPS anche quando è all'interno ed il modulo, grazie al suo RTC, gli passa l'ora esatta (... purché l'abbia acquisita almeno una volta) :slight_smile:

Guglielmo

non lo stacco fisicamente!
solo che potrebbe succedere che il mio dispositivo si troverà al coperto, quindi niente satelliti, ma di fatto l'HW rimane inalterato!

E allora, come dice gpb, il modulo ha un RTC integrato che dovrebbe mantenere sempre l'ora. Forse però devi dire alla libreria che crea i file di leggere l'ora dall'RTC prima di farlo, quindi servirebbe avere lo sketch preciso che usi.

SukkoPera:
Forse però devi dire alla libreria che crea i file di leggere l'ora dall'RTC prima di farlo, quindi servirebbe avere lo sketch preciso che usi.

E' chiaramente detto nel datasheet nelle FAQ su Adafruit, che l'RTC è interno e NON è direttamente accessibile ...
... continuo a ripetere che DEVE continuare a leggere i dati normali del GPS ... al coperto troverà che il FIX non è attivo (... ne 2D ne 3D), ma data/ora "dovrebbero" (... se la batteria è carica e ben connessa) essere aggiornate.

Guglielmo

Ah bene, dovrebbe essere tutto chiaro a questo punto!

sto facendo delle prove, vi faccio sapere!
grazie!