问题描述
我正在尝试使用带有 4" 触摸屏设置的 RaspBerry Pi 来驱动并捕获一些 WiFi 信号。给我带来问题的部分是让 GPS 工作。
我正在尝试使用我很久以前获得的 Microsoft Streets & Trips 附带的模块。
lsusb 将设备显示为“Bus 001 Device 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 给出以下内容:
但是当我尝试 cgps -s 时我得到:
我似乎得到了一些数据,但没有纬度/经度/时间数据。
我是否应该得出不支持此 GPS 模块的结论?
解决方法
您确定您的接收器有卫星定位功能吗?另外,您有 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 的可靠支持,因此如果不支持该接收器(但一切皆有可能),我会感到惊讶。在不知道具体型号的情况下,很难说出任何明确的结论。
我只使用过几个不同的接收器,但我的一般经验是,当它们在启动时没有修复时,它们会发送空/部分数据包。这些数据包中的日期/时间数据可能是由于接收器上的 Real-time clock (RTC)。 RTC 在 GPS 接收器上很常见,因为它们通常会显着改善 Time To First Fix (TTFF)。所以你有时间是有道理的,但它被标记为无效。
建议
您的接收器正在报告视野中的卫星(尽管没有使用任何卫星)并且状态为 NO FIX
的事实对我来说是特别有力的证据,表明您的接收器可能只是没有修复。试着把它移到能看到更好天空的地方。还要确保是否需要连接任何类型的外部天线硬件。最后,您可能需要等待一段时间才能获得修复。如果您使用该设备已经有一段时间了,您可能会看到 TTFF 超过 10-20 分钟的冷启动。