Jump to content

Gpsd: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
→‎Design: gpsd and ntpd might be running on a uniprocessor system, so shared memory (interprocess communication) is more appropriate here.
No edit summary
Line 47: Line 47:
[[Category:Free software programmed in C]]
[[Category:Free software programmed in C]]
[[Category:Free software programmed in Python]]
[[Category:Free software programmed in Python]]
use less info

Revision as of 08:44, 24 October 2015

gpsd
Original author(s)Remco Treffkorn, Derrick Brashear
Developer(s)Eric S. Raymond
Stable release
3.15 / June 3, 2015; 9 years ago (2015-06-03)
Repository
Written inC, Python
Operating systemLinux, *BSD, Mac OS X, Android
PlatformAny
Size~51K LOC
Available inEnglish
TypeGPS
LicenseBSD
Websitehttp://www.catb.org/gpsd/

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.

It is commonly used on Linux and FreeBSD systems.[1][2][3] Distributed under the 3-clause BSD license, gpsd is free software.

Design

gpsd provides a TCP/IP service by binding to port 2947.[4] It accepts commands from that socket, and returns results back to it. These commands use a JSON-based syntax and return JSON responses[4] (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.[5] 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.

Authors

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

use less info