Obtenez des données du module GPS à 10 Hz avec Python

GPS 10Hz avec connexion série sans utiliser le GPS. Le code est le suivant, et écrivez le code pour traiter les données reçues dans la partie principale en bas.

mtk3339_set_10Hz.py


#!/usr/bin/python3
# -*- coding: utf-8 -*-

from time import sleep
import serial

#Valeur initiale de la vitesse de transmission de la connexion série:9600
ser=serial.Serial('/dev/ttyS0', baudrate=9600, timeout=30)

class GPS: 
    def __init__(self):
        UPDATE_100msec=  r"$PMTK220,100*2F\r\n"        #Intervalle de mise à jour 100 ms(10Hz)
        UPDATE_200msec=  r"$PMTK220,200*2C\r\n"        #Intervalle de mise à jour 200 ms(5Hz)
        UPDATE_250msec=  r"$PMTK220,250*29\r\n"        #Intervalle de mise à jour 250 msec(4Hz)
        UPDATE_500msec=  r"$PMTK220,500*2B\r\n"        #Intervalle de mise à jour 500 ms(2Hz)
        UPDATE_1000msec=  r"$PMTK220,1000*1F\r\n"      #Intervalle de mise à jour 1sec(1Hz)
        MEAS_100msec= r"$PMTK300,100,0,0,0,0*2C\r\n"   #Intervalle de mesure 100msec(10Hz)
        MEAS_200msec= r"$PMTK300,200,0,0,0,0*2F\r\n"   #Intervalle de mesure 200 ms(5Hz)
        MEAS_250msec= r"$PMTK300,250,0,0,0,0*2A\r\n"   #Intervalle de mesure 250 msec(4Hz)
        MEAS_500msec= r"$PMTK300,500,0,0,0,0*28\r\n"   #Intervalle de mesure 500msec(2Hz)
        MEAS_1000msec= r"$PMTK300,1000,0,0,0,0*1C\r\n" #Intervalle de mesure 1 sec(1Hz)
        BAUDRATE_9600 = r"$PMTK251,9600*17\r\n"        #débit en bauds du tty 9600bps
        BAUDRATE_19200 = r"$PMTK251,19200*22\r\n"      #débit en bauds tty 19200 bps
        BAUDRATE_38400 = r"$PMTK251,38400*27\r\n"      #débit en bauds tty 38400bps
        BAUDRATE_57600 = r"$PMTK251,57600*2C\r\n"      #débit en bauds du tty 57600bps
        BAUDRATE_115200 = r"$PMTK251,115200*1F\r\n"    #débit en bauds tty 115200bps

        #Commands for which NMEA Sentences are sent
        GPRMC_ONLY= "$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29\r\n" # Send only the GPRMC Sentence
        GPRMC_GPGGA="$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28\r\n" # Send GPRMC AND GPGGA Sentences
        SEND_ALL ="$PMTK314,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0*28\r\n"  # Send All Sentences
        SEND_NOTHING="$PMTK314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28\r\n" # Send Nothing

        ser.write(BAUDRATE_115200.encode('utf-8')) # Set Baudrate to 115200
        sleep(1)
        ser.baudrate=115200
        ser.write(UPDATE_100msec.encode('utf-8'))  # Set update interval 100ms
        sleep(1)
        ser.write(MEAS_100msec.encode('utf-8'))    # Set measurement interval 100ms
        sleep(1)
        ser.write(GPRMC_ONLY.encode('utf-8'))      # Set report GPRMC message only
        sleep(1)
        ser.flushInput()
        ser.flushOutput()
        print("GPS is Initialized\n")

gps=GPS() #Le GPS est défini lorsque l'instance est initialisée
while(1):
    while ser.inWaiting()==0:
        pass
    data=ser.readline()
    #Écrivez ici le traitement des données acquises
    print(data)

Pourquoi les paramètres de mise à jour et de mesure sont-ils séparés? Je pense que cela n'a pas de sens si cela ne fonctionne pas ensemble.

Recommended Posts

Obtenez des données du module GPS à 10 Hz avec Python
Obtenir des données de Quandl en Python
Obtenez des données de séries chronologiques de k-db.com avec Python
Obtenez des données LeapMotion en Python.
Appuyez sur REST en Python pour obtenir des données de New Relic
Obtenez des données supplémentaires vers LDAP avec python
[Note] Obtenir des données de PostgreSQL avec Python
Obtenez les données de l'API Google Fit en Python
Obtenez des données Youtube en Python à l'aide de l'API Youtube Data
Obtenez le niveau de la batterie de SwitchBot avec Python
Obtenez la probabilité de précipitation de XML avec Python
Obtenir l'historique des métriques de MLflow en Python
Obtenez uniquement des articles de pages Web en Python
Obtenir la date en Python
Recevez des données de dictionnaire à partir de programmes Python avec AppleScript
Obtenez des données LEAD à l'aide de l'API REST de Marketo en Python
Obtenir des données de la base de données via ODBC avec Python (Access)
Générez Word Cloud à partir de données de cas d'essai avec python3
Obtenez des commentaires YouTube en Python
Obtenir les données structurelles de CHEMBLID
Gérer les données ambiantes en Python
Obtenez le mois dernier en Python
Afficher les données UTM-30LX en Python
Obtenez des données Youtube avec python
OCR à partir de PDF en Python
Obtenir la taille du terminal en Python
Obtenir explicitement EOF en python
Obtenez des notes Evernote en Python
Obtenez des synonymes japonais avec Python
Obtenez votre fréquence cardiaque à partir de l'API fitbit en Python!
Obtenez la valeur tout en spécifiant la valeur par défaut de dict en Python
Obtenir des constantes de macro à partir du fichier d'en-tête C (++) (.h) en Python
Obtenez des données de l'API d'analyse avec le client API Google pour python
Obtenir le message du premier offset avec le consommateur kafka en python
Python: exclure les balises des données html
[Python] journalisation dans votre propre module
Lire les données des tampons de protocole avec Python3
Frappez les données du trésor de Python Pandas
Obtenez le chemin du bureau en Python
Gérez les données au format NetCDF avec Python
Comment obtenir une chaîne à partir d'un argument de ligne de commande en python
Obtenez le chemin du script en Python
Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy
Extraire du texte d'images avec Python
Hashing de données en R et Python
Obtenir, publier un mémo de communication en Python
Exécuter le module Python unittest dans vs2017
python Obtenez la météo à venir de l'API météo
Extraction d'éléments conditionnels à partir du bloc de données: R est% en%, Python est .isin ()
Obtenez le chemin du bureau en Python
Obtenez le nom d'hôte en Python
Obtenez des données de Twitter avec Tweepy
Démarrez avec Python avec Blender
Maîtriser le module lowref en Python
Extraire des chaînes de fichiers avec Python
Comment obtenir la valeur du magasin de paramètres dans lambda (en utilisant python)
Obtenez des options en Python à partir des fichiers JSON et des arguments de ligne de commande
Obtenez une instance datetime à tout moment de la journée en Python
Obtenez la clé pour la migration de la deuxième couche de données JSON avec python
Recevoir des données textuelles de mysql avec python
Obtenir le code HTML de l'élément avec du sélénium Python