Comment puis-je debugger mon code GPS

Hello,

Les satellites bougent la réception n'est pas toujours de même qualité

Ok, mais bon, ca fait depuis 8h30 qu'il tourne et il ne m'a afficher une position. La led verte n'a pas clignoté une seul fois, ezt dans mon terminal que je ne fois que des chiffres

36
44
36
71
80
46
36
71
80
50
36
71
80
50
36
71
80
52
51
36
44
36
71
80
44
36
71
80
48
36
71
80
44
36
71
80
80
44
65
48

J'ai ca comme GPS
GNSS Receiver - EM-506N5 - GPS-19629 - SparkFun Electronics?
SparkFun GPS Logger Shield - GPS-13750 - SparkFun Electronics.

pierrot10:
Es-ce que mon module gps DOIT BOUGER pour afficher une position?

Non, il marche aussi en fixe.
Il a besoin d'un déplacement uniquement pour calculer une vitesse ou une orientation estimée du Nord à partir de 2 positions successives.

Peut tu afficher le nombre de satellites vus par le GPS ?

et dans mon terminal que je ne fois que des chiffres

Des chiffres c'est aussi des codes ASCII. C'est pas si incohérent que ça

36 $
44 ,
36 $
71 G
80 P
46 .
36 $
71 G
80 P
50 2
36 $
71 G
80 P
50 2
36 $
71 G
80 P
52 4
51 3
36 $
44 ,
36 $
71 G
80 P
44 ,
36 $
71 G
80 P
48 0
36 $
71 G
80 P
44 ,
36 $
71 G
80 P
80 P

bonjour
4800 est le standard de sortie NMEA et il semble bien que ce soit le cas $GP indique le debut d'une sentence NMEA.
pour debugger
fais un simple programme qui ecoute en softserial le GPS en 4800 et qui en cas de reception reemet le caractere reçu vers le serial hard en 115200.
faire ensuite une copie du log serial pour regarder l'aspect des sentences reçues.

ou plus simple si tu a un adaptateur UART TTL-USB --->port com

Je ne connais pas trop la forme des trame NMEA mais je note que les messages ne semblent pas réguliers comme si de temps en temps des caractères étaient perdus.

Pour le test, le plus simple étant toujours le mieux la connexion directe du GPS au PC en passant par un câble FTDI (ou équivalent) me semble le plus fiable.

fdufnews:
Je ne connais pas trop la forme des trame NMEA mais je note que les messages ne semblent pas réguliers comme si de temps en temps des caractères étaient perdus.

Pour le test, le plus simple étant toujours le mieux la connexion directe du GPS au PC en passant par un câble FTDI (ou équivalent) me semble le plus fiable.

bonjour fdufnews
c'est ce que j'ai vu, mais peut etre que le parser "bouffe" la suite , la detection $GP etant peut etre un simple preambule ?
le mieux est bien sur de connecter directement la sortie NMEA TLL au PC par le biais d'un adaptateur type FTDI

He rentre et je vois vous réponse. C'est vraiment un super forum. Merci.

Peut tu afficher le nombre de satellites vus par le GPS ?

Je ne sais pas comment on fait, mais je vais chercher et apporter la réponse. Il me semble avoir vu ca a quelque part.

@Artouste,
j'ai mis ce code. Je ne sais pas si je répond bien a ta proposition:

 if(cell.available() >0)
  {
    incoming_char=cell.read();    //Get the character from the cellular serial port.
    Serial.print(incoming_char);  //Print the incoming character to the terminal.
  }
  //If a character is coming from the terminal to the Arduino...
  if(Serial.available() >0)
  {
    incoming_char=Serial.read();  //Get the character coming from the terminal
    cell.print(incoming_char);    //Send the character to the cellular module.
  }

et j'ai ca en retour, une erreur. Je précise, j'ai du mettre mon switch en UART, si non il n y a rien. Et c'est vrai que j'aurais voulu travailler en DLINE. Mais voici le retour de ma console

R??ª*'$S¡!¡¥¨©QHQT©§©: 60

+CM ERRO: 60

+CM ERRO: 60

+CM ERRO:0C¦¨
E:
ER
ER
MO
I
¦¨
:
RTjUTJJéJJ?SPHhTª
R??ª*'$¦!¡!¡¥¨©QH©©OR: 60

+ME EROR: 6

+ME EROR:
ªL¨Q
E
:
ER
MO6
MªL¨©

  • O?¨©
    =ªCR
  • *SQ
  • O4IéSQ
    +R4MR
    MOHRZjUTJJéJJ?S¨HhiªR??ª
    '$S¡!¡¥¨©QHQT©§©: 60
    +R?0CR6
    E
    ER
    =ªLSQ0
    E*¦¨©
    +j
    +CME ERROR: 60

+CME ERROR: 60

+CME ERROR: 60

+CME ERROR: 60

+CME ERROR: 60

+CME ERROR: 60

+CME ERROR: 60

+CME ERROR: 60

+M ERR 6

+CEERO:60

CM ROR 0

+M ERR 0

+MEERR:6

CEERO:60

J'ai pas encore regarder, ce que l'error 60. mais je le fais de ce pas.

le mieux est bien sur de connecter directement la sortie NMEA TLL au PC par le biais d'un adaptateur type FTDI

Ouf, mais je n'ai pas tout ca. je peux regarder pour en acheter un

Pour avoir le nombre de satellite, j'ai regardé la librairire tinyGPS et j'ai trouvé ceci:

gps.satellites();
J'ai donc ensuite fait dans la boucle loup()

  Serial.print("Nombre de Satellites : ");
  Serial.println(satellite);

à un Serial.begin(115200), j'ai ca:

Nombre de Satellites : ÿ

et j'ai un peu comme l'impression que mon programme frez.

J'ai donc essaye Serial.begin(9600); et la j'ai

char satellite = gps.satellites();
  Serial.print("Nombre de Satellites : ");
  Serial.println(satellite);

me retourne la meme chose

int satellite = gps.satellites();
  Serial.print("Nombre de Satellites : ");
  Serial.println(satellite);

me retourne:

Nombre de Satellites : 255

Ce qui me parrait juste énorme

pierrot10:
me retourne:

Nombre de Satellites : 255

Ce qui me parrait juste énorme

Oui c'est trop, il n'y a que 24 satellites pour le GPS planétaire, mais d'un endroit donné on n'en voit que quelques uns à la fois (typiquement 4 à 8). Ca sent le fil d'antenne cassé ce type de panne intermittente.

testes avec ce code et donne le résultat après

Ok, je te remercie. J'essayerai ce soir, car j'ai pas pris les modules. Mais j'ai craqué, j'ai commandé un nouveau module qui comprend le GPS/GSM/SD (all in one) qui fonctionne avec Aduirno. Ca m'a couté un peu de sous, mais bon, c'est avec le erévérence que j'y arriverai :slight_smile:
Merci

Salut infobarque.

Ben la nouvel librarie SoftwareSerial a une nouvelle fonction satellites() qui les comptes. Bon vu qu'elle me retourne 255.......

J'ai essayé mais SoftwareSerial ne connais pas la fonction satsinview() donc je n'arrive pas a compiler.

J'avais aussi chercher la librairie NewSoftSerial() mais j'ai eu du mal a la trouvé et vu que SoftwareSerial la remplace, je n'ai pas été plus loin.

Ai-je tord?

pierrot10:
Salut infobarque.

Ben la nouvel librarie SoftwareSerial a une nouvelle fonction satellites() qui les comptes. Bon vu qu'elle me retourne 255.......

J'ai essayé mais SoftwareSerial ne connais pas la fonction satsinview() donc je n'arrive pas a compiler.

J'avais aussi chercher la librairie NewSoftSerial() mais j'ai eu du mal a la trouvé et vu que SoftwareSerial la remplace, je n'ai pas été plus loin.

Ai-je tord?

bonsoir
8)

la "nouvelle" ou l'ancienne librarie newsoftserial ne concerne pas du tout le gestion des infos GPS :grin:

je crois que tu melange un peu pas mal de choses entre tes modules GPS/GPRS et qui parle à qui 8)

Heu oui pardon, la j'était tout faux.... :sleeping:

Ignoré mon précédent message.....

En fait le message que j'avais

countSatellite:23: error: 'class TinyGPS' has no member named 'satsinview'

Rien a voir!!!!
Sorry

http://arduino.cc/forum/index.php/topic,37465.0.html

Bonjour,

J'aimerais relancé ce post.
J'ai toujours un problème de fou que je n'arrive pas comprendre. Ca va peut etre vous parraitre fou, mais mon GPS capte des positions généralement apèrs 20h-20h30 (heure suisse).

Aujourd'hui je pouvais avoir des positions jusqu'à 22h, après plus rien. Un autre soir c'était depuis env. 20h30 jusqu' a 0h00.

Je l'ai aussi essayé dans le train (3h de voyage) et par le beau temps. Il n'affiche aucune position, sauf.... entre 20h et 23h00.

Es-ce qu'il y a une raison à ca????

Voici le GPS que j'utilise
GNSS Receiver - EM-506N5 - GPS-19629 - SparkFun Electronics?

Ca me parrait vraiment fou, car il doit pouvoir attrapé des satelittes toutes la jounrée. Il a 20 chanals.

Une idée?

pierrot10:
Bonjour,

J'aimerais relancé ce post.
J'ai toujours un problème de fou que je n'arrive pas comprendre. Ca va peut etre vous parraitre fou, mais mon GPS capte des positions généralement apèrs 20h-20h30 (heure suisse).

Aujourd'hui je pouvais avoir des positions jusqu'à 22h, après plus rien. Un autre soir c'était depuis env. 20h30 jusqu' a 0h00.

Je l'ai aussi essayé dans le train (3h de voyage) et par le beau temps. Il n'affiche aucune position, sauf.... entre 20h et 23h00.

Es-ce qu'il y a une raison à ca????

Voici le GPS que j'utilise
GNSS Receiver - EM-506N5 - GPS-19629 - SparkFun Electronics?

Ca me parrait vraiment fou, car il doit pouvoir attrapé des satelittes toutes la jounrée. Il a 20 chanals.

Une idée?

Bonjour
[JOKE]
Ha , c'est en Suisse ?
La Suisse n'a peut etre payé que pour recevoir un signal gps coherent 2H/jours ? :grin:
[/JOKE]

symptômes étonnants
dans un cas comme ça, je ferais un log des sentences NMEA brutes sans aucun traitement (pas d'utilisation de Tinygps)
l'ideal un simple cable USB/serie en utilisant un soft de log genre terminal.exe.

et apres depouillement des logs

Est ce qu'un autre GPS placé à côté fonctionne normalement ?

Bne j'en ai commandé un justement pour voir la défférence.

J'avais un autre circuit avec un autre GPS et ca marchais. Au début non, puis oui.

Mais la sérieux, il ne marche qu'après 20heure. Il y a 10mn, j'ai eu des position pendant 30-40 sec, puis plus rien. Pourtant, je me situe à 60kil de où j'étais hier.....