|Original author(s)||Remco Treffkorn, Derrick Brashear|
|Developer(s)||Eric S. Raymond|
3.16 / January 8, 2016
|Written in||C, Python|
|Operating system||Linux, *BSD, Mac OS X, Android|
gpsd is a daemon that receives data from a GPS receiver, and provides the data back to multiple applications such as Kismet or GPS navigation software. It thus provides a unified interface to receivers of different types, and allows concurrent access by multiple applications.
gpsd provides a TCP/IP service by binding to port 2947. It accepts commands from that socket, and returns results back to it. These commands use a JSON-based syntax and return JSON responses (older, now obsolete versions used single-letter commands). Multiple clients can use gpsd's service in parallel, thus allowing multiple applications to use the data in parallel.
Most GPS receivers are supported, whether serial, USB, or Bluetooth. Starting in 2009, GPSD supports AIS receivers as well. Additionally gpsd supports interfacing with the UNIX network time protocol daemon ntpd via shared memory to enable setting the host platform's time via the GPS clock.
- Debian packages of gpsd
- Fedora package of gpsd
- gpsd FreeBSD from the FreeBSD ports archive
- gpsd manual page gpsd project, retrieved 2011-07-11
- A Brief History of GPSD, "In July and August 2009 ESR redesigned the GPSD command protocol and gave gpsd the ability to read data from marine AIS receivers and pass it to clients."; retrieved 2011-05-01
- GPSD CHANGELOG
- GPSD History
- Bad Code Offsets: Open Web Innovation