TangoGPS

From Openmoko

Revision as of 17:10, 30 November 2008 by Ficik (Talk | contribs)

Jump to: navigation, search

tangoGPS is one of the applications that runs on the Openmoko Phones. For a list of all applications, visit Applications

Contents


tangoGPS is a map application which can utilize Neo's built-in GPS to show your current location.

TangoGPS1.jpg

Website: http://www.tangogps.org

Running tangoGPS on Om 2008.8

From the freerunner connected to the internet:

opkg install gpsd
NOTE: I experienced hangups if gpsd was not installed.


opkg install http://www.tangogps.org/downloads/tangogps_0.9.3-r1_armv4t.ipk

If opkg complains about not being able to acquire a lock, try:

pkill packagekit

To get gpsd working on the FreeRunner you have to change the configuration according to Gpsd#GPS_on_GTA02. Then start gpsd by:

/etc/init.d/gpsd start

If you get an error about no GPS device in /etc/default/gpsd execute:

echo "GPS_DEV=\"/dev/ttySAC1\"" > /etc/default/gpsd

Now you must power up the GPS-chip by opening the "Settings" application and setting the GPS entry to "on". Now you can run tangoGPS and wait until it get's a GPS fix. This can take up to a few minutes.

Running tangoGPS on debian

tangogps is a very nice GPS mapping application. The latest version is available in Debian.

It depends on gpsd which conflicts with frameworkd in fso-frameworkd, but there is a package available that provides the gpsd interface to clients while using the services of the FSO frameworkd daemon, fso-gpsd. To install tangogps run

  1. apt-get install fso-gpsd tangogps

To turn the gps on, you have two options. You can start the gps application in Zhone, this will turn on the gps device for you or you can manually turn on the gps device using

  1. echo 1 >/sys/devices/platform/s3c2440-i2c/i2c-adapter/i2c-0/0-0073/neo1973-pm-gps.0/pwron

Now you should be able to start tangoGPS from the X-mouse start menu (must have XFCE installed) : Start > other > GPS & Map

Issues:

  • Both gpsd and the framework publish GPS data through dbus, though with different interfaces. This suggests a number of possible solutions.
    • gpsd or the framework could implement the other's interface (along with their own).
    • a translator could read one interface and emulate the other. This is what fso-gpsd does.
    • the framework could have an option to read data from gpsd.
    • ogpsd/gypsy could be extended to be backwards compatible with the majority of gps applications.

Running tangoGPS on FSO Milestone 3 (OpenmokoFramework)

There are two various GPS interfaces -- (1) one provided with default gpsd and (2) the other provided by ogpsd (part of the frameworkd). tangoGPS requires the ad 1 and it obtains information from gps from the dbus interface provided by gpsd.

On FSO milestone 3, there is tangoGPS pre-installed as well as both gpsd and ogpsd (see /etc/frameworkd.conf, section ogpsd). As mentioned above, there also exists a fso-gpsd package, that converts from ad 2 to ad 1 (unfortunately fso-gpsd is not in default image and must be installed with opkg install fso-gpsd).

You cannot have both "providers" (ad 1 & ad 2) running, but you can have ad 2 (recommended for FSO) and "convertor" (fso-gpsd) providing the ad 1. To get usable tangoGPS on FreeRunner, one has to:

  1. check that /etc/frameworkd.conf, section ogpsd reads GPS data from the right device (/dev/ttySAC1)
  2. if changes were made to configuration, one should restart the frameworkd -- /etc/init.d/frameworkd stop && /etc/init.d/frameworkd start
  3. check that gpsd is not running -- /etc/init.d/gpsd stop
  4. check that fso-gpsd is installed and running -- opkg install fso-gpsd; fso-gpsd
  5. check that gps chip is online (echo 1 > /sys/devices/platform/s3c2440-i2c/i2c-adapter/i2c-0/0-0073/neo1973-pm-gps.0/pwron)
  6. finally start up the tangoGPS and locate the gps signal; it should be up in a few minutes.

Note 1: handy application for testing the gps (and gps signal strength) is openmoko-agpsui, see general gps info at Gps

Note 2: You can automate the process -- (1) remove the startup script for gpsd (update-rc.d -f gpsd remove) and (2) create a simple startup scipt for fso-gpsd (you can use current script for gpsd as a skeleton)

Downloading Maps for offline use

tangoGPS can bunch-download the map images so you don't need an internet connection while walking around. By default tangoGPS stores downloaded maps to /tmp/. This folder is lost every time you reboo the device. But you can use the "Config" tab within tangoGPS to change the "Cache Dir" location to , for example, /osm/ . So downloaded maps will be kept in the Neos flash, also after reboot. Note that the map files can take up large amounts of space, so you may want to store them on your sd card, in /media/card/osm.

If you find that TangoGPS does not remember configuration changes that you make to it, be sure to run it from the touchscreen, and not an SSH session. TangoGPS uses gconf to store its settings, and cannot access gconf when run via SSH.

Once you have set the location to a non-volatile path, you can connect your Neo to the internet by USB or WiFi at home and start downloading the maps of your area. Tap the map screen and select "map download". Now on-the-road tangoGPS will be able to show you maps in different zoom levels even though you are not connected to the internet.

Downloading Maps via GPRS

I think tangoGPS may have started working after I followed the instructions to get GPRS working with GSM multiplexing here: Manually_using_GPRS#Option_1:_With_GSM_multiplexing_and_with_a_GUI

There are steps included in those instructions to improve GPS performance. The great thing is that once you get GPRS working, you can roam with TangoGPS running and have it download maps as needed over the GPRS connection!

Using tangoGPS to create tracks for OpenStreetMap.org

tangoGPS works fine to create track for Openstreetmap. However, it records and stores a track in its native format, use convert2gpx.pl (see also: tools)(you can also use convert2gpx.py) to convert the track to GPX (i.e to import into JOSM):

perl convert2gpx.pl 20080903_111508.log > 20080903_111508.gpx

tangoGPS logging format

<lat>,<lon>,<elevation>,<speed>,<course>,<hdop>,<datetime>

Importing Tracks into tangoGPS

tangoGPS does not support the import of tracks. You may help yourself by using this tool to import GPX trackpoints as a series of POIs directly into the sqlite database which tangoGPS uses to store POIs.

Add POI from address

You can use gtkaddpoi for search destination address and add as a POI

Using Google Maps with tangoGPS

Go to Config and create a new repository. Set the url to http://mt.google.com/mt?&x=%d&y=%d&zoom=%d for street-maps or http://khm.google.com/kh?&x=%d&y=%d&zoom=%d for satellit-maps. http://mt.google.com/mt?v=app.81&x=%d&y=%d&zoom=%d for topographic-maps.

Check the "Inverted Zoom" box. Press save Repository Configuration and you're ready to go.


TangoGPS1.jpg TangoGPS

TangoGPS is a map application which can utilize Neo's built-in GPS to show your current location. It automatically downloads maps from http://openstreetmap.com and you can download map tiles for offline use too.


Homepage: http://www.tangogps.org
Package: tangogps
Tested on: Om 2008.8

Personal tools

tangoGPS is one of the applications that runs on the Openmoko Phones. For a list of all applications, visit Applications

Contents


tangoGPS is a map application which can utilize Neo's built-in GPS to show your current location.

TangoGPS1.jpg

Website: http://www.tangogps.org

Running tangoGPS on Om 2008.8

From the freerunner connected to the internet:

opkg install gpsd
NOTE: I experienced hangups if gpsd was not installed.


opkg install http://www.tangogps.org/downloads/tangogps_0.9.3-r1_armv4t.ipk

If opkg complains about not being able to acquire a lock, try:

pkill packagekit

To get gpsd working on the FreeRunner you have to change the configuration according to Gpsd#GPS_on_GTA02. Then start gpsd by:

/etc/init.d/gpsd start

If you get an error about no GPS device in /etc/default/gpsd execute:

echo "GPS_DEV=\"/dev/ttySAC1\"" > /etc/default/gpsd

Now you must power up the GPS-chip by opening the "Settings" application and setting the GPS entry to "on". Now you can run tangoGPS and wait until it get's a GPS fix. This can take up to a few minutes.

Running tangoGPS on debian

tangogps is a very nice GPS mapping application. The latest version is available in Debian.

It depends on gpsd which conflicts with frameworkd in fso-frameworkd, but there is a package available that provides the gpsd interface to clients while using the services of the FSO frameworkd daemon, fso-gpsd. To install tangogps run

  1. apt-get install fso-gpsd tangogps

To turn the gps on, you have two options. You can start the gps application in Zhone, this will turn on the gps device for you or you can manually turn on the gps device using

  1. echo 1 >/sys/devices/platform/s3c2440-i2c/i2c-adapter/i2c-0/0-0073/neo1973-pm-gps.0/pwron

Now you should be able to start tangoGPS from the X-mouse start menu (must have XFCE installed) : Start > other > GPS & Map

Issues:

  • Both gpsd and the framework publish GPS data through dbus, though with different interfaces. This suggests a number of possible solutions.
    • gpsd or the framework could implement the other's interface (along with their own).
    • a translator could read one interface and emulate the other. This is what fso-gpsd does.
    • the framework could have an option to read data from gpsd.
    • ogpsd/gypsy could be extended to be backwards compatible with the majority of gps applications.

Running tangoGPS on FSO Milestone 3 (OpenmokoFramework)

There are two various GPS interfaces -- (1) one provided with default gpsd and (2) the other provided by ogpsd (part of the frameworkd). tangoGPS requires the ad 1 and it obtains information from gps from the dbus interface provided by gpsd.

On FSO milestone 3, there is tangoGPS pre-installed as well as both gpsd and ogpsd (see /etc/frameworkd.conf, section ogpsd). As mentioned above, there also exists a fso-gpsd package, that converts from ad 2 to ad 1 (unfortunately fso-gpsd is not in default image and must be installed with opkg install fso-gpsd).

You cannot have both "providers" (ad 1 & ad 2) running, but you can have ad 2 (recommended for FSO) and "convertor" (fso-gpsd) providing the ad 1. To get usable tangoGPS on FreeRunner, one has to:

  1. check that /etc/frameworkd.conf, section ogpsd reads GPS data from the right device (/dev/ttySAC1)
  2. if changes were made to configuration, one should restart the frameworkd -- /etc/init.d/frameworkd stop && /etc/init.d/frameworkd start
  3. check that gpsd is not running -- /etc/init.d/gpsd stop
  4. check that fso-gpsd is installed and running -- opkg install fso-gpsd; fso-gpsd
  5. check that gps chip is online (echo 1 > /sys/devices/platform/s3c2440-i2c/i2c-adapter/i2c-0/0-0073/neo1973-pm-gps.0/pwron)
  6. finally start up the tangoGPS and locate the gps signal; it should be up in a few minutes.

Note 1: handy application for testing the gps (and gps signal strength) is openmoko-agpsui, see general gps info at Gps

Note 2: You can automate the process -- (1) remove the startup script for gpsd (update-rc.d -f gpsd remove) and (2) create a simple startup scipt for fso-gpsd (you can use current script for gpsd as a skeleton)

Downloading Maps for offline use

tangoGPS can bunch-download the map images so you don't need an internet connection while walking around. By default tangoGPS stores downloaded maps to /tmp/. This folder is lost every time you reboo the device. But you can use the "Config" tab within tangoGPS to change the "Cache Dir" location to , for example, /osm/ . So downloaded maps will be kept in the Neos flash, also after reboot. Note that the map files can take up large amounts of space, so you may want to store them on your sd card, in /media/card/osm.

If you find that TangoGPS does not remember configuration changes that you make to it, be sure to run it from the touchscreen, and not an SSH session. TangoGPS uses gconf to store its settings, and cannot access gconf when run via SSH.

Once you have set the location to a non-volatile path, you can connect your Neo to the internet by USB or WiFi at home and start downloading the maps of your area. Tap the map screen and select "map download". Now on-the-road tangoGPS will be able to show you maps in different zoom levels even though you are not connected to the internet.

Downloading Maps via GPRS

I think tangoGPS may have started working after I followed the instructions to get GPRS working with GSM multiplexing here: Manually_using_GPRS#Option_1:_With_GSM_multiplexing_and_with_a_GUI

There are steps included in those instructions to improve GPS performance. The great thing is that once you get GPRS working, you can roam with TangoGPS running and have it download maps as needed over the GPRS connection!

Using tangoGPS to create tracks for OpenStreetMap.org

tangoGPS works fine to create track for Openstreetmap. However, it records and stores a track in its native format, use convert2gpx.pl (see also: tools)(you can also use convert2gpx.py) to convert the track to GPX (i.e to import into JOSM):

perl convert2gpx.pl 20080903_111508.log > 20080903_111508.gpx

tangoGPS logging format

<lat>,<lon>,<elevation>,<speed>,<course>,<hdop>,<datetime>

Importing Tracks into tangoGPS

tangoGPS does not support the import of tracks. You may help yourself by using this tool to import GPX trackpoints as a series of POIs directly into the sqlite database which tangoGPS uses to store POIs.

Add POI from address

You can use gtkaddpoi for search destination address and add as a POI

Using Google Maps with tangoGPS

Go to Config and create a new repository. Set the url to http://mt.google.com/mt?&x=%d&y=%d&zoom=%d for street-maps or http://khm.google.com/kh?&x=%d&y=%d&zoom=%d for satellit-maps. http://mt.google.com/mt?v=app.81&x=%d&y=%d&zoom=%d for topographic-maps.

Check the "Inverted Zoom" box. Press save Repository Configuration and you're ready to go.


TangoGPS1.jpg TangoGPS

TangoGPS is a map application which can utilize Neo's built-in GPS to show your current location. It automatically downloads maps from http://openstreetmap.com and you can download map tiles for offline use too.


Homepage: http://www.tangogps.org
Package: tangogps
Tested on: Om 2008.8