如何让 GPS 接收器 BU-353 在 Ubuntu 上工作?

Par*_*l N 7 usb gps

我有一个带 USB 接口的 GPS 接收器 BU-353,我正试图让它在 Ubuntu 下工作。

我跑了gpsd -n -N -D 2 /dev/ttyUSB0,得到了这个输出:

gpsd: launching (Version 2.94)
gpsd: listening on port gpsd
gpsd: running with effective group ID 1000
gpsd: running with effective user ID 1000
gpsd: opening GPS data source type 3 at '/dev/ttyUSB0'
gpsd: speed 38400, 8N1
gpsd: Garmin: garmin_gps Linux USB module not active.
gpsd: speed 9600, 8O1
gpsd: speed 38400, 8N1
gpsd: gpsd_activate(): opened GPS (fd 6)
gpsd: speed 4800, 8N1
gpsd: NTPD ntpd_link_activate: 0
gpsd: /dev/ttyUSB0 identified as type SiRF binary (2.687608 sec @ 4800bps)
gpsd: detaching 127.0.0.1 (sub 1, fd 8) in detach_client
gpsd: detaching 127.0.0.1 (sub 1, fd 8) in detach_client
Run Code Online (Sandbox Code Playgroud)

在此之后,我启动了 tangoGPS,它说没有找到 GPS 和 GPSD。

use*_*733 8

BU-353 已知可与 gpsd 配合使用。

  1. 尝试-b标志(例如,gpsd -b /dev/ttyUSB0

  2. 打开一个单独的终端窗口并运行gpsmon(包含在“gpsd-clients”包中)以检查 gpsd 输出。每次重新启动 gpsd 时重新启动 gpsmon。

    探戈会不会太早开始了?加密狗需要几秒钟来整理信号、识别卫星并计算定位;udev 需要几秒钟来启动 gpsd,而这又需要几秒钟来探测加密狗(可能尚未准备好)并在数据流最终开始时开始广播有用的信息。gpsmon也可以帮助诊断该问题。

  3. 如果没有 gpsd 输出,则进行更详细的检查。执行以下步骤以测试加密狗、内核模块、安装、设备节点和 gpsd:

    • 拔下 USB 加密狗并杀死 gpsd ( sudo pkill gpsd)。等待 10 秒/dev/ttyUSB0以释放。
    • 重新插入 USB 加密狗并等待 10 秒钟。
    • 检查dmesg | tail -n 5以验证加密狗确实安装到/dev/ttyUSB0. 如果它没有挂载,那么你就缺少一个内核模块(根据你的描述,这不太可能)。有时它会被安装到/dev/ttyUSB1if0不是免费的!
    • 查看 udev 是否​​识别加密狗并启动 gpsd ( ps -e | grep gpsd)。如果没有,那么你有一个 udev 规则问题,你必须手动启动 gpsdgpsd /dev/ttyUSB0
    • 一旦 gpsd 运行,检查加密狗输出(加密狗输出 = gpsd 输入)。尝试cat /dev/ttyUSB0(使用 CTRL+c 停止它)。如果失败,则尝试将波特率重置为 4800:

      pkill gpsd
      stty 4800 > /dev/ttyUSB0
      gpsd -b /dev/ttyUSB0
      cat /dev/ttyUSB0     # CTRL+c to stop
      
      Run Code Online (Sandbox Code Playgroud)
    • 如果您有良好的加密狗输出(=gpsd 输入),请打开第二个终端窗口并尝试gpsmoncgps测试 gpsd 输出。
    • 最后,既然您有良好的加密狗输出和良好的 gpsd 输出,请尝试使用 tangoGPS。