Ein Test zum Lesen von GPS, das mit Python mit Edison UART verbunden ist.
Die Verbindung mit UART wird von mraa hergestellt und der erfasste Wert wird von pynmea2 verarbeitet.
import mraa
import serial
import pynmea2
#UART-Portspezifikation
uart = mraa.Uart(0)
#Erstellung eines seriellen Objekts. Die Baudrate beträgt 9600 bps
ser = serial.Serial(uart.getDevicePath(), 9600)
while 1:
#Zeile für Zeile analysieren
msg = pynmea2.parse(ser.readline())
#Satz verarbeitet GGA-Zeug
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,
}
Sie können so etwas bekommen.
{
'gps.altitude': -12.8,
'gps.longitude': 139.77447469,
'gps.number_of_satellites': '11',
'gps.latitude': 35.700290937
}
Solange die Schaltung angeschlossen ist, kann Python + mraa + pynmea2 sehr einfach damit umgehen. In NMEA sind mehrere Sätze definiert, daher scheint es, dass Sie NMEA verstehen müssen, um sie richtig zu verwenden.
Recommended Posts