Random Thoughts

from and to 372433 143758 48 N

GPS: from hardware to data

February 29th, 2008 by Melaneum

Provided you have the right receiver, GPS (Global Positioning System) enables you to know your current location. Most devices go a little bit further than that and can also record your track.

This function alone creates a new array of possibilities as we will see later.

GPS tracker

For the moments, let’s focus on this new toy, the BT-Q1200 Travel Recorder from Qstarz, a company from Taiwan. The device has only one button (the input) and four leds (the output) and no screen. Thus, the interaction is very limited: the basic usage is to go on the field, record the GPS track and download the track on a computer later. There is some room for more interaction thanks to the bluetooth function, but once again, we will see that later.

One requirement for this device is to be working with my Linux box. Through email, the company told me that the device was not supported for Linux but that was without considering the boundless resources of the open source community.

After recording few tracks, you plug the device using the USB cable to a computer and hope to be able to download the data and make something useful from it. This device is based on a MTK chipset and I was able to find two different projects matching my needs:

bt747 is a java application with a graphical interface. Just unzip the archive and launch ./run_rxtx.sh. You should see the interface. At first I was having a problem with the interface but running update-java-alternatives --jre --set java-6-sun (on Debian) made the trick. On the Con tab just click Connect Port Nbr, on the tab File, set the output filename and then on Log tab choose Get Log.

Once you’ve done that, you have a .bin file on your computer containing the data. Woh, the first step is done, data are out of the device. To make something useful from it, you can still use bt747: still on the Log tab click To KML to get a kml file (which can be seen using Google Earth).

One tip: when retrieving the data, you should keep the device in record mode to avoid it going to sleep in the middle of the transfer.

GPSBabel is the second project supporting MTK chipsets. The support was introduced only recently, so only version >=GPSBabel 1.3.4-beta2008214 have the format.

  • mtk: to download data from the device
  • mtk-bin: to convert the .bin file to other formats

Despite trying, I wasn’t able to download data directly from the device using GPSBabel:

$ gpsbabel -t -i mtk -f /dev/ttyUSB0 -o gpx -F out.gpx

mtk_logger: This is not a MTK based GPS ! (or is it turned off ?)

Let me know if you know a way to make it work.

However, the conversion for binary file is working well:

gpsbabel -t -i mtk-bin -f BT747log.bin -o gpx -F out.gpx
gpsbabel -t -i mtk-bin -f BT747log.bin -o kml -F out.kml

This entry was posted on Friday, February 29th, 2008 at 20:13 CET and is filed under Geolocation. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

2 responses about “GPS: from hardware to data”

  1. MarkX said:

    gpsbabel 1.3.5-beta20080305 downloads directly from a Qstarz BT-Q1000P. Also have a look at mtkbabel at http://www.rigacci.org/wiki/doku.php/doc/appunti/hardware/gps_logger_i_blue_747 which mostly works very well.

  2. Melaneum said:

    I wasn’t successful using directly gpsbabel with the BT-Q1200:
    gpsbabel -t -w -i mtk -f /dev/ttyUSB0 -o gpx -F output.gpx
    mtk_logger: This is not a MTK based GPS ! (or is it turned off ?)

    mtkbabel works well after installing package libdevice-serialport-perl. According to the website, it is mostly based on the BT747 project. However I found it much slower than BT747 do download the data.

Leave a Reply