View source for Getting GPS console output with gllin
From Openmoko
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Return to Getting GPS console output with gllin.
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Return to Getting GPS console output with gllin.
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 (GPRMC and GPGGA) 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.
Below we discuss both messages, giving the real examples that were taken in surroundings of Zurich (official coordinates 47°22′N, 8°33′E with approximate elevation about 408 m) early morning (about 6:44 UTC), in the 8th of January 2008.
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,064459.00,A,4723.078551,N,00831.004788,E,000.0,000.0,080108,,,A*50
Where:
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.
This message does not tell the speed but it tells the number of satellites, estimates the quality and gives the altitude. 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
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 indoors may report:
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.
The trivial way to concentrate on one type of the GPS messages is to use grep which is installed in the phone:
cat /tmp/nmeaNP | grep GPRMC
From other interesting messages, device emits GPGSV (detailed information about satellites and where they are in the sky). See NMEA documenation for details.
The awk tool provides some more elegant parsing capabilities. For example, find your current location with
awk -F, '/\$GPGGA/ {print (substr($3,0,2) + (substr($3,3) / 60.0)) $4, (substr($5,0,3) + (substr($5,4) / 60.0)) $6}' /tmp/nmeaNP