Gpsd
Encyclopedia
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
.
Distributed under a permissive free software license, gpsd is free software
.
-based syntax and return JSON responses (older, now obsolete versions used single-letter commands). Concurrent operation is supported. 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.
,. It is now maintained by Eric S. Raymond
.
Daemon (computer software)
In Unix and other multitasking computer operating systems, a daemon is a computer program that runs as a background process, rather than being under the direct control of an interactive user...
that receives data from a GPS
Global Positioning System
The Global Positioning System is a space-based global navigation satellite system that provides location and time information in all weather, anywhere on or near the Earth, where there is an unobstructed line of sight to four or more GPS satellites...
receiver, and provides the data back to multiple applications such as Kismet or GPS navigation software
GPS navigation software
GPS navigation software usually falls into one of the following two categories:# Navigation with route calculation and directions from the software to the user of the route to take, based on a vector-based map, normally for motorised vehicles with some motorised forms added on as an afterthought.#...
.
It thus provides a unified interface to receivers of different types, and allows concurrent access by multiple applications.
It is commonly used on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
systems
.
Distributed under a permissive free software license, gpsd is free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
.
Design
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 JSONJSON
JSON , or JavaScript Object Notation, is a lightweight text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects...
-based syntax and return JSON responses (older, now obsolete versions used single-letter commands). Concurrent operation is supported. Most GPS receivers are supported, whether serial
Serial communications
In telecommunication and computer science, serial communication is the process of sending data one bit at a time, sequentially, over a communication channel or computer bus. This is in contrast to parallel communication, where several bits are sent as a whole, on a link with several parallel channels...
, USB, or Bluetooth
Bluetooth
Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances from fixed and mobile devices, creating personal area networks with high levels of security...
. Starting in 2009, GPSD supports AIS
Automatic Identification System
The Automatic Identification System is an automatic tracking system used on ships and by Vessel traffic services for identifying and locating vessels by electronically exchanging data with other nearby ships and AIS Base stations...
receivers as well. Additionally gpsd supports interfacing with the UNIX network time protocol daemon ntpd
Ntpd
The Network Time Protocol daemon is an operating system daemon program that maintains the system time in synchronization with time servers using the Network Time Protocol .-Description:...
via shared memory
Shared memory
In computing, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Depending on context, programs may run on a single processor or on multiple separate processors...
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 NelsonRuss Nelson
Russell "Russ" Nelson is an American computer programmer. He was a founding board member of the Open Source Initiative and briefly served as its president in 2005.-Career:...
,. It is now maintained by Eric S. Raymond
Eric S. Raymond
Eric Steven Raymond , often referred to as ESR, is an American computer programmer, author and open source software advocate. After the 1997 publication of The Cathedral and the Bazaar, Raymond was for a number of years frequently quoted as an unofficial spokesman for the open source movement...
.