GPSD-如何以LAT/LON作为输入来创建虚拟GPS源



我有一个系统,该系统将GPSD用作定位源。我需要将其与另一个使我纬度,经度&的系统集成在一起。时间。

我能够使用nmealib生成NMEA句子:

user@locahost :~/Desktop/nmealib$ build/samples_generate 
$GPGGA,154400.00,5000.0000,N,3600.0000,E,3,01,0.0,10.9,M,0.0,M,0.0,0000*7d
$GPGSA,A,3,00,00,00,00,00,00,00,00,00,00,00,00,0.0,0.0,0.0*32
$GPGSV,1,1,01,00,00,000,00,00,00,000,00,00,00,000,00,00,00,000,00*78

我的目标是将其输送到GPSD。

选项1:使用FIFO文件:

mkfifo /tmp/mkfifo    
gpsd /tmp/mkfifo    
./samples_generate > /tmp/mkfifo

选项2:使用TCP插座:

gpsd tcp://localhost:8888
/samples_generate | nc -p 8888

在这两种情况下,GPSD都出错了。

本质上,我想具有与gpsfake相似的功能,但不使用logfile,而是使用我脚本中的stdout。

您对如何实现此设置有任何想法吗?

我发现了如何管道数据:

stdbuf -oL build/samples_generate | gpsd -n -N /dev/stdin
  • stdbuf -Ol 使样本的输出_generate线条缓冲,否则可以将文本缓冲并以大块而不是线条,而不是每行

希望这对有同一问题的人有帮助。

工作设置的gpsmon日志

最新更新