GPS on Maemo

Posted by Jerry Sun, Sep 30 '07

Received my Holux M-1000B Bluetooth GPS module on Friday, and have been playing around over the weekend. I bought it on an eBay store for AUD$80 last week, took some time for it to get here but it was pretty well worth the wait! Turned it on after a good recharge and brief look at the user manual (only a few relevant pages in the manual, the rest of the documentation is in PDF form on the driver CD), and fiddled with Maemo Mapper to use it for positioning.

After pairing the N800 with the GPS module it took a while to locate enough available satellites and confirm the current coordinates:

Using Microsoft’s Virtual Earth hybrid maps (Google Maps and OpenStreet is available as well) and leaving the GPS running while on Chad’s car (we were leaving the labs and I was hitching a ride home) plotted this route (red lines) on Mapper:

The positioning isn’t entirely accurate though – when left on my table for some time, as you can see the coordinates start jumping all over the place. Probably due to weather and satellite communication strength, or by the fact that using it indoors affects the line of sight. The green lines were from me searching a route from my house to the Brisbane CBD, which is another feature I haven’t played with much, but one I can foresee will be insanely useful when I’m heading down to Melbourne in December.

Also tried setting up Geoclue, a geographical information framework, and osso-gpsd. Geoclue sits on the Maemo status bar, and there’s a number of backend servers from which context data can be collected (See screenshot). Unfortunately it doesn’t feel quite finished yet… is a hassle to set up, Hostip doesn’t provide quite enough information, and the GPSd backend took some hacking to get working. GPSd refused to run at first, and I had to dig around for some documentation on GPS/Bluetooth support on the N800. After playing around with the “rfcomm” commands, I made some changes to libgpsbt to recognize my Holux (it does a string comparison against a hard-coded list of Bluetooth device names… horrors!), and then get it to run as normal user. Once I got that out of the way, python-gpsbt worked beautifully! I’m already chalking up plans for some future projects after this semester ends… but that’ll be a different story. :)

Overall, GPS on the N800 is pretty good, although lack of maturity is still leaving much to be desired. If the tablet’s next successor is really integrated with GPS as the FCC filings show, geographical/context-aware software could really be Nokia’s killer app. Here’s to hoping!

# Posted in 10 years ago comments