GPS2UDP(1)

πŸ’– GPS2UDP(1) β€” the gpsd manual, bestie edition πŸ’–

GPSD Documentation Β· GPS2UDP(1)


✨ NAME ✨

gps2udp β€” feed the take from gpsd to one or more aggregation sites 🫢


🌈 SYNOPSIS 🌈

gps2udp [OPTIONS] [server[:port[:device]]]

gps2udp -h

gps2udp -V

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so, gps2udp is literally the little tool that connects to gpsd and beams the sentences it receives out to one or a whole bunch of UDP host:port destinations. that's the whole vibe. it's giving "useful for feeding AIS information from gpsd to aishub, marinetraffic, shipfinder,…" πŸŽ€

ngl the best part: gps2udp does not require root privileges, but it can run as root if you're feeling spicy. it can also run concurrently with other tools that connect to the local gpsd without causing problems. no drama, no conflicts, we love a peaceful icon πŸ‘‘

the output is gonna be one or both of: NMEA sentences (that's the -n option) or JSON sentences (that's the -j option). either way, the output gets sent to one or many destination hosts through a UDP network socket (the -u HOST:PORT options). slay πŸ’…

optionally you can hand it a server, a TCP/IP port number, and a remote device. if you skip all that, gps2udp connects to localhost on the default port (2947) and just watches all the devices opened by gpsd. defaults, periodt ✨

gps2udp may also be run as a daemon β€” that's the -b option, main character energy fr fr.

and here's the lowkey iconic part: gps2udp is designed to run smoothly in the background and it reconnects automatically to gpsd whenever it gets restarted. it just... comes back. resilient queen 🌸 for debugging purposes, there's an option to exit gracefully after a given count of packets β€” that's the -c option πŸ¦‹


πŸ’… OPTIONS πŸ’…

  • -?, -h, --help β€” -Print a usage message and exit. πŸ’–
  • -a, --ais β€” Send only AIS messages.
  • -b, --daemon β€” Causes gps2udp to run as a daemon.
  • -c COUNT, --count COUNT β€” Exit after COUNT sentences are sent.
  • -d LVL, --debug LVL β€” Set debug level to LVL. LVL = 0 prints nothing. LVL = 1 prints sent packet on stdout. LVL = 2 prints ignored packets.
  • -j, --json β€” Causes JSON sentences to be output.
  • -n, --nmea β€” Causes NMEA sentences to be output.
  • -t, --tpv β€” Only output TPV sentences. Implies --json.
  • -u HOST:PORT, --udp HOST:PORT β€” UDP destination for output sentences (up to five destinations).
  • -v, -V, --version β€” Prints the program version, then exit. -v is deprecated December 2020.
⚠️ bestie, note the deprecation: -v is deprecated December 2020. use -V or --version instead, i'm begging πŸ™ˆ

πŸŽ€ ARGUMENTS πŸŽ€

by default, clients collect data from the local gpsd daemon running on localhost, using the default GPSD port 2947. the optional argument to any client may override this behavior:

[server[:port[:device]]]

for further explanation, and examples, see the ARGUMENTS section in the gps(1) man page 🫢


🌟 EXAMPLES 🌟

with a running gpsd accessible on the network, this will collect data from localhost:gpsd, display them on stdout, and send a copy to test aishub in NMEA format. πŸ¦‹

gps2udp -d 1 -n -u data.aishub.net:2222

this next one will collect data from a remote gpsd located on fridu.net host, will filter AIS messages, and send them to 3 destinations (aishub, marinetraffic, shipfinder) in NMEA format, while running in background mode. three destinations? multitasking queen πŸ‘‘

gps2udp -a -n -b -u data.aishub.net:2222 -u 5.9.207.224:5321 \
   -u 109.200.19.151:4001 fridu.net:2947

⭐ RETURN VALUES ⭐

  • 0 β€” on success. we love a win πŸ’–
  • 1 β€” on failure 😭

πŸ‘‘ SEE ALSO πŸ‘‘

gpsd(8), gps(1)


🌈 RESOURCES 🌈

Project web site: https://gpsd.io/


πŸ’œ COPYING πŸ’œ

This file is Copyright 2013 by the GPSD project SPDX-License-Identifier: BSD-2-clause


🧚 AUTHOR 🧚

Fulup Ar Foll


GPSD Version 3.27.5 Β· 2025-11-04 Β· GPS2UDP(1)

okay that's the whole page bestie, go forth and UDP πŸ’…βœ¨πŸ¦‹πŸŒΈπŸŽ€πŸ«ΆπŸ”₯