Add to Google Reader or Homepage |
~ pjvenda / blog
$home . blog . photography

25 September 2007

My new toy: Globalsat DG-100 GPS Data Logger

Being a geek, I need my geek toys. My latest is a GPS Data Logger, that I bought to assist me in geotagging my photographs.

A GPS Data Logger is a portable device that periodically records geographical coordinates of its location, from a received GPS signal. The list of logged data points is meant to be dumped later to a computer.

These devices are used to track hiking or cycling paths, to help with wardriving, to track touristic walks or to help with geotagging photographies. The latter is my main purpose for the data logger I bought.

Globalsat DG-100:

The Globalsat DG-100 is a very nice small and affordable (low end) GPS data logger. According to the reviews and comparisons from GpsPassion, PocketGPSworld and from Richard Ackerman's blog, I chose this logger among others because of the following key features:

  • Time-based or distance-based periodic logging or GPS locations. The basic function of a GPS data logger;
  • On-demand recording of current location. In addition to periodic logging;
  • SiRFStar III chipset: sensitive enough to give me decent GPS signals in non-ideal conditions (cloudy weather, in-house, etc). This is a fundamental feature because without GPS signal, a data logger is no different from paper weight... but that's obvious;
  • Long battery life - reportedly up to 36 hours or continous usage;
  • USB interface;
  • Interface software allows extraction of the logged data into a number of file formats. This is another fundamental feature because although "Globalsat Data Logger PC Utility" is a windows-only tool, I intend to use the logged data on some other non-windows programs (like open source ones). This is actually irrelevant because I already found an open source and portable program that interfaces with the device and is able to extract data from it. Whoohoo!!;
Added value features:
  • Plug for an external GPS antenna;
  • 2 rechargeable AA batteries included. The USB connector charges them. It would be a shame if it did not...;
  1. Make sure that my camera's clock is correctly set;
  2. Walk around with my data logger while on photographic raids. Try to log the specific spots where I shoot pictures;
  3. Dump data into a GPX file;
  4. Dump my pictures into some folder;
  5. Use digikam with the gpssync plugin to match photos with GPS locations. Matching is made from timing information. The picture IMG_NNNN.JPG, shot at the time "hh:mm:ss" has the location obtained from the GPX log at the time equal or closest to "hh:mm:ss";
Linux Support:

By looking at the supplied software, it becomes apparent that the device communicates through a serial to USB line (Prolific PL-2303X USB-serial adapter). There is a driver in the Linux kernel tree for that USB-serial adapter called pl2303, so no problems expected regarding chatting with the device. The final piece of the puzzle is some program that knows the protocol to communicate with the DG-100.

After a quick research, I found that Linux offers quick and easy support for a large number of GPS devices and that there are many tools that easily interface with them to provide different functionalities, obviously related to GPS positioning.

gpsd does not work

The clever way to achieve this is by using a consistent TCP to GPS interface called gpsd. One one end, gpsd contains a number of drivers and parsers for the many different GPS devices it supports. On the other end, it serves requests to client applications from a TCP socket, using the help of an interface independent of the GPS device in use.

Clever, but does not support the DG-100 yet... The list of GPS devices supported by gpsd is big but as all such tools, not complete. Being an open source tool, gpsd is developed by contributors that give their own free time to improve it further. Hopefully support for the DG-100 will be included by a friendly contributor.

bug gpsbabel does... or will, soon:

gpsbabel aims to be a multi-platform universal translator between many GPS data formats. It is a different tool than gpsd, but incidentally, it also contains drivers and/or parsers for a number of devices. gpsbabel is used by several other tools to perform GPS data translations.
The current version of gpsbabel is 1.3.4, which does not include support for the DG-100 as well. But good news is that Robert Lipe commited code with initial support for Globalsat DG-100 on 1st September 2007. The code is copyrighted to Mirko Parthey and Robert Lipe and released under the GPL license. The driver is now in its revision 1.17 (2007-09-13) and is likely to be included in one of the next gpsbabel releases.

So, to use gpsbabel with support for my DG-100, I checked out the HEAD code and compiled it on my host. It compiled fine and I was able to pull the data records from the device into a file. Woohoo!

Just a quick guide. I already had the module pl2303 so as soon as I plugged in and turned on the device, the kernel reported its presence:

usb 6-1: new full speed USB device using ohci_hcd and address 2
usb 6-1: configuration #1 chosen from 1 choice
usbcore: registered new interface driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303
pl2303 6-1:1.0: pl2303 converter detected
usb 6-1: pl2303 converter now attached to ttyUSB0
usbcore: registered new interface driver pl2303
drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver

Udev politely created /dev/ttyUSB0 (serial port device file) automatically for me. Then all I need to do is:
  • gpsbabel -i dg-100,erase=0 -f /dev/ttyUSB0 -o gpx -F latest-dump.gpx
Pulls all the records from the data logger (reads from USB-serial device: -f /dev/ttyUSB0 in dg-100 format: -i dg-100) to a file called latest-dump.gpx, in GPX format.

Prefer KML instead of GPX? Fine:
  • gpsbabel -i dg-100,erase=0 -f /dev/ttyUSB0 -o kml -F latest-dump.kml
Or alternatively convert the file between GPX and KML:
  • gpsbabel -i gpx -f latest-dump.gpx -o kml -F latest-dump.kml
Dead simple!
(the used gpsbabel binary was, of course, result of a CVS HEAD checkout compilation done in 2007-09-22, because as I referred, the dg-100 driver has not yet been included in an official release)

Final words:

Although I have not tried any other data logger, I would seriously recommend the Globalsat DG-100 unit for everyone that would make use of a GPS data logger. It is in fact small, battery efficient, it has good signal levels even inside supermarkets, I can use it on Linux and it fits my purpose perfectly.

As one of my work mates usually says: "Brilliant stuff!"
Cheers, PJ.

13 September 2007

proactive security - software inspector tool

Recently I found a really nice software inspector published by the respected Secunia free for personal use.

The software inspector is a tool that lists all your installed programs and extracts version numbers for each one. After that it verifies the list against secunia's database of vulnerabilities.
A score is then calculated to indicate the up-to-date percentage of your system, along with a summary of all the programs that should be updated due to expected security flaws. For many programs, PSI will produce a direct link to download the related update file. A low percentage means a high security risk because software versions are old and known to have vulnerabilities or other security issues. On the other hand, a high percentage means that the system's software in general is up to date making the host less prone to be successfully attacked.

Additionally, an agent remains running in the background maintaining the software list updated and reacting when you install, upgrade or downgrade programs, informing or advising accordingly.

I would seriously recommend this inspector for every windows workstation connected to the internet.

Cheers, PJ.

- I am in no way associated with secunia nor I benefit in any way from advertising their product.
- Updated in 2007-09-20 to put a differente screenshot. this does not show a 100% score and suggests an update to a program.

10 September 2007

the worst blogger ever

... must be me!

This is the ninth month of the year 2007. So far this year I posted 11 times on this blog (including this post). That yields an average of 1.22 posts per month (standard deviation of 1.91... sorry about that, never mind).

Personally, I consider this unacceptable.
It is not that I consider that every blogger that does less than N posts per day/week/month/year is a bad one - It is just that I am sometimes too busy and other too lazy to post my thoughts as I find them relevant for the blog.

Anyway, I have about 5 or 6 posts in preparation, so let's see if I can publish them all in September to improve my statistics :)

Cheers, PJ.