APRS Article 6
May-June 2000
NMEA-0183
Data Formats
By
Jeff Robbins
VE3JTR (Voice Call)
VA3JTR (APRS Call)
EMAIL: va3jtr@rac.ca
WEB: http://www.qsl.net/va3jtr
Hello again APRS hams! When I first began this column, my intention was to try to give you, the reader, a broad knowledge of APRS, without drowning you in technical information. I felt it would be better to give you an idea of what APRS was, before trying to tell you how it works. I quickly discovered that the hardest part of writing the earlier articles was choosing what detailed information to include, and what to leave for you to discover on your own. However, now that this column is a regular item in The Canadian Amateur, I can now take the time to go into some more detail and provide you with more technical information.
One of the items I find interesting is the NMEA-0183 Data Sentences that your properly equipped GPS sends to your TNC. APRS recognizes those strings that conform to the Version 2.0 specifications for NMEA-0183. NMEA stands for National Marine Electronics Association, which is an organization consisting of manufacturers, distributors, dealers, educational institutions, and others having peripheral marine electronics interests. These sentences contain various combinations of latitude, longitude, altitude, speed and bearing. There is also a lot more information stuffed in there, too. Let’s take a closer look at the most common NMEA sentences used, and perhaps you can see why they were chosen, and maybe even see some more uses in future APRS applications. The following five NMEA sentences have been identified by the APRS Protocol Working Group as the minimum that any APRS like program should be able to interpret and display. Incidentally, the APRS working group consists of: John Ackermann, N8UR, Administrative Chair; Bob Bruninga, WB4APR, Technical Chair, author of APRS; Steve Dimse, K4HG, author of javAPRS, APRServe, XMLServe; Brent Hildebrand, KH2Z, author of APRS+SA; Stan Horpeza, WA1LOU, Secretary; Greg Jones, WD5IVD, representing TAPR; Mike Musick, N0QBF, author of pocketAPRS; Keith Sproul, WU2Z, co-author of WinAPRS, MacAPRS, X-APRS; and Mark Sproul, KB2ICI, also co-author of WinAPRS, MacAPRS, X-APRS. The APRS Working Group has collaborated in writing the APRS Protocol Version 1.0, which is essentially a technical document describing how APRS works. A link is available on my website where you can download the latest version.
GGA
- Global Positioning System Fix Data
GGA,123519,4807.038,N,01131.324,E,1,08,0.9,545.4,M,46.9,M,
, *42
123519 Fix taken at 12:35:19 UTC
4807.038,N Latitude 48 deg 07.038' N
01131.324,E Longitude 11 deg 31.324' E
1 Fix quality: 0 = invalid
1 = GPS fix
2 = DGPS fix
08 Number of satellites being tracked
0.9 Horizontal dilution of position
545.4,M Altitude, Metres, above mean sea level
46.9,M Height of geoid (mean sea level) above WGS84
ellipsoid
(empty field) Time in seconds since last DGPS
update
(empty field) DGPS station ID number
*42 Checksum
The GGA sentence starts with a UTC time of the last GPS fix, followed by the latitude and longitude of the GPS. The next item is fix quality, and then the number of satellites used to calculate the position. Horizontal dilution is followed by the altitude above sea level, which is followed by the height of sea level against a fixed target. The next two fields are used only when a DGPS receiver is tied into the GPS, and finally a checksum. I use this sentence in my tracker.
GLL
- Geographic position, Latitude and Longitude
GLL,4916.45,N,12311.12,W,225444,A
4916.46,N Latitude 49 deg. 16.45 min. North
12311.12,W Longitude 123 deg. 11.12 min. West
225444 Fix taken at 22:54:44 UTC
A Data valid
The GLL sentence contains the bare minimum position information. Latitude and longitude fields, followed by a time stamp and a valid data flag. Note: The Garmin 65 does not include the time and status in this sentence. As you can see, this sentence takes up very little RF real estate. I don’t use this sentence as the GGA provides more information, but it is a larger packet. If you live in a congested APRS neighborhood, this sentence would be a better choice as the packet would probably be noticeably shorter.
RMC
- Recommended minimum specific GPS/Transit data
RMC,123519,A,4916.45,N,12311.12,W,000.5,054.7,230900,020.3,E*68
123519 Time of fix 12:35:19 UTC
A Navigation receiver warning A = OK, V =
warning
4916.45,N Latitude 49 deg. 16.45 min North
12311.12,W Longitude 123 deg. 11.12 min West
000.5 Speed over ground, Knots
054.7 Course Made Good, True
230900 Date of fix
23 September 2000
020.3,E Magnetic variation 20.3 deg East
*68 Mandatory checksum
I find that the RMC sentence is the best choice for mobile tracker operation, it contains both position and velocity information. The time is first, followed by a receiver status, and then the latitude and longitude. The speed in knots follows, then the bearing. Finally the date is reported, then a correction accounting for magnetic north. Last is the checksum. This is probably the most widely used sentence, as a GPS receiver is usually used for mobile (ie: moving) trackers. I use this sentence as well in my tracker.
VTG
- Track made good and ground speed
VTG,054.7,T,034.4,M,005.5,N,010.2,K
054.7,T True track made good
034.4,M Magnetic track made good
005.5,N Ground speed, knots
010.2,K Ground speed, Kilometers per hour
The VTG sentence can be used in conjunction with the GLL. This sentence doesn’t contain any position information at all. It simply contains two fields containing bearing information, followed by two fields of speed information. Using the sentence alone doesn’t make much sense without an accompanying position sentence, but contains more velocity information than the combined RMC sentence.
WPL
- Waypoint Location
WPL,4917.16,N,12310.64,W,003*65
4917.16,N Latitude of waypoint
12310.64,W Longitude of waypoint
003 Waypoint ID
While I haven’t tried using the WPL sentence yet, and I am not even sure my TNC would recognize it, however, I can imagine how it might be used. Now I am theorizing here, but if you could setup your TNC to recognize and transmit this sentence, you could than create waypoints directly on your GPS, and they might be captured and transmitted into the APRS network, and displayed on everyone’s computer screen. How would this be useful? Let’s say you are travelling on the roads, maybe you are in a car rally. As you reach each important location in your rally, you could save your current location on your GPS as a new waypoint. That waypoint would be transmitted out into APRS land, for validation by your rally organizers. How about that! Maybe we have a new club activity in the works here: an APRS Car Rally. Hmmm…
Is there anything you want to see in a future column? Be sure to drop me a line via email or APRS and I will see what I can do. Also remember, I want to hear about how you are using APRS in your community or public service events, I will be happy to share your experiences in this forum. Until next time, I’ll be seeing you On The Map With APRS!