Where is HP?

Earlier on: the idea

I've been walking around for a long time with the idea to always carry a device with me which would register my current location and upload it to my website so I could show my route on a map.

As simple as the idea, so tricky is the implementation. I've been experimenting abit with connecting my smart phone to an external gps but that didn't really work and when my smart phone broke down after just three months I quit.

What I need is a good phone which I can program using my favorite programming language and preferably equipped with an internal GPS.

25-7-7: The Phone

I bought the phone. It's a Nokia N95. Running programmable with Python and equipped with an internal GPS. It was deliverded the next day! Now I just need to finish Harry Potter and the Deadly Hallows and then I can start.

28-7-7: The Plan

The plan is as follows:

  1. Buy the phone (done)
  2. Get the GPS to work
  3. Install Python for S60
  4. Query the GPS from Python
  5. Use Python to upload the data to this website
  6. Plot the data on a map
1, 2 and 3 turned out to be quite simple. However, the GPS turns out not to be of the most sensitive type. I need to be outside and preferably have the keyboard flipped open for it to work. I'll worry about that later.

29-7-7: Python and the GPS

It turns out you need to put your Python scripts in a folder called Python either in the Phone memory root (C:) or the external micro SD chip (E:).

Found a nice initiative, GSMloc.org, that collects geo data for GSM poles by doing just about what I try to do: running a Python script on a S60 phone that uploads coordinates and GMM pole numbers to the GSMLoc.org website. Data is there plotted on a map. I'll try and run the script since it is a good example of what my script will be like.

Another find is that the A-GPS protocol helps positioning by using the positions of the GPS cell towers. Got to update my phone's firmware (tricky) and it will only work if my provider supports the protocol. I will leave it for now

1-8-7: First route!

Booked a lot of progress. Finally I did the firmware upgrade. My 2GB micro SD card arrived. What a technological wonder, 17.179.869.184 (seventeen billion) bits in just 15mm × 11mm × 0.7mm. And last but not least, I found Noka's Sports Tracker program which almost does all I want. I can record GPS data from a trip and save it as Google Earth .kml files. Looks good, but still needs a lot of handwork (starting/stopping tracks, saving as KML, upload to PC, convert to database).

Anyway, here it is. A graphical representation of my first walk around. The Oberon office.
And here's the kml file

19-8-7: The tech part

Did a lot more research. Things are not a easy as they look. Python for S60 has a positioning module which allowes you to query the GPS but using this module is not straightforward. It seems that I'll have to sign my Python and/or my script with Symbian certificates. Apparently there is such a thing as a Symbian Signed Root Certificate which I might be able to use.

Already found out a couple of steps involved:

  1. Download Ensymble python script
  2. Download Stunnel Open SSL Libraries and put folder in system path.
  3. run python ensymble_python2_4-0_23.py py2sis --uid=0xf2946393 --icon=myicon.svg --appname="Battery" --shortcaption="Battery" --caption="My Battery Application" --version=0.1 --verbose battery.py
    where ensymble_python2_4-0_23.py is the ensymble version for my version of Python (2.4), myicon.svg is my icon (can be left out) and battery.py is my script.