Gpsd is a daemon for Unix platforms compatible with a large number of GNSS receivers. Learn more about gpsd on the official website at http://www.catb.org/gpsd/.
On Ubuntu gpsd can be installed via APT as follows: sudo apt-get install gpsd gpsd-clients
.
Once gpsd is installed, it needs to be configured to listen the correct port. A simpler way to make gpsd listen the right port is just to restart the daemon with correct arguments:
killall -INT gpsd
gpsd /dev/ttyACM0
On most GNU/Linux systems, instead of directly specifying the TTY device such as /dev/ttyACM0
, it is possible to use the persistent symlinks defined in the dev filesystem in /dev/serial/by-id/
. These symlinks allow the user to refer directly to the device using its vendor name, product name, and (optionally) unique ID, which is more convenient because unlike TTY numbers these parameters are persistent.
For example, /dev/ttyACM0
in the example above could be replaced with /dev/serial/by-id/usb-Zubax_Robotics_Zubax_GNSS_34FFD305435730343944224300000000-if00
(the unique ID of your specific Zubax GNSS will be different), or just /dev/serial/by-id/usb-Zubax_Robotics_Zubax_GNSS*
to refer to any connected Zubax GNSS regardless of its unique ID.
$ ls -l /dev/serial/by-id/
total 0
lrwxrwxrwx 1 root root 13 Dec 14 15:50 usb-Zubax_Robotics_Zubax_GNSS_34FFD305435730343944224300000000-if00 -> ../../ttyACM0
Check out this article too:
Using USB devices with GNU/Linux
Once gpsd is up and running, you can check its configuration with commands like gpsmon
and xgps
.
Monitoring gpsd using the gpsmon utility
$ gpsmon
┌──────────────────────────────────────────────────────────────────────────────┐
│Time: 2015-12-14T14:47:41.870Z Lat: 00 36' 15.522" N Lon: 00 42' 56.250" E │
└───────────────────────────────── Cooked PVT ─────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────────────────┐
│ GPGSA HCHDG GPRMC GPGGA GPGSV │
└───────────────────────────────── Sentences ──────────────────────────────────┘
┌──────────────────┐┌────────────────────────────┐┌────────────────────────────┐
│Ch PRN Az El S/N ││Time: 144741.87 ││Time: 144741.87 │
│ 0 2 294 24 16 ││Latitude: 0036.25871 N ││Latitude: 0036.25871 │
│ 1 3 153 10 23 ││Longitude: 00042.93750 E ││Longitude: 00042.93750 │
│ 2 7 216 42 27 ││Speed: 0.324 ││Altitude: 264.388 │
│ 3 9 267 82 33 ││Course: 272.7 ││Quality: 1 Sats: 07 │
│ 4 16 75 38 19 ││Status: A FAA: ││HDOP: 1.29 │
│ 5 23 102 57 22 ││MagVar: ││Geoid: 13.2 │
│ 6 26 45 25 13 │└─────────── RMC ────────────┘└─────────── GGA ────────────┘
│ 7 30 222 11 22 │┌────────────────────────────┐┌────────────────────────────┐
│ 8 4 136 49 27 ││Mode: A 3 ││UTC: RMS: │
│ 9 14 66 69 18 ││Sats: 3 7 9 16 23 26 30 4 ││MAJ: MIN: │
│10 14 66 69 19 ││DOP: H=1.29 V=1.37 P=1.88 ││ORI: LAT: │
│11 │└─────────── GSA ────────────┘│LON: ALT: │
└────── GSV ───────┘ └─────────── GST ────────────┘
xgps utility can be used to monitor gpsd