Jump to content

Gpsd: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
add references and "Authors" section, remove refimprove template
release info from Wikidata
 
(41 intermediate revisions by 33 users not shown)
Line 6: Line 6:
| caption =
| caption =
| collapsible =
| collapsible =
| author = Remco Treffkorn, Derrick Brashear
| author = Remco Treffkorn,<br />Derrick Brashear
| developer = [[Eric S. Raymond]]
| developer = [[Eric S. Raymond]]
| released =
| released =
| latest release version = 2.96
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release date = 2011-03-21
| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}
| latest preview version = 2.94
| latest preview date = 2010-04-20
| frequently updated =
| programming language = [[C (programming language)|C]], [[Python (programming language)|Python]]
| programming language = [[C (programming language)|C]], [[Python (programming language)|Python]]
| operating system = [[Linux]], *BSD, [[Mac OS X]]
| operating system = [[Linux]], *[[BSD]], [[Mac OS X]], [[Android (operating system)|Android]]
| platform = Any
| platform = Any
| size = ~36K LOC
| size = ~120K LOC
| language = [[English language|English]]
| language = [[English language|English]]
| status = Mature
| genre = [[Global Positioning System|GPS]] software
| genre = [[Global Positioning System|GPS]]
| license = [[BSD license]]
| license = BSD
| website = {{URL|https://gpsd.gitlab.io/gpsd/}}
| website = http://gpsd.berlios.de/
}}
}}
'''gpsd''' is a [[daemon (computer software)|daemon]] that receives data from a [[Global Positioning System|GPS]] receiver, and provides the data back to multiple applications such as [[Kismet (software)|Kismet]] or [[GPS navigation software]].
'''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 model|server-client]] application architecture. Gpsd may be run as a [[daemon (computer software)|daemon]] to operate transparently as a background task of the server. The network [[Interface (computing)|interface]] provides a standardized data format for multiple concurrent client applications, such as [[Kismet (software)|Kismet]] or [[GPS navigation software]].
It thus provides a unified [[Interface (computing)|interface]] to receivers of different types, and allows concurrent access by multiple applications.


Gpsd is commonly used on [[Unix-like]] operating systems.<ref>[http://packages.debian.org/search?keywords=gpsd Debian packages of gpsd]</ref><ref>[https://admin.fedoraproject.org/pkgdb/acls/name/gpsd Fedora package of gpsd] {{webarchive|url=https://web.archive.org/web/20111002061218/https://admin.fedoraproject.org/pkgdb/acls/name/gpsd |date=2011-10-02 }}</ref><ref>[http://www.freebsdsoftware.org/astro/gpsd.html gpsd FreeBSD] from the [[FreeBSD]] ports archive</ref> It is distributed as [[free software]] under the [[BSD licenses#3-clause|3-clause BSD license]].
It is commonly used on [[Linux]] and [[FreeBSD]] systems
<ref>[http://packages.debian.org/search?keywords=gpsd Debian packages of gpsd]</ref>
<ref>[https://admin.fedoraproject.org/pkgdb/acls/name/gpsd Fedora package of gpsd]</ref>
<ref>[http://www.freebsdsoftware.org/astro/gpsd.html gpsd FreeBSD] from the [[FreeBSD]] ports archive</ref>.
Distributed under a [[permissive free software license]], gpsd is [[free software]].


== Design ==
== Design ==
gpsd provides a [[TCP/IP]] service by binding to port 2947<ref name="gpsd_man">[http://gpsd.berlios.de/gpsd.html gpsd manual page] gpsd project, retrieved 2011-07-11</ref>. It accepts commands from that socket, and returns results back to it. These commands use a [[JSON]]-based syntax and return JSON responses<ref name="gpsd_man"/> (older, now obsolete versions used single-letter commands). Concurrent operation is supported. Most GPS receivers are supported, whether [[Serial communications|serial]], [[USB]], or [[Bluetooth]]. Starting in 2009, GPSD supports [[Automatic Identification System|AIS]] receivers as well.<ref>[http://gpsd.berlios.de/history.html 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]</ref> 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.
gpsd provides a [[TCP/IP]] service by binding to port 2947 by default.<ref name="gpsd_man">[http://gpsd.berlios.de/gpsd.html gpsd manual page] {{webarchive|url=https://web.archive.org/web/20110718125612/http://gpsd.berlios.de/gpsd.html |date=2011-07-18 }} gpsd project, retrieved 2011-07-11</ref> It communicates via that socket by accepting commands, and returning results. These commands use a [[JSON]]-based syntax and provide JSON responses.<ref name="gpsd_man"/> Multiple clients can access the service concurrently.

The application supports many types of GPS receivers with connections via [[serial communications|serial ports]], [[USB]], and [[Bluetooth]]. Starting in 2009, gpsd also supports [[Automatic Identification System|AIS]] receivers.<ref>[http://gpsd.berlios.de/history.html 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] {{webarchive|url=https://web.archive.org/web/20061014054342/http://gpsd.berlios.de/history.html |date=2006-10-14 }}</ref>

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


== Authors ==
== Authors ==
gpsd was originally written by Remco Treffkorn with Derrick Brashear, then maintained by [[Russ Nelson|Russell Nelson]],<ref>[http://pygps.org/gpsd/CHANGELOG GPSD CHANGELOG]</ref>. It is now maintained by [[Eric S. Raymond]].<ref>[http://gpsd.berlios.de/history.html GPSD History]</ref><ref>[http://thedailywtf.com/Articles/Bad-Code-Offsets-Open-Web-Innovation.aspx Bad Code Offsets: Open Web Innovation]</ref>
gpsd was originally written by Remco Treffkorn with Derrick Brashear, then maintained by [[Russ Nelson|Russell Nelson]].<ref>[http://pygps.org/gpsd/CHANGELOG GPSD CHANGELOG] {{webarchive|url=https://web.archive.org/web/20070928120501/http://pygps.org/gpsd/CHANGELOG |date=2007-09-28 }}</ref> It is now maintained by [[Eric S. Raymond]].<ref>[http://gpsd.berlios.de/history.html GPSD History] {{webarchive|url=https://web.archive.org/web/20061014054342/http://gpsd.berlios.de/history.html |date=2006-10-14 }}</ref><ref>[http://thedailywtf.com/Articles/Bad-Code-Offsets-Open-Web-Innovation.aspx Bad Code Offsets: Open Web Innovation]</ref>


== References ==
== References ==
{{portal|free software}}
{{Portal|Free and open-source software}}
{{reflist|30em}}

{{refs}}


== External links ==
== External links ==
* {{official website|https://gpsd.gitlab.io/gpsd/index.html}}


[[Category:Global Positioning System]]
* {{official|http://gpsd.berlios.de/}}

[[Category:GPS]]
[[Category:Free software programmed in C]]
[[Category:Free software programmed in C]]
[[Category:Free software programmed in PHP]]
[[Category:Free software programmed in Python]]
[[Category:Software using the BSD license]]

Latest revision as of 22:47, 9 March 2022

gpsd
Original author(s)Remco Treffkorn,
Derrick Brashear
Developer(s)Eric S. Raymond
Stable release
3.22[1] Edit this on Wikidata / 9 January 2021; 3 years ago (9 January 2021)
Repository
Written inC, Python
Operating systemLinux, *BSD, Mac OS X, Android
PlatformAny
Size~120K LOC
Available inEnglish
TypeGPS software
LicenseBSD license
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.[2][3][4] 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.[5] It communicates via that socket by accepting commands, and returning results. These commands use a JSON-based syntax and provide JSON responses.[5] 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.[6]

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.[7] It is now maintained by Eric S. Raymond.[8][9]

References

[edit]
  1. ^ "gpsd version 3.22 is released". 9 January 2021. Retrieved 7 February 2021.
  2. ^ Debian packages of gpsd
  3. ^ Fedora package of gpsd Archived 2011-10-02 at the Wayback Machine
  4. ^ gpsd FreeBSD from the FreeBSD ports archive
  5. ^ a b gpsd manual page Archived 2011-07-18 at the Wayback Machine gpsd project, retrieved 2011-07-11
  6. ^ 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 Archived 2006-10-14 at the Wayback Machine
  7. ^ GPSD CHANGELOG Archived 2007-09-28 at the Wayback Machine
  8. ^ GPSD History Archived 2006-10-14 at the Wayback Machine
  9. ^ Bad Code Offsets: Open Web Innovation
[edit]