Raspberry pi 中的 GPS 模块使用 python 代码
GPS Module in Raspberry pi using python code
我在 Raspberry pi 中使用 Neo 6M GPS 模块,并尝试 运行 使用 python 代码来处理 GPS 数据。但是我 运行 代码没有 return 任何结果。这是代码:
import serial
import time
import string
import pynmea2
while True:
port="/dev/ttyAMA0"
ser=serial.Serial(port, baudrate=9600,
timeout=0.5)
dataout = pynmea2.NMEAStreamReader()
newdata=ser.readline()
if newdata[0:6] == "$GPGLL":
newmsg=pynmea2.parse(newdata)
lat=newmsg.latitude
lng=newmsg.longitude
gps = "Latitude=" + str(lat) + "and
Longitude=" + str(lng)
print(gps)
您的 if
语句不在 while True:
循环内,因此永远不会到达。
我无法测试这个 - 但我想你想要这样的东西:
import serial
import time
import string
import pynmea2
port="/dev/ttyAMA0"
ser=serial.Serial(port, baudrate=9600, timeout=0.5)
while True:
newdata=ser.readline()
if newdata[0:6] == "$GPGLL":
newmsg=pynmea2.parse(newdata)
lat=newmsg.latitude
lng=newmsg.longitude
gps = "Latitude=" + str(lat) + "and
Longitude=" + str(lng)
print(gps)
import serial
import time
import string
import pynmea2
while True:
port = "/dev/ttyAMA0"
ser = serial.Serial(port,baudrate=9600,timeout=0.5)
dataout = pynmea2.NMEAStreamReader()
newdata = (ser.readline().decode("utf-8")).strip("b'rn\")
if newdata[0:6] == "$GPRMC":
newmsg = pynmea2.parse(newdata)
lat = newmsg.latitude
lng = newmsg.longitude
gps = ("Latitude = " + str(lat) + " and Longitude = " +str(lng))
print(gps)
elif newdata[0:6] == "$GPGLL":
print("Found GPGLL record: " + newdata)
else:
print(newdata)
我在 Raspberry pi 中使用 Neo 6M GPS 模块,并尝试 运行 使用 python 代码来处理 GPS 数据。但是我 运行 代码没有 return 任何结果。这是代码:
import serial
import time
import string
import pynmea2
while True:
port="/dev/ttyAMA0"
ser=serial.Serial(port, baudrate=9600,
timeout=0.5)
dataout = pynmea2.NMEAStreamReader()
newdata=ser.readline()
if newdata[0:6] == "$GPGLL":
newmsg=pynmea2.parse(newdata)
lat=newmsg.latitude
lng=newmsg.longitude
gps = "Latitude=" + str(lat) + "and
Longitude=" + str(lng)
print(gps)
您的 if
语句不在 while True:
循环内,因此永远不会到达。
我无法测试这个 - 但我想你想要这样的东西:
import serial
import time
import string
import pynmea2
port="/dev/ttyAMA0"
ser=serial.Serial(port, baudrate=9600, timeout=0.5)
while True:
newdata=ser.readline()
if newdata[0:6] == "$GPGLL":
newmsg=pynmea2.parse(newdata)
lat=newmsg.latitude
lng=newmsg.longitude
gps = "Latitude=" + str(lat) + "and
Longitude=" + str(lng)
print(gps)
import serial
import time
import string
import pynmea2
while True:
port = "/dev/ttyAMA0"
ser = serial.Serial(port,baudrate=9600,timeout=0.5)
dataout = pynmea2.NMEAStreamReader()
newdata = (ser.readline().decode("utf-8")).strip("b'rn\")
if newdata[0:6] == "$GPRMC":
newmsg = pynmea2.parse(newdata)
lat = newmsg.latitude
lng = newmsg.longitude
gps = ("Latitude = " + str(lat) + " and Longitude = " +str(lng))
print(gps)
elif newdata[0:6] == "$GPGLL":
print("Found GPGLL record: " + newdata)
else:
print(newdata)