Difference between revisions of "GPS daemon"
m (→Usage) |
(→Usage) |
||
| Line 22: | Line 22: | ||
==Usage== | ==Usage== | ||
| − | * gpsd is automatically launched at startup by ''/etc/init.d/S50gpsd''. At first startup you may need to add the following line in the start() method of this script: | + | * ''gpsd'' is automatically launched at startup by ''/etc/init.d/S50gpsd''. At first startup you may need to add the following line in the start() method of this script: |
<pre class="apf"> | <pre class="apf"> | ||
# nano /etc/init.d/S50gpsd | # nano /etc/init.d/S50gpsd | ||
| Line 33: | Line 33: | ||
} | } | ||
</pre> | </pre> | ||
| + | |||
| + | ===Manual access=== | ||
| + | * ''gpsd'' is a daemon running in background and waiting for client to connect to its TCP port 2947. To check it is well running, you can connect to it with telnet: | ||
| + | <pre class="apf"> | ||
| + | # telnet localhost 2947 | ||
| + | </pre> | ||
| + | * then you can give it some commands (more infos [http://gpsd.berlios.de/gpsd.html here]): | ||
| + | <pre class="apf"> | ||
| + | ?VERSION; | ||
| + | {"class":"VERSION","release":"2.94","rev":"2010-06-09T13:27:04","proto_major":3,"proto_minor":2} | ||
| + | |||
| + | ?DEVICES; | ||
| + | {"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/ttySMX4","activated":1276183248.47,"flags":1,"driver":"Generic NMEA","native":0,"bps":0,"parity":"N","stopbits":1,"cycle":1.00}]} | ||
| + | |||
| + | ?POLL; | ||
| + | {"class":"POLL","timestamp":1276183453.266,"active":1,"fixes":[{"class":"TPV","tag":"GLL","device":"/dev/ttySMX4","time":1276176096.000,"ept":0.005,"lat":47.239685500,"lon":6.019204667,"alt":268.100,... | ||
| + | </pre> | ||
| + | |||
| + | ===Graphical clients=== | ||
| + | * cgps (ncurses based), installed by default: | ||
| + | <pre class="apf"> | ||
| + | # cgps | ||
| + | ┌───────────────────────────────────────────┐┌─────────────────────────────────┐ | ||
| + | │ Time: 2010-06-10T13:41:26.0Z ││PRN: Elev: Azim: SNR: Used: │ | ||
| + | │ Latitude: 47.238710 N ││ 8 07 079 00 N │ | ||
| + | │ Longitude: 6.018278 E ││ 9 47 282 29 Y │ | ||
| + | │ Altitude: 1055.4 ft ││ 12 10 216 00 N │ | ||
| + | │ Speed: 0.7 mph ││ 15 79 194 39 Y │ | ||
| + | │ Heading: 265.5 deg (true) ││ 17 00 000 22 N │ | ||
| + | │ Climb: 0.0 ft/min ││ 18 00 000 22 N │ | ||
| + | │ Status: 3D FIX (43 secs) ││ 26 84 265 25 Y │ | ||
| + | │ GPS Type: Generic NMEA ││ 27 61 291 33 Y │ | ||
| + | │ Horizontal Err: +/- 83 ft ││ │ | ||
| + | │ Vertical Err: +/- 75 ft ││ │ | ||
| + | │ Course Err: n/a ││ │ | ||
| + | │ Speed Err: +/- 114 mph ││ │ | ||
| + | │ ││ │ | ||
| + | │ ││ │ | ||
| + | │ ││ │ | ||
| + | │ ││ │ | ||
| + | │ ││ │ | ||
| + | │ ││ │ | ||
| + | └───────────────────────────────────────────┘└─────────────────────────────────┘ | ||
| + | </pre> | ||
| + | |||
| + | * Navit, etc.... | ||
==Links== | ==Links== | ||
* [http://gpsd.berlios.de/ gpsd website] | * [http://gpsd.berlios.de/ gpsd website] | ||
Revision as of 14:43, 10 June 2010
About
From gpsd website: gpsd is a service daemon that monitors one or more GPSes or AIS receivers 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 gpsd, multiple location-aware client applications (such as navigational and wardriving software) can share access to receivers 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 gpsd distribution includes a linkable C service library, a C++ wrapper class, and a Python module that developers of gpsd-aware applications can use to encapsulate all communication with gpsd.
Installation
$ make menuconfig
Package Selection for the target --->
Hardware handling / blockdevices and filesystem maintenance --->
[*] gpsd
devices/protocol support --->
gpsd features --->
- Let default devices/features if you don't know what they mean.
$ make
- reflash your rootfs
Usage
- gpsd is automatically launched at startup by /etc/init.d/S50gpsd. At first startup you may need to add the following line in the start() method of this script:
# nano /etc/init.d/S50gpsd
start() {
stty -F /dev/ttySMX4 raw -echo -echoe -echok 38400 <<<<<<<<<<<<--------------
echo -n "Starting $NAME: "
start-stop-daemon -S -q -p $PIDFILE --exec $DAEMON -- -P $PIDFILE $DEVICES && echo "OK" || echo "Failed"
}
Manual access
- gpsd is a daemon running in background and waiting for client to connect to its TCP port 2947. To check it is well running, you can connect to it with telnet:
# telnet localhost 2947
- then you can give it some commands (more infos here):
?VERSION;
{"class":"VERSION","release":"2.94","rev":"2010-06-09T13:27:04","proto_major":3,"proto_minor":2}
?DEVICES;
{"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/ttySMX4","activated":1276183248.47,"flags":1,"driver":"Generic NMEA","native":0,"bps":0,"parity":"N","stopbits":1,"cycle":1.00}]}
?POLL;
{"class":"POLL","timestamp":1276183453.266,"active":1,"fixes":[{"class":"TPV","tag":"GLL","device":"/dev/ttySMX4","time":1276176096.000,"ept":0.005,"lat":47.239685500,"lon":6.019204667,"alt":268.100,...
Graphical clients
- cgps (ncurses based), installed by default:
# cgps ┌───────────────────────────────────────────┐┌─────────────────────────────────┐ │ Time: 2010-06-10T13:41:26.0Z ││PRN: Elev: Azim: SNR: Used: │ │ Latitude: 47.238710 N ││ 8 07 079 00 N │ │ Longitude: 6.018278 E ││ 9 47 282 29 Y │ │ Altitude: 1055.4 ft ││ 12 10 216 00 N │ │ Speed: 0.7 mph ││ 15 79 194 39 Y │ │ Heading: 265.5 deg (true) ││ 17 00 000 22 N │ │ Climb: 0.0 ft/min ││ 18 00 000 22 N │ │ Status: 3D FIX (43 secs) ││ 26 84 265 25 Y │ │ GPS Type: Generic NMEA ││ 27 61 291 33 Y │ │ Horizontal Err: +/- 83 ft ││ │ │ Vertical Err: +/- 75 ft ││ │ │ Course Err: n/a ││ │ │ Speed Err: +/- 114 mph ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ └───────────────────────────────────────────┘└─────────────────────────────────┘
- Navit, etc....