26 lines
469 B
Bash
26 lines
469 B
Bash
#!/bin/sh
|
|||
|
|
GPSD_LOCAL_PORT=8051
|
||
|
|
NMEA_REMOTE_PORT=8052
|
||
|
|
NC_REMOTE_PID=0
|
||
|
|
NC_LOCAL_PID=0
|
||
|
|
FIFO=/tmp/gpsnc_fifo.$$
|
||
|
|
|
||
|
|
exit_handler()
|
||
|
|
{
|
||
|
|
kill $NC_REMOTE_PID 2>/dev/null
|
||
|
|
kill $NC_LOCAL_PID 2>/dev/null
|
||
|
|
rm -f $FIFO
|
||
|
|
}
|
||
|
|
|
||
|
|
trap exit_handler SIGINT SIGTERM
|
||
|
|
|
||
|
|
mkfifo $FIFO
|
||
|
|
nc -k -l ${NMEA_REMOTE_PORT} > $FIFO &
|
||
|
|
NC_REMOTE_PID=$!
|
||
|
|
nc -l ${GPSD_LOCAL_PORT} < $FIFO &
|
||
|
|
NC_LOCAL_PID=$!
|
||
|
|
|
||
|
|
sleep 1 # wait for nc ports becoming available
|
||
|
|
gpsd -n -N -D4 tcp://localhost:${GPSD_LOCAL_PORT}
|
||
|
|
|