• Install GPSD
    $ sudo apt-get install gpsd gpsd-clients
  • Install foxtrotgps (X11 for a Graphical View)
    $ sudo apt-get install foxtrotgps

Configure gpsd

  • Run:
    $ sudo dpkg-reconfigure gpsd
  • Configure as follows:

Set NO to start automatically.

Should gpsd handle attached USB GPS receivers automatically? Set YES here.

Set the USB Serial port of the GPS. Common is /dev/ttyACM0

GPSD Options.. Leave BLANK
If it doesn't work, ā€œ-D 5 -B -nā€ option might need to be added. cappers2's comment

GPSD Control socket. Leave it as it is.. /var/run/gpsd.sock

  • Reboot the board now.

If you can't set the gps node, you should add gps node to end of each command.

  • example
    $ sudo gpsmon /dev/ttyACM0

Using the GPS

Method 1: Console Graphical

  • You can use
    $ cgps -s

    It will show a nice interface with all the relative GPS Data

  • Or You can use
    $ gpsmon

Method 2: Console Text (Python)

  • Run:
    $ sudo apt-get install python-gps
testgps.py
import gps
 
# Listen on port 2947 (gpsd) of localhost
session = gps.gps("localhost", "2947")
session.stream(gps.WATCH_ENABLE | gps.WATCH_NEWSTYLE)
 
while True:
    try:
    	report = session.next()
		# Wait for a 'TPV' report and display the current time
		# To see all report data, uncomment the line below
		# print report
        if report['class'] == 'TPV':
                print report.time
    except KeyError:
		pass
    except KeyboardInterrupt:
		quit()
    except StopIteration:
		session = None
		print "GPSD has terminated"

Method 3: X11 FoxtrotGPS

  • Just open a terminal and run:
    $ foxtrotgps
  • or Menu ā†’ Accessories ā†’ FoxtrotGPS