RASP-GPS-ULTIME-Utiliser

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Maintenant que avez un GPS et état de marche et gpsd fonctionnant avec lui, il est temps de faire quelque-chose avec ces données!

Le plus facile pour démarrer est d'utiliser WebIDE et un peu de code Python pour accéder à gpsd.

Créez un nouveau fichier dans WebIDE, ajoutez et exécutez ensuite le code suivant:

import gps
     
# Ecouter sur le port 2947 (gpsd) de localhost
session = gps.gps("localhost", "2947")
session.stream(gps.WATCH_ENABLE | gps.WATCH_NEWSTYLE)
     
while True:
    try:
         report = session.next()
         # Attendre après un rapport d'information 'TPV' et afficher l'heure
         # Pour voir toutes les données, dé-commentez la ligne ci-dessous
         # print report
         if report['class'] == 'TPV':
             if hasattr(report, 'time'):
                 print report.time
    except KeyError:
       pass
    except KeyboardInterrupt:
       quit()
    except StopIteration:
       session = None
       print "GPSD est arrete (has terminated)"

Vous devriez voir quelque-chose de similaire à ceci (avec une mise-à-jour toutes les secondes):

RASP-GPS-ULTIME-Utiliser-01.png

Vous êtes plus intéressé par les données de localisation? Ce que vous aurez à faire, pour l'essentiel, est de parser les informations du rapport en suivant l'exemple du code ci-dessus.

Vous pouvez dé-commenter la logne 'print report' pour voir quelles sont les informations disponibles et ensuite regarder les différentes valeurs et nom de classe qui défilent. Ne vous restera plus, ensuite, qu'a sélectionner l'information qui vous intéresse.

Par exemple, vous pouvez utiliser le code suivant pour extraire la vitesse de la classe TPV:

        if report['class'] == 'TPV':
            if hasattr(report, 'speed'):
                print report.speed * gps.MPS_TO_KPH

Vous noterez au passage que la vitesse est fournie en Miles Per Hour (Mile par Heure) et qu'il faut la convertir en Kilomètre par heure en multipliant la vitesse avec la constante MPS_TO_KPH.

Voila! Ce n'est vraiment pas compliqué... vous pouvez maintenant imaginer ce que vous pouvez réaliser à l'aide de la latitude, longitude, date et heure, vitesse, altitude, etc.!


Source: Adafruit Ultimate GPS on the Raspberry Pi écrit par Kevin Townsend pour Adafruit Industrie
Traduction réalisée par Meurisse D pour MCHobby.be.

Créé par Kevin Townsend pour AdaFruit Industries.

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com