| Versions |
 |
|
| Author |
Topic  |
|
Boris
France
76 Posts |
Posted - 27 août 2004 : 13:31:54
|
Je vous propose de discuter technique programmation gps ici. Pour, par exemple, se donner les bons tuyaux que l'on peut découvrir, et avoir le détail en français de se que l'on peut trouver / utiliser dans les infos fournis par les gps.
Je commence :
protocole NMEA trames obligatoires : GSA, GSV et RMC quelques trames optionnelles (que tous les gps ne donnent pas) : GGA, GLL, VTG
* Les infos sont valides ? trame GSA : en position 3, nous avons l'attribut "Mode 1" qui peut prendre les valeurs "1 = No fix, 2 = 2D, 3 = 3D". C'est à dire qu'avec la valeur 1, les informations ne sont pas bonnes car il n'y a pas assez de satellites reçus. La valeur 2 nous indique que les informations sont maintenant bonnes à prendre en compte. La valeur 3 nous indique que le nombre de satellites reçus permet d'avoir une information "trés" fiable, et permet par exemple d'avoir un meilleur calcul de l'altitude. Fix = GSA[3]
* Obtenir la vitesse trame RMC : en position 8, nous avons l'attribut "Speed over ground" (la vitesse) en Knots. Multiplié par 1.852, on obtient alors la vitesse en km/h. Vitesse = RMC[8 ] * 1.852
* Obtenir la direction trame RMC : en position 9, nous avons l'attribut "Course over ground" (la direction) en degrés. Direction = RMC[9]
* Obtenir l'altitude (en trame optionnelle) trame GGA : en position 10, nous avons l'altitude de base, en métres. Il faut appliquer la correction géoide (je ne suis plus certain du nom). La valeur moyenne de correction pour la France est de 45m. Si le récepteur gps gère cette correction, il la fournit en position 12 (en métre également). altitude = GGA[10] - GGA[12] si GGA[12] est disponible.
Dès que j'ai avancé sur mon programme, je mettrais ici ma classe NMEA à disposition.
Si il y a des erreurs, n'hésitez pas à me corriger ! Et n'hésitez pas non plus, à compléter cette liste 
Boris |
|
|
Ads
|
|
|
gipsm
France
45 Posts |
|
|
Ancien Palmeur
France
504 Posts |
Posted - 27 août 2004 : 14:34:13
|
Bonne idée d'ouvrir ce genre de discussion, mais ça merite à mon avis un groupe spécifique avec une sous-division par langage utilisé.
Est-ce possible monsieur GPSPassion ?
Ipaq h1940 + Holux GR-230 PocketGPS : logiciels gratuits pour PocketPC et GPS |
 |
|
|
Boris
France
76 Posts |
Posted - 27 août 2004 : 15:19:57
|
Bah oui et non. Enfin, mon avis est limité vu que je suis multi-language 
Boris |
 |
|
|
Ancien Palmeur
France
504 Posts |
Posted - 27 août 2004 : 15:48:14
|
C'est surtout pour éviter de partir dans tous les sens et structurer un peu la discussion.
Tous le monde est plus ou moins multi-langages, le langage n'est qu'un support, mais par exemple la gestion du port COM est totalement différente entre eVB et VB .NET. Autant avoir directement sous la main la discussion appropriée.
Ipaq h1940 + Holux GR-230 PocketGPS : logiciels gratuits pour PocketPC et GPS |
 |
|
|
gpspassion
93392 Posts |
|
|
geideon
113 Posts |
Posted - 27 août 2004 : 18:20:21
|
Bonjour,
En c# (.net), j'utilise la classe port du framework opennetcf (http://www.opennetcf.org) qui me permet d'ouvrir un port com et de recevoir sous forme d'évènements des buffers paramétrables en longueur.(voir leur exemple)
Ensuite, j'utilise les expressions régulières pour récupérer les informations qui m'intéressent dans le buffer:
Exemple d'expression en c#: // expression pour une trame GPRMC (en cours de développement) string patternRmc=@"RMC,(?<hh>\d\d)(?<mm>\d\d)(?<ss>\d\d)(\.\d*){0,1},(?<fs>\w),\d{4}\.\d*,\w,\d*\.\d*,\w,(?<vk>\d*\.\d*)?,(?<aT>\d*.\d*)?"
L'expression précédente (quasiment multi langages) me permet ensuite de récupérer facilement les infos qui m'intéressent. hh représente les heures vk la vitesse aT l'angle etc.
Pour vérifier (et construire) ces expressions j'utilise le soft expresso où je colle le log nmea et l'expression à tester. Le soft me sort une arborescence avec toutes les correspondances.
Par ailleurs, ça me facilite le traitement des cas multiples. Par exemple, mon gps me donne l'heure ainsi 231223.321 (présence de millisecondes) or la norme nmea n'indique pas la présence de millisecondes... En construisant l'expression je peux indiquer l'occurence ou pas des millisecondes dans la trame sans avoir à coder la logique dans un langage.
C'est sûrement pas optimisé au niveau perfs mais ça me semble facile à utiliser.
|
 |
|
|
Ancien Palmeur
France
504 Posts |
|
|
gpspassion
93392 Posts |
|
|
Boris
France
76 Posts |
Posted - 27 août 2004 : 18:32:34
|
Go pour les rubriques alors ! Et je suis pour la rubrique notion générale également !
Boris |
 |
|
|
gpspassion
93392 Posts |
|
|
Ancien Palmeur
France
504 Posts |
|
|
habot
Belgium
7148 Posts |
Posted - 27 août 2004 : 21:12:34
|
Plus une section "Algorythmes & Formules" sinon vous allez retrouver la même formule à toutes les sauces dans chaque forum.
____________________________________ Alain Team GpsPasSion (N49°52' E005°07.25') iPaq 3760, ppc2002,Bluetooth, cf512, GpsMap76s, Gps72, Gps12, H303E (BT401) Débutant(e) en GPS ? Où commencer ?, les articles et n'oubliez pas la Charte. Nouveau sur le forum ? Vous pouvez vous présenter et apparaître sur la carte des membres |
 |
|
|
gpspassion
93392 Posts |
|
|
habot
Belgium
7148 Posts |
Posted - 28 août 2004 : 01:29:41
|
Aussi mais les informaticiens n'aiment pas les "divers" et "généralités"  ____________________________________ Alain Team GpsPasSion (N49°52' E005°07.25') iPaq 3760, ppc2002,Bluetooth, cf512, GpsMap76s, Gps72, Gps12, H303E (BT401) Débutant(e) en GPS ? Où commencer ?, les articles et n'oubliez pas la Charte. Nouveau sur le forum ? Vous pouvez vous présenter et apparaître sur la carte des membres |
 |
|
|
Boris
France
76 Posts |
Posted - 28 août 2004 : 11:22:29
|
Mais si on aime bien ! Le "bordel" c'est notre quotidien, il suffit de regarder notre bureau, héhé.
Boris |
 |
|
Topic  |
|
|
|
| This page was generated in 0,52 seconds. |
 |
|