1

我想将 GPSD 配置为将 UDP 多播流作为输入。我有一个后台服务,它在 UDP 多播端口 5098 (254.0.0.50:5098) 上发送 NMEA 帧

我试过了 :

gpsd udp://254.0.0.50:5098 -n -N -D 5

但它不起作用。这是结果:

gpsd:INFO: launching (Version 3.9)
gpsd:IO: opening IPv4 
gpsd:IO: opening IPv6 socket
gpsd:INFO: listening on port gpsd
gpsd:PROG: NTPD shmat(0,0,0) succeeded, segment 0
gpsd:PROG: NTPD shmat(32769,0,0) succeeded, segment 1
gpsd:PROG: NTPD shmat(65538,0,0) succeeded, segment 2
gpsd:PROG: NTPD shmat(98307,0,0) succeeded, segment 3
gpsd:PROG: successfully connected to the DBUS system bus
gpsd:PROG: PPS thread launched
gpsd:INFO: NTPD ntpd_link_activate: 1
gpsd:INFO: stashing device udp://254.0.0.50:5098 at slot 0
gpsd:PROG: no /etc/gpsd/device-hook present, skipped running ACTIVATE hook
gpsd:INFO: opening UDP feed at 254.0.0.50, port 5098.
gpsd:PROG: PPS Create Thread gpsd_ppsmonitor
gpsd:PROG: PPS thread awaiting device activation
gpsd:ERROR: UDP device open error can't connect to host/port pair.
gpsd:ERROR: initial GPS device udp://254.0.0.50:5098 open failed
gpsd:PROG: PPS thread awaiting device activation
gpsd:INFO: running with effective group ID 20
gpsd:INFO: running with effective user ID 65534
gpsd:INFO: startup at 2015-05-05T13:38:33.000Z (1430833113)
gpsd:PROG: PPS thread awaiting device activation

你知道我哪里错了吗?

提前谢谢。

真挚地。

汤姆

4

2 回答 2

1

我有完全相同的问题。我试图使用来自 192.168.1.100 端口 10110 的 UDP 多播,但是使用 gpsd udp://192.168.1.100:10110 -n -N -D 5 不起作用,在本地主机上也没有监听。经过大量研究,我发现它可以使用 gpsd udp://192.168.1.255 -n -N -D 5 请注意,192.168.1.255 是我网络上不存在的 IP。似乎 gpsd 只能从不存在的 .255 节点获取 UDP 多播消息。

于 2015-09-14T21:56:03.857 回答
0

254.0.0.50 不是有效的多播地址。

有效的 IPv4 多播地址在 224.0.0.1 - 239.255.255.255 范围内。保留 240.0.0.0 - 255.255.255.255 范围内的地址。

于 2015-08-30T16:21:52.613 回答