![GPSfake에서 데이터를 읽을 수 없습니다](https://linux55.com/image/215931/GPSfake%EC%97%90%EC%84%9C%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC%20%EC%9D%BD%EC%9D%84%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
다음 NMEA 메시지를 파일에 저장했습니다 messages.txt
.
$GPRMC,131131.00,A,5956.4298,N,03015.4464,E,00.00,310.5,130123,,,D*53
$GPRMC,131132.00,A,5956.4298,N,03015.4464,E,00.01,097.3,130123,,,D*5B
$GNGSA,A,3,25,01,06,12,17,19,24,32,,,,,01.2,00.6,01.0*12
$GNGSA,A,3,66,86,77,76,75,85,67,68,84,,,,01.2,00.6,01.0*1B
$GPRMC,131133.00,A,5956.4298,N,03015.4464,E,00.00,181.5,130123,,,D*5B
$GNGSA,A,3,25,01,06,12,17,19,24,32,,,,,01.2,00.6,01.0*12
$GNGSA,A,3,66,86,77,76,75,85,67,68,84,,,,01.2,00.6,01.0*1B
$GPGNS,131134.00,,,,,,08,,,,02.2,0005*75
$GLGNS,131134.00,,,,,,09,,,,07.0,0005*6F
그리고 다음을 실행합니다:
gpsfake messages.txt
후속 명령의 출력은 다음과 같습니다.
lsof -i -P -n | grep LISTEN
예전에는
...
gpsd 71964 den 4u IPv4 310168 0t0 TCP 127.0.0.1:2947 (LISTEN)
gpsd 71964 den 5u IPv6 310169 0t0 TCP [::1]:2947 (LISTEN)
...
메시지를 읽으려고 할 때:
cat </dev/tcp/127.0.0.1/2947
출력에는 다음만 포함됩니다.
{"class":"VERSION","release":"3.22","rev":"3.22","proto_major":3,"proto_minor":14}
gpspipe를 사용하여 읽으려고 시도했지만 출력에 GPS 데이터가 포함되어 있지 않습니다.
sudo gpspipe -n 10 -w
{"class":"VERSION","release":"3.22","rev":"3.22","proto_major":3,"proto_minor":14}
{"class":"DEVICES","devices":[]}
{"class":"WATCH","enable":true,"json":true,"nmea":false,"raw":0,"scaled":false,"timing":false,"split24":false,"pps":false}
위 명령을 실행한 후 gpsfake의 출력은 다음과 같이 변경됩니다.
Processing messages.txt
gpsfake: log cycle of messages.txt begins.
...
gpsd:ERROR: SER: device open of /dev/pts/12 failed: Permission denied - retrying read-only
gpsd:ERROR: SER: read-only device open of /dev/pts/12 failed: Permission denied
gpsd:ERROR: /dev/pts/12: device activation failed, freeing device.
gpsfake
데이터를 올바르게 읽는 방법은 무엇입니까 ?