Sunday, January 3, 2010

Paperless Geocaching with my Nokia e71

Recently I've got into geocaching. Not that I've not been interested before, but I simply didn't want to lay out the heaps of cash they want for GPS's. But, thanks to cell phone technological improvements and an upgrade (not to an HTC with Virgin Mobile!), I have a GPS receiver on my phone.

This started me thinking about doing some Geocaching. This along with the fact that the chillens don't like to go for a walk like my wife and I, and need some form of carrot to get them to walk regularly. Enter geocaching.

This is a tutorial on how to do paperless geocaching primarily because I don't want to have to pre-prepare for this past-time. I want to simply do one if I have the time.

I run Linux, which can sometimes make things a little more challenging. Fortunately I'm not the first to attempt this, but after scouring the 'Net and with some help from a colleague, I've got this right now. So, here are my experiences and technical insights.

What you'll need:
Hardware:
  • A Symbian S60 phone (mine is a Nokia e71) with built-in GPS receiver.
  • A PC that can run ruby (pretty much all machines, but if you can't apt-get it, then you'll need to do some more reading!)
Software:
  • A program called geotoad (Geotoad) (the reason for this will be explained below)
  • SmartGPX (SmartGPX)
Account:
Co-ordinates of where you wish to start from.

Recipe:
Unless you decide to become a premium member of geocaching.com, obtaining caches in the GPX format (which is essentially an XML file of all the caches you select, their difficulty, description, the clue, and the last 5 logs), you're stuffed and can't do paperless at all. This is where geotoad comes in. Geotoad is a neat ruby program that will allow you to define which geocache's you're interested in and then will download them as GPX files. While it has a command line interface (which some may not like), I think it's just grand as it consumes little memory/resources and is quick an easy to use.

To use it, you're going to have to give it your geocaching.com account details. You've signed up an account already. If not, visit Geocaching.com and do so now.

Also, using Google Maps, you can install a GPS co-ordinate plugin, which will allow you to get the GPS co-ordinates of pretty much any place you wish to start your search (filter) from.

Now it's time to fire up geotoad. You'll use options (1) username, (2) search type (can be coords, or other type), (2) the co-ordinates from where you're likely to start your geocaching adventures, and (4) the distance (in miles sadly) as a radius from which you wish to do paperless geocaching.

I personally chose the same co-ordinates and then varied the distance from 50 miles to 200 miles from this point and saved all those in separate GPX files (option 23). In addition, I varied the starting points, so now whether I'm going to the Cedarberg or the Garden Route, I can load up cache's in those areas. Nice!

Once you have set these settings (1-4 and 23), hit (s) for search and then go and make coffee. Geotoad, in order not to put too much load on the servers, backs off while downloading the individual caches. Depending on how many you're loading, it may take up to an hour.

Have GPX file...will geocache!

Not yet big daddy. Time to get some software for the phone. The phone software comes in the form of SmartGPX. It's a great piece of programming and it's not crashed once! Well done guys :-).

You'll need 2 pieces of software actually. The SmartGPX and the AddOns. Download both. You'll have to sign these using the Symbian Signed website (SymbianSigned). For this you're going to need your IMEI number on the phone. Easy if your phone responds to the *#60# keypad code....but mine didn't. Had to remove the battery. Upload both pieces of s/w to the webpage (one at a time) and then download them again. They'll be signed. Install both.

Now it's time to load the GPX file(s). Sterreman (waiting for a link from him) refers to not trashing your speed camera GPX files by overwriting them with this GPX file. I have no experience of this, so if this is a concern to you, do some more research. I can't see it being more complicated than joining the 2 GPX files (perhaps removing some header information from the 2nd one) since the GPX file is only XML and human readable.

Right. Start SmartGPX and Import the GPX file for the place(s) you're likely to be (you've transferred the GPX output from the PC running geotoad to the phone already have you?).

Now, the annoying thing about the inbuilt GPS is that it cannot change the way it's co-ordinates are displayed. They're always in degrees, minutes, seconds and hundredth of a second. Not of any use for geocaching since all the co-ordinates on the site are in degrees, minutes and hundredth of a minute. So, the navigation tool of the Nokia can't understand the GPX co-ordinates. Annoying, I know, but that's where the SmartGPXAddOn's comes in. It allows you to select a particular geocache, and then import those co-ordinates into the 'Navigation tool'. From there, it's simply a matter of using the navigation tool to find the cache.

But wait...there's more.

Once you've found the cache, you can log it on your phone immediately. Nice! There's a 'Log your visit'. So, you can log a note, the time you found the cache, and of course what you took/left. That log is saved on the phone, but clearly, that's a problem if you do multiple caches in a day. You don't want to re-type what you typed into the phone when you actually logged it.

So, when you get back to your computer, you can Export these logs, and import them straight into geocaching.com using this link (Upload Field Notes). That won't publish them immediately but will allow you to modify them before publishing to the website. So....geocaching got easier.

Have fun being the search engine!