我实在不明白 GPSD 是如何工作的。如果我启动 gpsmon 什么也不会发生。但是,如果我运行 sudo Killall gpsd ,位置会立即开始出现在屏幕上。
我的节点应用程序中也发生了同样的情况。我一杀死 gpsd(启动程序后)就开始接收位置。
我在 Node v8.11.3 上使用 Garmin USB GPS 18x 和 Jetson TX2。在我的程序中,我使用 node-gpsd 来处理 GPS 数据。
答案1
守护gpsd
进程读出通过串行接口传入的 GPS 数据,并通过特定端口(默认:端口 2947)上的套接字将它们提供给其他应用程序。
客户端程序gpsmon
可以以两种模式之一运行。
- 作为客户端
gpsd
使用提供的套接字gpsd
- 直接模式下,读取来自GPS设备串行接口的数据
您使用两种模式中的哪一种是由您开始的参数决定的gpsmon
。我不知道你是如何开始的gpsmon
,但根据你的描述判断,我假设你gpsmon
以直接模式启动,因此一旦你杀死gpsd
并gpsmon
访问了串行接口(之前由gpsd
.
为了gpsmon
作为 的客户端使用gpsd
,请参阅官方文档的gpsmon
。
关于您的节点应用程序:
这只是一个猜测,但我假设该应用程序没有使用 提供的套接字gpsd
,而是想直接侦听串行接口。因此你观察到的行为。