[PYTHON] Utiliser le GPS avec Edison

Un test pour lire le GPS connecté à Edison UART en utilisant python.

supposition

Module à installer

Matériel

Essaie

La connexion avec UART est établie par mraa et la valeur acquise est traitée par pynmea2.

import mraa
import serial
import pynmea2

#Spécification du port UART
uart = mraa.Uart(0)

#Création de l'objet Serial. Le débit en bauds est de 9600 bps
ser = serial.Serial(uart.getDevicePath(), 9600)

while 1:
	#Analyser ligne par ligne
    msg = pynmea2.parse(ser.readline())
    
    #La phrase traite des trucs GGA
    if msg.sentence_type == 'GGA':  # Global Positioning System Fix Data
        print {
            'gps.number_of_satellites': msg.num_sats,
            'gps.latitude': msg.latitude,
            'gps.longitude': msg.longitude,
            'gps.altitude': msg.altitude,
        }

Vous pouvez obtenir quelque chose comme ça.

{
    'gps.altitude': -12.8,
    'gps.longitude': 139.77447469,
    'gps.number_of_satellites': '11',
    'gps.latitude': 35.700290937
}

Impressions

Tant que le circuit est connecté, python + mraa + pynmea2 peut le gérer très facilement. Il existe plusieurs phrases définies dans NMEA, il semble donc que vous ayez besoin de comprendre NMEA pour les utiliser correctement.

référence

Recommended Posts

Utiliser le GPS avec Edison
Utilisez mecab-ipadic-neologd avec igo-python
Utilisez RTX 3090 avec PyTorch
Utiliser ansible avec cygwin
[Python] Utiliser JSON avec Python
Utilisez Mock avec pytest
Reconnaissance faciale avec Edison
Utiliser l'indicateur avec pd.merge
Utiliser Gentelella avec Django
Utiliser mecab avec Python 3
Utiliser tensorboard avec Chainer
Utiliser DynamoDB avec Python
Utiliser pip avec MSYS2
Utilisez Python 3.8 avec Anaconda
Utiliser les droits d'auteur avec Spacemacs
Utiliser python avec docker
Utiliser TypeScript avec django-compresseur
Utilisez LESS avec Django
Utiliser MySQL avec Django
Utiliser Enum avec SQLAlchemy
Utiliser tensorboard avec NNabla
Utilisez nim avec Jupyter
Utiliser l'API Trello avec python
Utiliser la mémoire partagée avec une bibliothèque partagée
Utiliser des balises personnalisées avec PyYAML
Utiliser des graphiques directionnels avec networkx
Utiliser l'API Twitter avec Python
Utiliser pip avec Jupyter Notebook
Utiliser DATE_FORMAT avec le filtre SQLAlchemy
Utiliser TUN / TAP avec Python
Utilisez sqlite3 avec NAO (Pepper)
Utilisez les load_extensions de sqlite avec Pyramid
Utiliser les polices Windows 10 avec WSL
Utilisation du chainer avec Jetson TK1
Utiliser SSL avec Celery + Redis
Utiliser Cython avec Jupyter Notebook
Utilisez Maxout + CNN avec Pylearn2
Utilisez WDC-433SU2M2 avec Manjaro Linux
Utiliser l'API subsonique avec python3
Utilisation de Sonicwall NetExtener avec Systemd
Utilisez prefetch_related commodément avec Django
Utiliser l'interpréteur AWS avec Pycharm
Utilisation de Bokeh avec IPython Notebook
Utiliser une plage de type Python avec Rust
Utiliser MLflow avec Databricks ④ --Call model -
Utiliser pyright avec CentOS7, emacs lsp-mode
Utilisation de la base de données SQL d'Azure avec SQL Alchemy
Utiliser la caméra Point Grey avec Python (PyCapture2)
Utilisez vl53l0x avec RaspberryPi (python)
Utilisez PX-S1UD / PX-Q1UD avec Jetson nano
Pour utiliser virtualenv avec PowerShell
Utilisez NAIF SPICE TOOL KIT avec Python
Utiliser rospy avec virtualenv dans Python3
Utiliser Markdown avec le notebook Jupyter (avec raccourci)
Utiliser Python mis en pyenv avec NeoVim
Utilisez Tensorflow 2.1.0 avec Anaconda sur Windows 10!
Utiliser la bibliothèque curl / jq avec Go
Je ne peux pas utiliser le japonais avec pyperclip