NOV
14
Lecture de données GPS depuis un pocket PC
14.11.2007 | | Auteur : Ayashi | Catégorie : Programmation


Connecter un GPS bluetooth à son PDA et lire les données reçues? Pas si compliqué que ça! Nous allons parler ici sommairement du protocole NMEA ( National Marine Electronics Association ) introduit par la marine et qui est utilisé par les récepteurs GPS pour transmettre des données via le port série à un ordinateur. Ce protocole de type ASCII ( tous les messages sont envoyés au format texte ) définit un certain nombre de codes ( GPGGA / GPGSA / GPRMC / .. ) qui permettent d'identifier la position actuelle, l'angle et la vitesse de déplacement, le nombre de satellites,.. Les trames provenant d'un récepteur GPS commencent toujours par les deux lettres GP. ( GPS Receiver )

Un GPS ( bluetooth ou filaire ) dialogue via le protocole de transmission RS232 le standard étant 4800b/s, 8Bits, 1 bit de stop, pas de parité. Cette vitesse limite le nombre de phrases NMEA que le GPS peut transmettre à 530 caractères par seconde ( 4800 / ( 8 + 1 )) soit en moyene 5-6 trames.

Exemple de trame NMEA :
$GPGGA,130442.000,4344.6476,N,00123.5622,E,1,05,9.6,187.5,M,,,,0000*09
$GPGSA,A,3,30,05,07,24,06,,,,,,,,9.6,9.6,1.0*32
$GPRMC,130442.000,A,4344.6476,N,00123.5622,E,0.20,75.15,141107,,*32
$GPVTG,75.15,T,,M,0.20,N,0.4,K*50

Le protocole NMEA est donc constitué de phrases, celles-ci commencent par le caractère $ et se terminent par un retour chariot ( code ASCII 13 ). Chaque éléments de cette phrase est délimité par une virgule. Le premier élément définit le type de phrase :
  • GPGGA : Position actuelle.
  • GPGSA : Information sur la précision.
  • GPGSV : Information sur les satellites.
  • GPRMC : Trame minimum de positionnement.
  • GPVTG : Vitesse / Direction.
  • ...
Nous allons dans un premier temps nous intéresser à la trame GPGGA. La trame de l'exemple ci-dessus contient les informations :
  • Temps universel : 130442.000
  • Latitude : 4344.6476 N
  • Longitude : 00123.5622 E
  • Satellites : 05
  • Altitude : 187.5 M
L'exemple suivant en VisualBasic .NET permet de créer une application très simple pouvant s'exécuter sur un PDA permettant de se connecter au port série et extraire quelques données ( Latitude, Longitude, Altitude, Satellites ) dans une structure. Cet exemple peut servir de base pour réaliser des applications plus complexes de positionnement ou de tracking.
L'ouverture du port série COM7 ( à vous d'identifier le bon! ) en lecture donne : ..la lecture des données provennant du port série se fait au travers de cette fonction : ..nous allons ensuite stocker les données dans une nouvelle structure que nous allons créer : ..ne reste plus qu'à parser les phrases NMEA reçues et les stocker dans notre structure : Liens Complémentaires

Tags : gps, pda, .net | Digg!
Commentaires  | Ajouter un commentaire
Aucun commentaire.
Rechercher sur internet  ?  | Rechercher!
Trackback
Utilisez le lien http://www.sunyday.net/trackback-Lecture-de-donnees-GPS-depuis-un-pocket-PC pour faire un trackback vers cette article depuis votre site web. Les trackbacks sont soumis à une approbation mutuelle et susceptibles d'être supprimés si jugés indésirables.
Retrieve RSS feed. Get notified by eMail. Meteo Parser.
Computing widgets...
Jean-Damien POGOLOTTI© 2k6-2k7 | Design // Code

Qui suis-je?

Touche à tout restant bouche bée devant la complexité et la cohérence de ce monde je m'évertue à essayer d'en comprendre les rouages. En passant par la météorologie, la physique ou bien l'informatique, tout est une raison d'apprendre!
Comment les gens arrivent-il ici?
 directory  CODE  metar  SUR  magn%C3%A9tique  couche  nuls  longitude  ad  google  les  script  +  et  ajax  pour  module  PAGE  browser  latitude  fading  du  map  image  le  anomalie  command  d%27ozone  COMMENT  la  web  convertir  active  regexp  gps  explication  des  php  synop  snmp  ntfs  html  de  trou  conversion  url  dans  fade  protocole  un  lldp  terrestre  cli  champ  adresse  javascript  regex  gd  une  mercator  sunyday  coordonn%C3%A9es  line  find  photovoltaique  en  authentification  ldap  resize  Cannot  

Sunyday.net