使用 gpsd 接收 UDP 数据报

使用 gpsd 接收 UDP 数据报

我所在的网络在端口 7150 上广播带有 GPS 数据的 NMEA 数据报。有些数据报似乎也广播到端口 7151 和 7152。我使用 iptraf 和 ncat 检查了这一点,数据报正在传入。

我测试启动 gpsd,其中sudo gpsd -N -D 5 udp://192.168.11.205:7150 192.168.11.205 是我计算机在网络中的 IP,我期望数据报在该网络中。我用 iptraf 验证了这一点。数据报的目标地址为 192.168.11.255。

然而 gpsd 似乎从未收到任何数据报,其输出如下:

gpsd:WARN: __STDC_IEC_599__ is missing
gpsd:INFO: launching (Version 3.24, revision 3.24)
gpsd:INFO: starting uid 0, gid 0
gpsd:INFO: Command line: gpsd -N -D 5 udp://192.168.11.205:7150 
gpsd:IO: opening IPv4 socket
gpsd:IO: opening IPv6 socket
gpsd:INFO: listening on port gpsd
gpsd:PROG: NTP:SHM: shmat(1540140,0,0) succeeded, unit 0
gpsd:PROG: NTP:SHM: shmat(1540141,0,0) succeeded, unit 1
gpsd:PROG: NTP:SHM: shmat(1540111,0,0) succeeded, unit 2
gpsd:PROG: NTP:SHM: shmat(1540113,0,0) succeeded, unit 3
gpsd:PROG: NTP:SHM: shmat(1540115,0,0) succeeded, unit 4
gpsd:PROG: NTP:SHM: shmat(1540117,0,0) succeeded, unit 5
gpsd:PROG: NTP:SHM: shmat(1540118,0,0) succeeded, unit 6
gpsd:PROG: NTP:SHM: shmat(1540120,0,0) succeeded, unit 7
gpsd:PROG: NTP:SHM: shmat(1540121,0,0) succeeded, unit 8
gpsd:PROG: NTP:SHM: shmat(1540123,0,0) succeeded, unit 9
gpsd:PROG: NTP:SHM: shmat(1540124,0,0) succeeded, unit 10
gpsd:PROG: NTP:SHM: shmat(1540126,0,0) succeeded, unit 11
gpsd:PROG: SHM: shmget(0x47505344, 27384, 0666) for SHM export succeeded
gpsd:PROG: SHM: shmat() for SHM export succeeded, segment 1605637
gpsd:INFO: stashing device udp://192.168.11.205:7150 at slot 0
gpsd:INFO: running with effective group ID 979
gpsd:INFO: running with effective user ID 984
gpsd:INFO: startup at 2023-02-26T22:30:29.000Z (1677450629)
gpsd:PROG: CORE: pselect: timeout
gpsd:PROG: CORE: pselect: timeout
gpsd:PROG: CORE: pselect: timeout
gpsd:PROG: CORE: pselect: timeout

其中nc -l -u -p 7150收益

$GPZDA,223320.12,26,02,2023,,*62
$GPGGA,223320.12,2826.981064,S,07350.550674,W,2,06,1.3,-0.21,M,23.45,M,6.2,0100*68
$GPVTG,359.03,T,358.12,M,10.2,N,18.8,K,D*25
$GPHDT,352.53,T*07
$PSXN,23,0.49,-0.72,352.53,-0.76*33

gpsd 或数据报出了什么问题?

更新评论

数据包似乎以 bc 的形式出现。网络提供商也声明了这一点。如何在接口上设置广播标志?我通过并行运行混杂模式下的 iptraf 将 i/f 设置为混杂,没有改变任何东西。gpsd -l 列出了 NMEA。

相关内容