summaryrefslogtreecommitdiff
path: root/www/index.html.in
blob: 0f85834e9c89cd9b795c60f51d2433b7836414f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="Author" content="Remco Treffkorn">
   <meta name="Description" content="gpsd is a utility that can listen to a GPS or Loran Receiver and re-publish the positional data in a simpler format.">
   <meta name="Keywords" content="GPS, translator, GIS">
   <!-- the following is a verification tag for Google Analytics -->
   <meta name="verify-v1" content="kb4f3qxJPMaOltYTpJHnvbnteza1PHO4EhrRIfcq2gk=" />
   <title>GPSd &mdash; Put your GPS on the net!</title>
   <link rel="stylesheet" href="main.css" type="text/css"/>
</head>
<body>

<div id="Header">
<code>gpsd</code> &mdash; a GPS service daemon
</div>

<div id="Menu">
    <img src="gpsd-logo-small.png"/><br />
    Home<br/>
    <a href="#news">News</a><br/>
    <a href="#downloads">Downloads</a><br/>
    <a href="#mailing-lists">Mailing lists</a><br/>
    <a href="#documentation">Documentation</a><br/>
    <a href="faq.html">FAQ</a><br/>
    <a href="xgps-sample.html">Screenshots</a><br/>
    <a href="#recipes">Recipes</a><br/>
    <a href="#others">Other GPSDs</a><br/>
    <a href="hardware.html">Hardware</a><br/>
    <a href="for-vendors.html">For GPS Vendors</a><br/>
    <a href="wishlist.html">Wish List</a><br/>
    <a href="hall-of-shame.html">Hall of Shame</a><br/>
    <a href="hacking.html">Hacker's Guide</a><br/>
    <a href="references.html">References</a><br/>
    <a href="history.html">History</a><br/>

    <div>&nbsp;</div>

    <a href='http://www.catb.org/hacker-emblem/'><img
    src='http://www.catb.org/hacker-emblem/glider.png'
    alt='hacker emblem' /></a><br />

    <hr/>
    <script type="text/javascript"><!--
    google_ad_client = "pub-1458586455084261";
    google_ad_width = 160;
    google_ad_height = 600;
    google_ad_format = "160x600_as";
    google_ad_type = "text";
    google_ad_channel = "";
    //--></script>
    <script type="text/javascript"
      src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>
    <hr/>

    <a href="http://validator.w3.org/check/referer"><img
          src="http://www.w3.org/Icons/valid-xhtml10"
          alt="Valid XHTML 1.0!" height="31" width="88" /></a>
</div>

<div id="Content">

<h1>About <code>gpsd</code></h1>

<p><code>gpsd</code> is a service daemon that monitors one or more
GPSes attached to a host computer through serial or USB ports, making
all data on the location/course/velocity of the sensors available to
be queried on TCP port 2947 of the host computer.  With
<code>gpsd</code>, multiple GPS client applications (such as
navigational and wardriving software) can share access to GPSes
without contention or loss of data. Also, gpsd responds to queries
with a format that is substantially easier to parse than the NMEA 0183
emitted by most GPSes.  The <code>gpsd</code> distribution includes a
linkable C service library, a C++ wrapper class, and a Python module
that developers of <code>gpsd</code>-aware applications can use to
encapsulate all communication with <code>gpsd</code>.</para>

<p>Besides <code>gpsd</code> itself, the project provides
auxiliary tools for diagnostic monitoring and profiling of GPSes 
and feeding GPS-aware applications specified track data for 
diagnostic purposes.</p>

<p>The goal of the <code>gpsd</code> project is to create a solid
layer of open-source infrastructure for programs running under Linux
and other open-source Unixes that want to be location-sensitive. We
aim for simple, robust interfaces, unfussy operation, and an easy
learning curve for application developers.  Applications that
presently use <code>gpsd</code> include <a
href="http://www.pygps.org">pyGPS</a>, <a
href="http://www.kismetwireless.net/">Kismet</a>, <a
href="http://www.gpsdrive.cc/">GPSdrive</a>, <a
href="http://qpegps.sourceforge.net/">gpeGPS</a>, <a
href="http://www.gnustep.it/enrico/position/">position</a>
<a href="http://roadmap.digitalomaha.net/index.html">roadmap</a>,
and <a href="http://gaia.serezhkin.com/">gaia</a>.</p>

<p>Under Linux, <code>gpsd</code> normally runs with zero
configuration.  The RPM installs hotplug scripts that do the right
thing when a USB device goes active, launching <code>gpsd</code> if
needed and telling <code>gpsd</code> which device to read data from.
Then, <code>gpsd</code> deduces a baud rate and GPS type by looking at
the data stream.</p>

<p><code>gpsd</code> is high-quality, carefully-audited code.  It is regularly
checked with the standard mode of <a href='http://www.splint.org'>splint</a>,
audited with <a href='http://valgrind.org/'>Valgrind</a>,
and an extensive regression-test suite is used to check correct behavior
before each release.</p>

<p>No, we don't support Windows &mdash; get a better operating system.
Our main focus is open-source Unixes &mdash; Linux, and the *BSD
family.  Presently Linux and OpenBSD are directly supported.
We'll support proprietary Unixes and hybrids like Mac OS X if
it's not too much work (and it usually isn't).</p>

<p>If you represent a GPS manufacturer interested in qualifying your 
device for use with Linux and other open-source operating systems, 
we are your contact point.  We'll need (1) on-line access to interface
documentation, (2) a few (as in, no more than three) eval units. and (3)
an engineering contact at your firm.  For more, see our page
<a href='for-vendors.html'>welcoming vendor cooperation</a>.</p>

<p>See the <a href='faq.html'>FAQ</a> for information on how to report
bugs.</p>

<p>All advertising revenue from this site (on the optimistic
assumption that we ever see any!) will go to the project's fund for
buying <a href="wishlist.html"> test hardware and standards</a>.</p>

<h1 id='news'>News</h1>

<p>This web page was last updated on @DATE@.  You can browse the
project's <a href='CHANGES'>change log</a> or <a href='TODO'>to-do
list</a> here.</p>

<h1 id='downloads'>Downloads</h1>

<p>Look in the <a
href="http://developer.berlios.de/project/showfiles.php?group_id=2116">download</a>
directory for tarballs of all released versions. Access to the
bleeding-edge developer version is supported <a
href="http://developer.berlios.de/svn/?group_id=2116">via
Subversion</a>.  The main project page is <a
href='http://developer.berlios.de/projects/gpsd/'>here on berlios.de</a>.</p>

<h1 id='mailing-lists'>Mailing Lists</h1>

<p>There are four project mailing lists:</p>

<ul>
<li><a
href="http://lists.berlios.de/mailman/listinfo/gpsd-announce">gpsd-announce</a>
is for release announcements and project news.</li>
<li><a
href="http://lists.berlios.de/mailman/listinfo/gpsd-users">gpsd-users</a>
is for questions and technical support on <code>gpsd</code>, including support
for application builders using <code>gpsd</code> as a component.</li>

<li><a
href="http://lists.berlios.de/mailman/listinfo/gpsd-dev">gpsd-dev</a>
is for <code>gpsd</code> developers.</li>

<li><a
href="https://lists.berlios.de/mailman/listinfo/gpsd-commit-watch">gpsd-commit-watch</a>
sends automatic broadcast notifications of commits to the <code>gpsd</code>
repository.</li>

<li>We also have archives at <a href="http://marc.theaimsgroup.com">MARC</a>:
<a href="http://marc.theaimsgroup.com/?l=gpsd-users">gpsd-users</a>,
<a href="http://marc.theaimsgroup.com/?l=gpsd-dev">gpsd-dev</a> and 
<a href="http://marc.theaimsgroup.com/?l=gpsd-commit-watch">gpsd-commit-watch</a>.</li>
</ul>

<h1 id='documentation'>Documentation</h1>

<p>The following manual pages describe the code:</p>

<dl>
<dt><a href="gpsd.html">gpsd.1</a></dt>
<dd>The <code>gpsd</code> daemon.</dd>

<dt><a href="xgps.html">gps.1</a></dt>
<dd>The <code>gpsd</code> test clients.</dd>

<dt><a href="libgps.html">libgps.3</a></dt>
<dd>An interface library that manages communication with the daemon.</dd>

<dt><a href="libgpsmm.html">libgpsmm.3</a></dt>
<dd>C++ class wrapper for the libgps C binding.</dd>

<dt><a href="libgpsd.html">libgpsd.3</a></dt>
<dd>The low-level library used by <code>gpsd</code> to talk to a GPS.</dd>

<dt><a href="gpsprof.html">gpsprof.1</a></dt>
<dd>The <code>gpsprof</code> program for plotting spatial scatter of fixes
and fix latency.</dd>

<dt><a href="gpsfake.html">gpsfake.1</a></dt>
<dd>The <code>gpsfake</code> test harness simulating a GPS.</dd>

<dt><a href="gpsctl.html">gpsctl.1</a></dt>
<dd>The <code>gpsctl</code> tool for tweaking GPS settings.</dd>

<dt><a href="gpscat.html">gpscat.1</a></dt>
<dd>The <code>gpscat</code> tool dumps output from a serial device.</dd>

<dt><a href="sirfmon.html">sirfmon.1</a></dt>
<dd>The <code>sirfmon</code> packet monitor for SiRF GPSes.</dd>

<dt><a href="gpspipe.html">gpspipe.1</a></dt> <dd>A simple client that
captures GPS output and/or <code>gpsd</code> reports and sends it to
standard output.</dd>

<!--
<dt><a href="rtcmdecode.html">rtcmdecode.1</a></dt>
<dd>The <code>rtcmdecode</code> RTCM-104 decoder.</dd>

<dt><a href="gpsflash.html">gpsflash(1)</a></dt>
<dd>The <code>src</code> GPS firmware uploader..</dd>

<dt><a href="rtcm-104.html">rtcm-104.5</a></dt>
<dd>The <code>rtcmdecode</code> RTCM104 decoder dump format.</dd>

<dt><a href="srec.html">srec.5</a></dt>
<dd>The <code>src</code> Motorola S-record and file format.</dd>
-->
</dl>

<p>Also, see the <a href="faq.html">FAQ</a>.</p>

<p>We have a <a href='hardware.html'>list of compatible GPSses</a>
with some technical information.  We also have <a href='NMEA.txt'>a
list of NMEA sentences</a>.</p>

<p>There is a <a href="hacking.html">Hacker's Guide</a> to the project
philosophy, design, and code internals.  You should read this if you
want to contribute code.</p>

<p>We maintain a <a href="hall-of-shame.html">GPS Hall of Shame</a>
that describes particularly egregious vendor blunders.</p>

<h1 id='realtime'>Real Time</h1>

<p>Some of the developers hang out regularly on IRC at <a
href="irc://irc.freenode.net#gpsd">channel #gpsd at irc.freenode.net</a>.</p>

<p>Some GPSD data streams that you can look at are 
<a href="http://gpsd.rellim.com">http://gpsd.rellim.com</a>, 
<a href="http://gpsd.gritch.org">http://gpsd.gritch.org</a>,
and <a href="http://gpsd.mainframe.cx">http://gpsd.mainframe.cx</a>.  You can
also point our test clients at these hostnames to see what the clients
do, even if you don't yet have a local GPS.</p>

<h1 id='white_papers'>White Papers</h1>

<dl>
<dt><a href="gps-hacking.html">ESR's Guide to Hacking With GPS</a></dt>
<dd>If you are new to GPS technology and don't quite understand what
<code>gpsd</code> is about, you might find this interesting.</dd>

<dt><a href="replacing-nmea.html">Towards A Better GPS Protocol</a></dt>
<dd>An analysis of what's wrong with NMEA 0183, and a simple way to fix 
it.</dd>

<dt><a href="performance.html">Where's the Latency?  Performance analysis of GPSes and GPSD</a></dt>
<dd>An analysis of latency in the GPS/GPSD system. Has implications for the 
design of <code>gpsd</code> and vendor claims about binary protocols.</dd>

<dt><a href="writing-a-driver.html">Notes on Writing a GPSD Driver</a></dt>
<dd>A guide for the perplexed by the author of the Jupiter-T driver.</dd>

</dl>

<h1 id='recipes'>Recipes and related resources</h1>

<p><code>gpsd</code> also works with <a href="bt.html">bluetooth
GPS</a> receivers.</p>

<p>We supply a Gentoo Linux ebuild script in the source distribution.</p>

<p>You can find Debian-stable packages 
<a href='http://packages.debian.org/unstable/misc/gpsd'>here</a>.</p>

<p><code>gpsd</code> is carried in the OpenBSD ports tree.</p>

<p>There's a <a
href='http://gpsd.davisnetworks.com'>Wiki
page</a> devoted to gpsd helper applications.</p>

<p>The penguin-with-satellites logo is a hacked version of one I found
<a
href='http://www.gfz-potsdam.de/pb1/staff/gbeyerle/opengps/'>here</a>.
This project seems to be defunct, or at least the maintainer is not
responding to email.</p>

<h1 id='others'>Other GPSDs</h1>

<p>There used to be three Linux-based forks of <code>gpsd</code> in the
wild, but this GPSD project reabsorbed one and the other two are now
defunct for unrelated reasons.  You can read a brief <a
href="history.html">history</a> of the <code>gpsd</code> project if
you are curious.</p>

<p>There is a project called <a
href='http://www.mgix.com/gps3d/'>gps3d</a> that ships a gpsd with
similar goals to ours, but which appears to be an independent
development. There haven't been any releases since early 2002.</p>

<p>There is a <a href='http://www.crs4.it:8000/gpsweb/14'>GPSd</a>
project that is a GPS daemon written in Java and apparently intended
to provide location information for browsers.</p>

<p>There is a <code>gpsd</code>-like hack hosted under <a
href='http://www2.musatcha.com/musatcha/computers/software/gpsd/'>Microsoft
Windows</a>. It provides gpsd service from data in netstumbler under
win32.  This way programs such as <a
href='http://www.wigle.net'>JiGLE</a> can still get GPS data from
netstumbler. This program is not genetically related to
<code>gpsd</code>.</p>

<p>There is an interesting alpha-stage proposal called <a
href='http://www.gpster.net/locod.html'>locod</a> that aims to
integrate location information from GPSes and other sources.</p>

<p><a
href='http://users.hol.gr/~dzach/gpsfeed/index.html'>gpsfeed+</a> is a
program that simulates the output of a GPS in motion, and can be used
for testing GPS-aware applications.</p>

<p>We aren't Green Parrot Software Development, nor are we the
Greenville Public School District nor the Greater Peoria Sanitary
District, nor even the Greater Portland Soccer District, nor the Green
Party of San Diego, nor do we have anything to do with the General
Product Safety Directive, the the Guiding Principles of Sustainable
Design, nor the Glatt Plagiarism Self-Detection Program.</p>

<div style="text-align: center;">
<div style="text-align: left; margin: 1em auto; width: 50%;">
<script language=javascript type="text/javascript"
src="http://ss.webring.com/navbar?f=j;y=eric_s_raymond;u=defurl">
</script><noscript><table bgcolor=gray cellspacing=0
border=2><tr> <td><table cellpadding=2 cellspacing=0 border=0><tr><td
align=center> <font face=arial size=-1>This site is a member of
WebRing. <br>To browse visit <a
href="http://ss.webring.com/navbar?f=l;y=eric_s_raymond;u=defurl">
Here</a>.</font></td></tr></table></td></tr></table></noscript>
</div>
</div>

<div style="text-align: center;">
<div style="text-align: left; margin: 1em auto; width: 50%;">
<!-- SiteSearch Google -->
<form method="get" action="http://www.google.com/custom" target="_top">
<table border="0" bgcolor="#ffffff">
<tr><td nowrap="nowrap" valign="top" align="left" height="32">
<a href="http://www.google.com/">
<img src="http://www.google.com/logos/Logo_25wht.gif" border="0" alt="Google" align="middle"></img></a>
</td>
<td nowrap="nowrap">
<input type="hidden" name="domains" value="gpsd.berlios.de"></input>
<input type="text" name="q" size="31" maxlength="255" value=""></input>
<input type="submit" name="sa" value="Search"></input>
</td></tr>
<tr>
<td>&nbsp;</td>
<td nowrap="nowrap">
<table>
<tr>
<td>
<input type="radio" name="sitesearch" value="" checked="checked"></input>
<font size="-1" color="#000000">Web</font>
</td>
<td>
<input type="radio" name="sitesearch" value="gpsd.berlios.de"></input>
<font size="-1" color="#000000">gpsd.berlios.de</font>
</td>
</tr>
</table>
<input type="hidden" name="client" value="pub-1458586455084261"></input>
<input type="hidden" name="forid" value="1"></input>
<input type="hidden" name="ie" value="ISO-8859-1"></input>
<input type="hidden" name="oe" value="ISO-8859-1"></input>
<input type="hidden" name="flav" value="0000"></input>
<input type="hidden" name="sig" value="BCQudoNGuH3P6MJe"></input>
<input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1"></input>
<input type="hidden" name="hl" value="en"></input>
</td></tr></table>
</form>
<!-- SiteSearch Google -->
</div>
</div>

</div>
<hr/>
<script language="JavaScript" src="datestamp.js" type='text/javascript'></script>
</body>
</html>

<!--
Local Variables:
compile-command: "(make html; scp index.html shell.berlios.de:/home/groups/gpsd/htdocs)"
End:
-->