Tracing my phone by satellite
POSTED BY Kirgy January 4th, 2011 : 4 COMMENTS
Who wouldn’t want to track someones movements live with some hackish system like you see in the movies? Tracking my new Nokia N900 by satellite has been something I’ve been trying for a while, and finaly I’ve built a reliable tracker, viewable by any web browser. But Now I’ve come to realise the struggle of open-sourced programing.
It is still in the end of an Alpha stage, and I really wish I had more time to develop the thing, but its in a good place to start to see some really good applications.
My inspiration came when I stumbled across an article about the python liblocation libraries which were made to give a short-cut for maemo GPS programing. My phone being a Nokia N900 running the maemo OS was just beckoning for this kinda thing.
I got to work and made a really simple client-side script for the phone which can be run in terminal. It simply checks for a GPS signal, once it is locked it logs into a server-side program using HTTP, then posts the GPS data to the server.
On the server side I done the majority of my work. It’s all written in PHP alongside SQL databases, recording the received GPS data on-the-fly. It performs functions such as secure log-in, valid GPS positioning, checking for anomalies and calculating the speed of the target. The latter was much harder than first anticipated, but thanks to finding the great-circle calculation I was able to get an accurate reading. That is still in need of updating as I never took into account the obvious delay the data would take to reach the server from the phone. I then started to look at potential target destinations; proving again harder than first anticipated.
The last piece of software was the browser-based client software which would simply query the database and interact with the google maps API. This gave me the awesome mapping to have an overlay, move in time to the current position of the target and even trace the route of the target. Massive kudos to google for their API. This is the visual end of the software, I haven’t shown a trace as I don’t think I want my home location put online, but I will update this with one when out and about sometime.
The combined software was able to trace my car traveling at speeds between 0Kph and 50Kph (but not limited to) to a range of a range between 1-3 meters average on most roads. This was so accurate that I could actually see which side of the road I was on. The delay was around 1-2 seconds from the live car to the computer screen. I tested the software with a mixture of synchronised video captures of me driving, and using family “volunteers” to both man the cam with the target phone and myself driving with family on the viewing system with a telephone call linking us together. It was really accurate, the only major downfall, which is unconquerable, was areas of no phone signal.
The thing is now I’ve done all this work and it’s almost complete, I can see the great industry application and can see the potential profit involved. Now I come to ask: why would I want to open this to the world when I can make so much money? I’m not to say that I don’t appreciate the benefits of open source. Without it I wouldn’t have come close to making any of this software.
The real question is where to from here? Would you open-source this up if it was yourself? Or would you cash in on the work and look for an commercial application? Comment back on my blog site and tell me what you think, I would really appreciate some input to what to do, where to go and potential applications. I would like to get some discussions going so I can see both sides of the coin.