首页 > 解决方案 > GPSD 没有看到完整的数据

问题描述

我正在尝试使用带有 4" 触摸屏设置的 Raspberry Pi 来驱动和捕获一些 WiFi 信号。给我带来问题的部分是让 GPS 正常工作。

我正在尝试使用很久以前获得的 Microsoft Streets & Trips 附带的模块。

lsusb 将设备显示为“总线 001 设备 007:ID 1546:01a5 U-Blox AG [u-blox 5]”

dmesg | grep tty 显示:[8.276615] cdc_acm 1-1.1:1.0: ttyACM0: USB ACM 设备 [344.931792] cdc_acm 1-1.1:1.0: ttyACM0: USB ACM 设备

如果我发出 cat /dev/ttyACM0,我确实会看到数据流

sudo gpsd /dev/ttyACM0 -F /var/run/gpsd.sock 然后 gpsmon /dev/ttyACM0 给出以下内容:

gpsmon 输出

但是当我尝试 cgps -s 我得到:

cgps输出

我似乎得到了一些数据,但没有纬度/经度/时间数据。

我应该断定不支持这个 GPS 模块吗?

标签: raspberry-piraspbiangpsd

解决方案


你确定你的接收器有卫星定位吗?另外,您有 GPS 数据流的日志吗?您知道您使用的是什么特定型号的接收器吗?

从您的第一个屏幕截图来看,您肯定是在接收来自 GPS 的数据,因为它正在识别几个不同的 NMEA 语句。最重要的是,第一个屏幕截图显示了似乎是一个有效的GPGLL句子(我还没有确认校验和):

$GPGLL,,,,,224538.00,V,N*40

我最初的预感是 GPS 接收器没有卫星定位。这是基于

  • 空话GPGLL。上面句子中唯一填充的字段是 UTC 时间和状态字段。状态值为V,表示数据无效。
  • 第二个屏幕截图中的状态NO FIX
  • 第一个屏幕截图中的各种框给我的印象是 GPSD 正确解析了各种 NMEA 数据包。例如,GSV 框列出了视野中的各种卫星。
  • 输出将lsusb设备报告为 u-blox 接收器。U-blox 接收器通常得到 GPSD 的可靠支持,因此如果不支持此接收器,我会感到惊讶(但一切皆有可能)。在不知道具体型号的情况下,很难说任何确定的东西。

我只使用过几个不同的接收器,但我的一般经验是,当它们在启动时没有修复时,它们会发送空/部分数据包。这些数据包中的日期/时间数据可能是由于接收器上的实时时钟 (RTC)造成的。RTC 在 GPS 接收器上很常见,因为它们通常会大大提高首次定位时间 (TTFF)。因此,您有时间是有道理的,但它被标记为无效。

建议

您的接收器正在报告可见的卫星(尽管没有正在使用)并且状态NO FIX是特别有力的证据,这对我来说是您的接收器可能没有修复。试着把它移到能更好看天空的地方。还要确保它是否需要您连接的任何类型的外部天线硬件。最后,您可能需要等待一段时间才能得到修复。如果您使用该设备已经有一段时间了,您可能会遇到 TTFF 超过 10-20 分钟的冷启动。


推荐阅读