Learning GPS Parsing via Bike Rides

Posted on Jan 20, 2011 in FI-AUAV, Projects | 0 comments

Learning GPS Parsing via Bike Rides

During the summer months of 2010, I decided to better understand interfacing with GPS data by creating some simple experiments to actually see how GPS’s work, and how I can use them in my projects.

GPS NMEA Syntax

NMEA 0183 (or NMEA for short) is a combined electrical and data specification for communication between marine electronic devices such as echo sounder, sonars, anemometer, gyrocompass,autopilot, GPS receivers and many other types of instruments. It has been defined by, and is controlled by, the U.S.-based National Marine Electronics Association.

As an example, a waypoint arrival alarm has the form:

$GPAAM,A,A,0.10,N,WPTNME*32

where:

GP Talker ID (GP for a GPS unit, GL for a GLONASS)
AAM Arrival alarm
A Arrival circle entered
A Perpendicular passed
0.10 Circle radius
N Nautical miles
WPTNME Waypoint name
*32 Checksum data

 

With the syntax of the NMEA understood, I could better parse the data and make it into a more human readable form. After I had written a simple Arduino sketch to test this, I decided to test it on a drive across Southwestern Ontario. Here is an example of the human readable data.

type     time     latitude     longitude      speed (km/h)      course

T 2009-08-01 15:47:04.949 43.6538817 -79.4253933 4.1 255.4
T 2009-08-01 15:47:05.948 43.6539333 -79.4254717 5.3 263.2
T 2009-08-01 15:47:06.951 43.6539367 -79.4254733 3.6 246.2
T 2009-08-01 15:47:07.948 43.6539067 -79.4256150 5.0 254.8
T 2009-08-01 15:47:08.951 43.6539217 -79.4255083 5.3 256.2
T 2009-08-01 15:47:09.951 43.6539000 -79.4254350 7.8 253.8

And here is a screen capture of the data plotted in Google Earth.

GPS Data Test Perspective

Leave a Comment