Gps nmea 输出获得有效的 $GPGSV 但无效 $GPGGA $GPRMC

Gps nmea output getting valid $GPGSV but not valid $GPGGA $GPRMC

我正在尝试解析连接到 cubietruck 板(ARM® Cortex™-A7 双核)串行端口的调制解调器的 gps nmea 输出。配置已成功完成我得到了 4g 网络形式的调制解调器但是当我尝试在 gps 模块之外查看 nmea 时,我得到以下信息:

$GPRMC,,V,,,,,,,,,,N*53
$GPGSV,2,1,08,07,49.9,43.6,28.2,28,49.9,158.9,29.2,02,3.5,239.1,,05,49.9,286.9,E
$GPGSV,2,2,08,06,,,,08,9.8,68.9,,09,31.6,104.1,,13,20.4,299.5,,1*5E
$GNGNS,112218.9,,,,,NNN,,,,,,*03
$GPVTG,,T,,M,,N,,K,N*2C
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GNGSA,A,1,,,,,,,,,,,,,,,*00
$GPGGA,,,,,,0,,,,,,,,*66
$GPRMC,,V,,,,,,,,,,N*53
$GPGSV,2,1,08,07,49.9,43.6,27.9,28,49.9,158.9,29.7,02,3.5,239.1,,05,49.9,286.9,F
$GPGSV,2,2,08,06,,,,08,9.8,68.9,,09,31.6,104.1,,13,20.4,299.5,,1*5E
$GNGNS,112219.9,,,,,NNN,,,,,,*02

查看 http://aprs.gids.nl/nmea/ 我发现 $GPGSV 是可见的 GPS 卫星。所以我的理解是我得到了 2 颗卫星。这可能是我没有得到有效的 $GPGGA $GPRMC 的情况,还是我应该检查其他东西?

您没有位置 "fix",因此在某些电报中得到空值。您可能知道,逗号之间应该有纬度、经度和其他数据,而不是空值。两颗卫星不足以定位,您至少需要 3 或 4 颗才能定位。

NMEA 0183 标准定义不明确,没有提及 GPS 装置在没有定位时应该做什么。发送空值很常见,但有些单位可能会有所不同。您可以从 A 和 V 字母轻松判断数据是否有效。 V 表示无效,A 表示有效。在RMC电报中,你可以看到一个V,意味着整个事情都是无效的。

您在 GSV 电报中获得值的原因是因为 GPS 能够看到两颗卫星,因此可以计算电报中所需的值。

第三个字段 08 是您在良好条件下可以看到的理论卫星数。

所以你要做的就是把GPS带到室外或者接上合适的天线。当它能够看到卫星时,它将开始发送正确的值。

实际上通过你的两个 GPGSV 句子你可以看到 08 颗卫星 - 其中八颗。您有 2 'sentences' of GSV 2,1,08 表示描述 08 颗卫星的 2 个句子中的 1 个,而 2,2,08 表示描述 08 个卫星的 2 个句子中的 2 个