Getting GPS console output with gllin

From Openmoko

Revision as of 15:51, 12 January 2008 by AudriusA (Talk | contribs)

Jump to: navigation, search

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.

P.S. The checksums in the examples below are not correct as the results are "forged" remembering the working output outside the building.

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 altitude. For instance, in surroundings of Zurich (official coordinates 47°22′N, 8°33′E with approximate elevation about 408 m), the message looks like

GPGGA,064458.00,4723.078480,N,00831.004426,E,1,06,1.0,464.0,M,0.271000,M,0.0100505,*42

Here

  • 064458.00 Current time is 06:44:54 UTC (the test was done early morning)
  • 4723.078480,N Latitude 47 degrees 23.078480 seconds North
  • 00831.004426 Longitude 8 deg 31.004426 seconds East
  • 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
  • 06 Number of satellites being tracked (six are seen)
  • 1.0 Horizontal dilution of position
  • 464.0,M Altitude (in meters) above mean sea level.
  • 0.271000, M Height of geoid (mean sea level) above WGS84 ellipsoid
  • 0.0100505 time in seconds since last DGPS update
  • Following the spec, next should go the DGPS station ID number but seems missing.
  • *42 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 no any 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). 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.

P.S. The checksums in the examples below are not correct as the results are "forged" remembering the working output outside the building.

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 altitude. For instance, in surroundings of Zurich (official coordinates 47°22′N, 8°33′E with approximate elevation about 408 m), the message looks like

GPGGA,064458.00,4723.078480,N,00831.004426,E,1,06,1.0,464.0,M,0.271000,M,0.0100505,*42

Here

  • 064458.00 Current time is 06:44:54 UTC (the test was done early morning)
  • 4723.078480,N Latitude 47 degrees 23.078480 seconds North
  • 00831.004426 Longitude 8 deg 31.004426 seconds East
  • 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
  • 06 Number of satellites being tracked (six are seen)
  • 1.0 Horizontal dilution of position
  • 464.0,M Altitude (in meters) above mean sea level.
  • 0.271000, M Height of geoid (mean sea level) above WGS84 ellipsoid
  • 0.0100505 time in seconds since last DGPS update
  • Following the spec, next should go the DGPS station ID number but seems missing.
  • *42 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 no any satellites can be seen. This explains why the coordinate fields are empty.