Getting GPS console output with gllin

From Openmoko

(Difference between revisions)
Jump to: navigation, search
Line 11: Line 11:
 
  (and so on).  
 
  (and so on).  
  
The data are presented in [http://gpsinformation.org/dale/nmea.htm NMEA format] which gives a lot of data. The coordinates themselves are reported with the two messages that are described below. Both messages occur in the normal output (also in conditions when the the device does not see any satellites and cannot give actually report the coordinates).
+
The data are presented in [http://gpsinformation.org/dale/nmea.htm NMEA format] which gives a lot of data. The coordinates themselves are reported with the two messages that are described below. Both messages occur in the normal output (also in conditions when the the device does not see any satellites and cannot give actually report the coordinates). They consist of multiple comma separated fields. Even numeric fields like coordinates under some circumstances are empty. Empty fields are easy to recognize because commas are included anyway.
  
== GPRMC ==
+
== GPRMC message ==
 
GPRMC tels the latitude, longitude, speed, time and date. Hence the proper signal could also be used to set up the clock. If the device can see the satellites, the message looks like
 
GPRMC tels the latitude, longitude, speed, time and date. Hence the proper signal could also be used to set up the clock. If the device can see the satellites, the message looks like
  
Line 34: Line 34:
 
In this case it is necessary to go to the more open place. It may take several minutes before device reports the correct location.
 
In this case it is necessary to go to the more open place. It may take several minutes before device reports the correct location.
  
 +
== GPGGA message ==
 +
This message does not tell the speed but it tells the number of satellites, estimates the quality and gives the latitude. The message looks like
 +
$GPGGA,133515,4407.048,N,01131.000,E,1,07,0.9,544.4,M,44.4,M,,*47
 +
 +
*133515      Fix taken at 13:35:15 UTC
 +
*4407.048,N  Latitude 44 deg 07.048' N
 +
*01431.400,E  Longitude 14 deg 31.040' E
 +
*1            Fix quality: 0 = invalid, 1 = GPS fix (SPS),                              2 = DGPS fix, 3 = PPS fix, 4 = Real Time Kinematic, 5 = Float RTK,                              6 = estimated, 7 = manual input, 8 = simulation mode
 +
*07          Number of satellites being tracked
 +
*0.8          Horizontal dilution of position
 +
*544.4,M      Altitude, Meters, above mean sea level
 +
* 44.4,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
 +
* '''<nowiki>*</nowiki>47 the checksum, always begins with *
 +
 +
If the device cannot see the satellites properly it reports the zero quality. The number of satellites can also be checked. For instance, the device on the writers desk (indoors) is currently reporting a rather sad story:
 +
 +
GPGGA,120213.58,,,,,00,00,1.0,,M,0.0001999,M,0.0020599,*56
 +
 +
Which means that the UTM time is 12:02:13.58 (correct), the quality is 0 and 0 satellites can be seen. This explains why the coordinate fields are empty.
 
[[Category:GPS]]
 
[[Category:GPS]]

Revision as of 14:16, 12 January 2008

This article describes the "quick start" procedure allowing to see the first output and actually use the GPS device in the command line mode, using the gllin driver.

After you download, scp and install the gllin_1.0+r350-r0_fic-gta01.ipk (or similar), it creates the folder 'gllin' in the root home. This folder contains the executable with the same name which starts the driver.

To get the output of this driver, read the file /tmp/nmeaNP (it is actually a pipe, not a file). The simplest way is to open another ssh connection to the phone and use cat:

cat /tmp/nmeaNP

Type cat after you start the gllin, not before. The output from the GPS driver looks like

$GPRMC,235946.99,V,,,,,,,120180,,,N*78
$GPGSA,A,1,,,,,,,,,,,,,11.2,5.0,10.0*36
$GPGGA,235946.99,,,,,00,00,5.0,,M,0.0001999,M,0.0020199,*57
(and so on). 

The data are presented in NMEA format which gives a lot of data. The coordinates themselves are reported with the two messages that are described below. Both messages occur in the normal output (also in conditions when the the device does not see any satellites and cannot give actually report the coordinates). They consist of multiple comma separated fields. Even numeric fields like coordinates under some circumstances are empty. Empty fields are easy to recognize because commas are included anyway.

GPRMC message

GPRMC tels the latitude, longitude, speed, time and date. Hence the proper signal could also be used to set up the clock. If the device can see the satellites, the message looks like

$GPRMC,143812,A,4301.028,N,01232.000,E,020.0,083.4,240307,003.2,W*6A

Where:

  • 143812 Fix taken at 14:38:12 UTC
  • A A for the normal (active) message or V for the void message. Void messages are described below.
  • 4301.028,N Latitude 43 deg 01.028' N
  • 01232.000,E Longitude 12 deg 32.000' E
  • 020.0 Ground speed in knots
  • 083.4 Track angle in degrees True
  • 240307 Date - 24rd of March 2007
  • 003.2,W Magnetic variation
  • *6A The checksum, begins with *

If the device cannot see the satellites properly (it usually does not work indoors unless very close to the window), it puts 'V' (void) at the output. In this case the GPRMC messages look like

GPRMC,114031.52,V,,,,,,,120108,,,N*76

In this case it is necessary to go to the more open place. It may take several minutes before device reports the correct location.

GPGGA message

This message does not tell the speed but it tells the number of satellites, estimates the quality and gives the latitude. The message looks like

$GPGGA,133515,4407.048,N,01131.000,E,1,07,0.9,544.4,M,44.4,M,,*47
  • 133515 Fix taken at 13:35:15 UTC
  • 4407.048,N Latitude 44 deg 07.048' N
  • 01431.400,E Longitude 14 deg 31.040' E
  • 1 Fix quality: 0 = invalid, 1 = GPS fix (SPS), 2 = DGPS fix, 3 = PPS fix, 4 = Real Time Kinematic, 5 = Float RTK, 6 = estimated, 7 = manual input, 8 = simulation mode
  • 07 Number of satellites being tracked
  • 0.8 Horizontal dilution of position
  • 544.4,M Altitude, Meters, above mean sea level
  • 44.4,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
  • *47 the checksum, always begins with *

If the device cannot see the satellites properly it reports the zero quality. The number of satellites can also be checked. For instance, the device on the writers desk (indoors) is currently reporting a rather sad story:

GPGGA,120213.58,,,,,00,00,1.0,,M,0.0001999,M,0.0020599,*56

Which means that the UTM time is 12:02:13.58 (correct), the quality is 0 and 0 satellites can be seen. This explains why the coordinate fields are empty.

Personal tools

This article describes the "quick start" procedure allowing to see the first output and actually use the GPS device in the command line mode, using the gllin driver.

After you download, scp and install the gllin_1.0+r350-r0_fic-gta01.ipk (or similar), it creates the folder 'gllin' in the root home. This folder contains the executable with the same name which starts the driver.

To get the output of this driver, read the file /tmp/nmeaNP (it is actually a pipe, not a file). The simplest way is to open another ssh connection to the phone and use cat:

cat /tmp/nmeaNP

Type cat after you start the gllin, not before. The output from the GPS driver looks like

$GPRMC,235946.99,V,,,,,,,120180,,,N*78
$GPGSA,A,1,,,,,,,,,,,,,11.2,5.0,10.0*36
$GPGGA,235946.99,,,,,00,00,5.0,,M,0.0001999,M,0.0020199,*57
(and so on). 

The data are presented in NMEA format which gives a lot of data. The coordinates themselves are reported with the two messages that are described below. Both messages occur in the normal output (also in conditions when the the device does not see any satellites and cannot give actually report the coordinates).

GPRMC

GPRMC tels the latitude, longitude, speed, time and date. Hence the proper signal could also be used to set up the clock. If the device can see the satellites, the message looks like

$GPRMC,143812,A,4301.028,N,01232.000,E,020.0,083.4,240307,003.2,W*6A

Where:

  • 143812 Fix taken at 14:38:12 UTC
  • A A for the normal (active) message or V for the void message. Void messages are described below.
  • 4301.028,N Latitude 43 deg 01.028' N
  • 01232.000,E Longitude 12 deg 32.000' E
  • 020.0 Ground speed in knots
  • 083.4 Track angle in degrees True
  • 240307 Date - 24rd of March 2007
  • 003.2,W Magnetic variation
  • *6A The checksum, begins with *

If the device cannot see the satellites properly (it usually does not work indoors unless very close to the window), it puts 'V' (void) at the output. In this case the GPRMC messages look like

GPRMC,114031.52,V,,,,,,,120108,,,N*76

In this case it is necessary to go to the more open place. It may take several minutes before device reports the correct location.