Un test pour lire le GPS connecté à Edison UART en utilisant python.
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
}
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.
Recommended Posts