Savoir quand le GPS à un fix

Salut,

Je suis en train de faire un GPS datalogger. Le but est de géotagger des photos.
Pour économiser le courant de la batterie, j’envisage de n’interroger le GPS que toutes les 5 à 30 s (c’est suffisant, je ne marche pas vite), et d’éteindre l’arduino le reste du temps . Seulement à l’allumage, il peut se passer un certain tempstm avant que le GPS ne fasse un fix. Je n’ai pas envie de l’interroger en permanence jusqu’à ce qu’il y parvienne.

L’idée est donc :

  • allumage
  • demander au gps si fix OK
  • si c’est bon, on lis les données et on sauve sur SD
  • dodo pendant 10s et bis repetita

La question est : comment savoir si le GPS est OK ?

churchill

churchill:
Salut,

Je suis en train de faire un GPS datalogger. Le but est de géotagger des photos.
Pour économiser le courant de la batterie, j’envisage de n’interroger le GPS que toutes les 5 à 30 s (c’est suffisant, je ne marche pas vite), et d’éteindre l’arduino le reste du temps . Seulement à l’allumage, il peut se passer un certain tempstm avant que le GPS ne fasse un fix. Je n’ai pas envie de l’interroger en permanence jusqu’à ce qu’il y parvienne.

L’idée est donc :

  • allumage
  • demander au gps si fix OK
  • si c’est bon, on lis les données et on sauve sur SD
  • dodo pendant 10s et bis repetita

La question est : comment savoir si le GPS est OK ?

churchill

pas besoin de demander, il suffit d’écouter :grin:
les sentences NMEA ou les derivées “proprietaires” informent au moins une fois par seconde,si il y a fix ou pas et aussi de la “qualité” du fix.
quel gps ?

Artouste:

churchill: demander au gps si fix OK

pas besoin de demander, il suffit d’écouter :grin: les sentences NMEA ou les derivées "proprietaires" informent au moins une fois par seconde,si il y a fix ou pas et aussi de la "qualité" du fix. quel gps ?

Un EM-411 de chez DX.

churchill:

Artouste:

churchill: demander au gps si fix OK

pas besoin de demander, il suffit d’écouter :grin: les sentences NMEA ou les derivées "proprietaires" informent au moins une fois par seconde,si il y a fix ou pas et aussi de la "qualité" du fix. quel gps ?

Un EM-411 de chez DX.

c'est du NMEA 1Hz (standard) pour ne pas "réinventer la poudre" voir http://arduiniana.org/libraries/tinygps/

Artouste: c'est du NMEA 1Hz (standard) pour ne pas "réinventer la poudre" voir http://arduiniana.org/libraries/tinygps/

Oui j'ai bien vu la librairie, mais en fait je ne souhaite(rais) pas faire de traitement du signal GPS, juste sauver les trames brutes, le traitement se fera par (linux) gpsbabel et le géo-marquage par gpscorrelate. Je n'ai pas vu la possibilité de récupérer ces trames brutes par la librairie tinyGPS.

churchill:

Artouste: c'est du NMEA 1Hz (standard) pour ne pas "réinventer la poudre" voir http://arduiniana.org/libraries/tinygps/

Oui j'ai bien vu la librairie, mais en fait je ne souhaite(rais) pas faire de traitement du signal GPS, juste sauver les trames brutes, le traitement se fera par (linux) gpsbabel et le géo-marquage par gpscorrelate. Je n'ai pas vu la possibilité de récupérer ces trames brutes par la librairie tinyGPS.

ok alors tu récupère simplement la sentence $GPRMC (c'est du texte) et tu verifie juste avec un petit parse (juste apres la 2eme virgule) si le statut est A(ctif) ou V(oid) si A tu enregistre la trame, Si V pas d'enregistrement

$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A

Artouste: alors tu récupère simplement la sentence $GPRMC (c'est du texte) et tu verifie juste avec un petit parse (juste apres la 2eme virgule) si le statut est A(ctif) ou V(oid) si A tu enregistre la trame, Si V pas d'enregistrement

$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A

OK merci, ça m'avait échappé...