首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Innacurate NMEA消息

Innacurate NMEA消息
EN

Stack Overflow用户
提问于 2022-11-16 00:41:38
回答 1查看 33关注 0票数 -1

当我观察u中心的纬度和经度时,我得到了非常精确的坐标。但是u-center的文本控制台中的NMEA消息,以及我的VSCode脚本输出中的NMEA消息,都被关闭了大约0.3度。包括纬度和经度。

这是我的密码:

代码语言:javascript
复制
import serial

gps = serial.Serial('com5', baudrate=9600)

while True:
    ser_bytes = gps.readline()
    decoded_bytes = ser_bytes.decode("utf-8")
    data = decoded_bytes.split(",")
    if data[0] == '$GNRMC':
        lat_nmea = (data[3],data[4])
        lat_degrees = float(lat_nmea[0][0:2])
        if lat_nmea[1] == 'S':
            lat_degrees = -lat_degrees
        lat_minutes = float(lat_nmea[0][2:])
        lat = lat_degrees + (lat_minutes/60)
        lon_nmea = (data[5],data[6])
        lon_degrees = float(lon_nmea[0][:3])
        if lon_nmea[1] == 'W':
            lon_degrees = -lon_degrees
        lon_minutes = float(lon_nmea[0][3:])
        lon = lon_degrees + (lon_minutes/60)
        print("%0.8f" %lat,", " "%0.8f" %lon)

预期输出(如u中心数据视图所示):

-12.63900217,111.85371867

实际输出(奇怪的是,经度似乎是按预期打印的,而不是纬度):

-11.36120217,111.85371867

但是,NMEA消息与上述任何一个值都不匹配。例如,$GNGLL消息:

$GNGLL,1238.34708,N,11129.52477,W,093907.00,A,A*68

任何帮助都将不胜感激!谢谢:)

EN

回答 1

Stack Overflow用户

发布于 2022-11-16 10:45:43

感谢注释中的@GiacomoCatenazzi,下面是按预期打印值的代码:

代码语言:javascript
复制
import serial

gps = serial.Serial('com5', baudrate=9600)

while True:
    ser_bytes = gps.readline()
    decoded_bytes = ser_bytes.decode("utf-8")
    data = decoded_bytes.split(",")
    if data[0] == '$GNRMC':
        lat_nmea = (data[3],data[4])
        lat_degrees = float(lat_nmea[0][0:2])
        lat_minutes = float(lat_nmea[0][2:])
        lat = lat_degrees + (lat_minutes/60)
        lon_nmea = (data[5],data[6])
        lon_degrees = float(lon_nmea[0][:3])
        lon_minutes = float(lon_nmea[0][3:])
        lon = lon_degrees + (lon_minutes/60)
        if lat_nmea[1] == 'S':
            lat = -lat
        if lon_nmea[1] == 'W':
            lon = -lon
        print("%0.8f" %lat, "%0.8f" %lon)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74453837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档