gpsd

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

gpsd
Original author(s)Remco Treffkorn, Derrick Brashear
Developer(s)Eric S. Raymond
Stable release
3.18 / October 3, 2018; 22 months ago (2018-10-03)
Repository Edit this at Wikidata
Written inC, Python
Operating systemLinux, *BSD, Mac OS X, Android
PlatformAny
Size~120K LOC
Available inEnglish
TypeGPS
LicenseBSD
Websitegpsd.gitlab.io/gpsd/

gpsd is a computer software program that collects data from a Global Positioning System (GPS) receiver and provides the data via an Internet Protocol (IP) network to potentially multiple client applications in a server-client application architecture. Gpsd may be run as a daemon to operate transparently as a background task of the server. The network interface provides a standardized data format for multiple concurrent client applications, such as Kismet or GPS navigation software.

Gpsd is commonly used on Unix-like operating systems.[1][2][3] It is distributed as free software under the 3-clause BSD license.

Design[edit]

gpsd provides a TCP/IP service by binding to port 2947 by default.[4] It communicates via that socket by accepting commands, and returning results. These commands use a JSON-based syntax and provide JSON responses.[4] Multiple clients can access the service concurrently.

The application supports many types of GPS receivers with connections via serial ports, USB, and Bluetooth. Starting in 2009, gpsd also supports AIS receivers.[5]

gpsd supports interfacing with the Network Time Protocol (NTP) server ntpd via shared memory to enable setting the host platform's time via the GPS clock.

Authors[edit]

gpsd was originally written by Remco Treffkorn with Derrick Brashear, then maintained by Russell Nelson.[6] It is now maintained by Eric S. Raymond.[7][8]

References[edit]

External links[edit]