GPSD - Как создать виртуальный источник GPS с широтой / долготой в качестве входа - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть система, которая использует gpsd в качестве источника для позиционирования.Мне нужно интегрировать его с другой системой, которая дает мне широту, долготу и время.

Я смог сгенерировать предложения NMEA, используя nmealib:

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, но без использования файла журнала, а вместо этого использовать стандартный вывод из моего сценария.

Есть ли у вас какие-либо идеи о том, как это реализовать?установка?

1 Ответ

0 голосов
/ 28 февраля 2019

Я узнал, как передать данные:

stdbuf -oL build/samples_generate | gpsd -n -N /dev/stdin
  • stdbuf -oL делает буферизованный вывод строки samples_generate, в противном случае текст может буферизироваться и записываться большимикуски вместо строки в строке

Надеюсь, что это поможет кому-то с такой же проблемой.

Журнал GPSMON рабочей установки

...