Header Ads

Un GPS pour les attraper tous!

Note: Le module GPS Ultime décrit ici est disponible à la vente chez MC Hobby.

Introduction
"Un GPS pour les attraper tous" tel est la traduction de la phrase d'introduction du GPS Ultime d'AdaFruit (GPS Ultimate).

Il s'agit d'un superbe produit à la fois simple à mettre en oeuvre, efficace, petit mais surtout bien documenté et équipé d'une libraire!
Nous avons décrit précisément le GPS Ultime sur notre fiche produit.
Pour résumé, on raccorde l'interface série, le met sous tension, ont attends qu'il se synchronise et c'est parti... il n'y a plus qu'à "jouer" avec les coordonnées GPS.

Une bonne documentation c'est vital
Comme tous le produits AdaFruit, le GPS Ultime dispose d'une belle documentation.
MC Hobby à d'ailleurs traduit cette documentation en FRANCAIS et la met à disposition sur son Wiki.
Comme nous l'avons déjà fait pour le GPRS shield, cette documentation contient également quelques informations complémentaires.
Cette documentation reprends code d'exemple, plan de montage, extrait de code et informations diverses.

Une documentation c'est bien, Une librairie c'est mieux
Comme on est en droit de s'y attendre, le module GPS Ultimate est fournit avec une libraire permettant configurer le module GPS mais aussi d'extraire plus facilement les coordonnées GPS.
Pour accéder à la librairie, rendez-vous sur notre page produit ou notre page wiki.

  // Ci-dessous, vous pouvez sélectionner la syntaxe que le module émet.
 
  // dé-commentez cette ligne pour activer RMC (recommended minimum) et GGA (fix data) incluant l'altitude
  GPS.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCGGA);
  // dé-commentez cette ligne pour activer seulement le "minimum recommended" (données minimale recommandée) pour les mises-à-jour haut débit!
  //GPS.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCONLY);
  // dé-commentez cette ligne pour activer  toutes les données disponibles - à 9600 bauds vous devez adapter la fréquence de mise-à-jour à 1 Hz
  //GPS.sendCommand(PMTK_SET_NMEA_OUTPUT_ALLDATA);
 
  // Initialise la fréquence de mise-à-jour des données
  // 1 Hz 
  //GPS.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ);
  // 5 Hz - à 9600 bauds vous pouvez seulement sélectionner une syntaxe de sortie RMC ou RMCGGA 
  GPS.sendCommand(PMTK_SET_NMEA_UPDATE_5HZ);
  // 10 Hz - pour 9600 bauds vous pouvez seulement sélectionner la syntaxe de sortie RMC  //GPS.sendCommand(PMTK_SET_NMEA_UPDATE_10HZ);

Cette librairie propose d'autres fonctions telles que:
  • GPS.newNMEAreceived() pour vérifier si un nouveau paquet d'information est disponible. 
  • GPS.parse(GPS.lastNMEA()). pour décomposer le paquet NMEA et pouvoir accéder aux informations de géolocalisations.
  • GPS.day fournit le jour
  • GPS.month le mois 
  • GPS.year l'année 
  • GPS.fix indique s'il y a une synchronisation satellite (un GPS produit des données même sans synchronisation)
  • GPS.latitude et GPS.longitude, fournissent respectivement la latitude et la longitude
  • GPS.speed fournit la vitesse 
  • GPS.angle l'angle de déplacement par rapport au nord.
  • GPS.altitude l'altitude en cm (si suffisamment de satellites en synchro).
  • GPS.satellites le nombre de satellite impliqué dans le calcul de position. 
De quoi facilement exploiter le module GPS dans de nombreux projets.

La vitesse se mesure en knots
Contrairement à ce que l'on pourrait penser, un GPS ne produit pas une évaluation de la vitesse en km/h ou en Miles/H.
Un GPS nous informe de la vitesse en knots... cette unité bizarre est directement issus du noeud marin et la conversion est trivial.
1 knot = 1.852 Km/H (précisément)
Il faut le savoir, c'est tout.

Google Maps
Avoir un module GPS et des coordonées GPS c'est bien.
Faut-il encore savoir quoi en faire!
Notre page Wiki (encore et toujours) vous propose une section décrivant comment exploiter les données issues du GPS pour pouvoir les utiliser (rapidement) avec Google Maps.
 
Le protocole NMEA
Pour les plus curieux d'entre-vous, les modules GPS utilisent tous le même protocole série pour communiquer avec l'hôte (votre PC ou votre Arduino).
Ce protocole s'appelle NMEA et est issus des travaux de l'Armée. NMEA signifie "National Marine Electronics Association".
S'il est relativement rudimentaire, il est aussi diablement efficace (faire simple mais robuste) et permet une mise en oeuvre assez rapide.
Si vous voulez en savoir plus, une page spécifique de notre wiki vous permet d'accéder à une FAQ et une documentation complète ainsi qu'au détail du protocole relatif au module GPS utilisé sur ce Breakout board.

LOCUS - Le datalogger intégré au GPS Ultimate
Une fonctionnalité intéressante du MTK3339 est sa capacité de faire un enregistrement de données directement dans la mémoire flash du module (data-logger). Elle permet de stocker la date, l'heure, la latitude, la longitude et l'altitude dans la mémoire flash de 64 Kb disponible dans le module. Il ne s'agit pas d'un enregistreur haute résolution - un enregistrement toutes les 15 secondes lorsqu'il y a une synchro (fix) - mais cela devrait convenir pour 99% des projets voilant traquer des déplacements et positions.

Cela peut devenir un moyen vraiment puissant (et très peu gourmand en énergie) pour enregistrer des données, pas besoin de carte SD ou d'EEPROM! La mémoire flash peut stocker jusqu'à 16 heures de données.
Le module GSP nécessite un microcontrolleur pour démarrer le data-logger (en introduisant une requête de démarrage "kick start"). S'il y a une perte d'alimentation il faudra une autre "impulsion" pour redémarrer. Si vous avez déjà des données stockées dans la mémoire FLASH, une nouvelle trace sera créé (sans perte des anciennes données). L'enregistrement s'arrêtera lorsqu'il n'y a plus de mémoire disponible sans écrasement des anciennes données. Hormis cet inconvénient, il s'agit d'un joli plus et AdaFruit propose une librairie vous permettant de supporter et d'utiliser cette fonctionnalité.
Vous pourrez extraire les informations du LOCUS et produire un fichier de trace pour Google Maps depuis la page d'AdaFruit (voir détails sur notre wiki).

Cette fonctionnalité est vraiment très excitante :-)

Où acheter
Le module GPS Ultime est en vente ici chez MC Hobby.
Vous découvrirez sur la page produit qu'il est fournit avec quelques petit plus, ces petits plus qui font parfois de grandes différences :-)