A few weeks ago I ordered a GeoGramOne board from DSScircuits. Its a Open source GPS tracker that was succefuly funded on Kickstarter. The board combines a GPS, GSM Modem (cellphone), Arduino (Atmega328p), lipo fuel gauge, and 6 axis digital accelerometer.
With the default firmware you could send a SMS message to the device and it would reply with a SMS with its current location. It had a few other interesting features that used SMS as the transport layer for the GPS coordinates.
The board design and the firmware are all open source. This means that I can edit the firmware to do what I want it to do. Getting the GPS coordinates via SMS is great when you want to actively know where the GPS is at that exact moment. But I wanted to use this board to actively track and records the location of the GPS as it travels around. Preferably I wanted it to ping my web server with a HTTP Post every 30 secs or so.
UDP is much smaller of a payload then the HTTP POST message that I want to use, but I can’t set up a UDP server on a cheap web host. It also makes it harder for other people to use the code that I make.
I made a bunch of posts on DSSCircuits and electronics.stackexchange.com and was able to update the code to send HTTP post messages to my web server and automatically generate a Google map of the path of the GPS over time.
The updated version of my source code can be found in my github account. If you run the code as is from my github your GPS will send its coordinates to my web server and your device will show up on this map.