IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Tracker GPS avec Python


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Tracker GPS avec Python
    Bonsoir à tous,
    Je souhait réaliser un tracker GPS, pour cela, je possède un PcDuino ainsi qu'un module GPS. Il me faut donc coder en python sur le PcDuino pour réaliser mon tracker. Cependant je suis novice dans ce domaine et je ne sais pas trop comment m'y prendre. Si quelqu'un pouvait m'apporter quelques conseils ou des modèles de tracker avec python car je n'en trouve pas sur internet pour m'en inspirer.
    Merci d'avance,
    Opxilone.

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 619
    Points : 56 854
    Points
    56 854
    Billets dans le blog
    40
    Par défaut
    Salut,

    Si ton module exploite la liaison série tu as le module pyserial. Pour analyser et extraire les infos des trames NMEA envoyées par le GPS tu as le module pynmea.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonsoir,
    Merci pour votre réponse, comment cela fonctionne-t-il ?

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 619
    Points : 56 854
    Points
    56 854
    Billets dans le blog
    40
    Par défaut
    Hé bien je suppose que le programme doit lire en boucle les données sur le port série (tu confirmes que ton module GPS exploite bien la liaison série ?). Il va donc falloir exploiter la doc et faire des recherches sur le module pyserial (voir ici par exemple la doc officielle).

    Puis quand tu as une trame NMEA (dans une chaîne de caractères), pynmea va te permettre assez facilement d'extraire les données souhaitées (coordonnées, vitesse, altitude...). Il faut là aussi exploiter la doc, voir ici.


    Edit : je n'ai jamais essayé mais la trame commence toujours par un caractère '$'. Il suffit de scruter l'arrivée de ce caractère puis de faire un readline() pour acquérir toute la trame (jusqu'à la réception d'un retour chariot \n qui marque la fin de la trame). Reste à extraire ce qui t'intéresse avec pynmea

    Edit2 : Ah tiens, un autre module pynmea2, Python library for the NMEA 0183 protocol

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Alors j'utilise un module gps qui est celui-ci : http://linksprite.com/wiki/index.php...Arduino_V2.0_B. Il utilise une liaison série Rx/Tx, il est connecté à un PcDuino V2. J'ai donc réalisé ce programme cependant, il ne m'indique aucune information (ligne vide) lorsque je le fais tourner. Voici le programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/usr/bin/env python
     
    import serial #Load the serial library
    def setup():
        return
     
     
    def loop():
        # Select and configure the port
        ser= serial.Serial('/dev/ttyS1', 9600, timeout = 1) #/dev/ttyS1 : c'est le nom de la liaison série avec les broches tx et rx
        x = ser.read(100) # lit 100 bits
        print (x)#affiche les 100 bits

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 619
    Points : 56 854
    Points
    56 854
    Billets dans le blog
    40
    Par défaut
    Ok, je suppose que tu utilises l'environnement Pyduino, j'ai dû le tester une fois...

    Plusieurs raisons possibles... As-tu bien mis en place les 2 jumpers comme précisé dans la doc ?

    Ton fichier est-il bien écrit dans l'IDE pyduino avec une extension .yno ? Si tu passes par un IDE standard Python avec un fichier .py, il faut que tu complètes le programme pour importer le module Pyduino puis lancer le setup() et le loop(). Voir ici.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Et bien j'ai branché le shield sur le PcDuino, j'ai relié tx à mrx et rx à mtx.

  8. #8
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 619
    Points : 56 854
    Points
    56 854
    Billets dans le blog
    40
    Par défaut
    En fait pyduino gère le port série à sa façon (comme dans le langage Arduino) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def setup():
        Serial.begin(9600)
     
     
    def loop():
        if (Serial.available() > 0) :
            x=Serial.read()
            Serial.print(x)

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    J'ai essayé votre programme mais il ne marche pas. Je ne sais pas si le module GPS marche car on obtient aucune information. Je ne sais donc pas avec quel programme le tester.

  10. #10
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 619
    Points : 56 854
    Points
    56 854
    Billets dans le blog
    40
    Par défaut
    "ça ne marche pas", ça ne m'aide pas beaucoup non plus

    Le mieux est de laisser tomber Python provisoirement et de tester le module dans l'IDE Arduino classique avec le programme de démo proposé.

    Regarde à l'oscillo s'il y a des trames si tu peux. Il y a des utilitaires Linux pour afficher ce qu'il y a sur les ports COM, du style cutecom ou autres.

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    J'ai essayé le programme de test sur l'ide Arduino mais ça ne change rien, je n'obtiens rien.

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Edit : C'est bon j'obtiens des informations ce qui confirme que le module marche bien. Merci infiniment pour votre aide. Je vous tiens au courant de l'avancée pour d'éventuelles soucis.

  13. #13
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 619
    Points : 56 854
    Points
    56 854
    Billets dans le blog
    40
    Par défaut
    Citation Envoyé par Opxilone Voir le message
    Edit : C'est bon j'obtiens des informations ce qui confirme que le module marche bien.
    Tu étais sous un tunnel et tu viens d'en sortir, c'est ça ?

  14. #14
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Je me suis prononcé trop tôt , le programme a marché et maintenant il ne marche plus. Je ne comprends pas, il a marché seulement 5minutes et maintenant plus rien. Je trouve ça étrange. Et sinon comme pourrais-je tester le module à l'aide d'un oscilloscope ?

  15. #15
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Et comment peut-on utiliser cutecom ?

  16. #16
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 619
    Points : 56 854
    Points
    56 854
    Billets dans le blog
    40
    Par défaut
    Citation Envoyé par Opxilone Voir le message
    Je me suis prononcé trop tôt , le programme a marché et maintenant il ne marche plus. Je ne comprends pas, il a marché seulement 5minutes et maintenant plus rien. Je trouve ça étrange...
    Le GPS doit avoir du mal à fixer un nombre suffisant de satellites. Déplace le module d'endroit ou mieux, sors dehors

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/05/2008, 10h29
  2. création de base mySQL avec python
    Par preacher_man dans le forum Bibliothèques tierces
    Réponses: 7
    Dernier message: 23/06/2006, 19h38
  3. cmt se connecté a oracle pour faire une requete avec python
    Par dipajero dans le forum Bibliothèques tierces
    Réponses: 6
    Dernier message: 28/12/2005, 20h22
  4. Réponses: 2
    Dernier message: 19/12/2005, 13h15
  5. Les 128 derniers bits d'un fichier en ligne avec Python ?
    Par ecocentric dans le forum Réseau/Web
    Réponses: 7
    Dernier message: 26/09/2005, 12h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo