I know, this is done many times over.
I didn't like having to use the sound card to transmit. I have OpenBees, I wanted to use them.
Other solutions seemed overly complicated for my needs. Although APRS would be nice, it wasn't simple with my hardware.
I decided to leverage what I already had.
1) I installed gpsd on my Verdex Pro Gumstix machine with GPSstix. 2) I installed Python and needed libs (No small feat) 3) I wrote a program to read from gpsd and write the coordinates to the USB device. 4) A Program was needed to listen to the requests, over USB, and write the data to a MySQL DB. 5) A web-based client was written to use Google Maps to display the points with a 20 second refresh interval.
Once I got past 2), The rest was accomplished in an evening.
I walked around my house, and saw it update from my cell phone.
That's all I need in a car tracker.
The gpsServer goes on the Gumstix machine.
Run it from the init scripts referencing everything by absolute path.
Everything else goes on your laptop. The web server is Django.
Run the Listing program like this:
Run the Django server by going in the gpsTracker folder and running: python manage.py runserver http://localhost:8000
You can easily change what IP/port you want your Django server to run on by modifying that command.
Then just go to http://localhost:8000 to track your package.
The program shows all points for the day. Currenty if there's no points for the day, there's a bug, but I'll fix that eventually. For now, just be aware a blank page means “refresh until it works”.
You will need a MySQL or other python supported DB, but I'm not getting into that. It's all standard stuff, and you can look to the Django docs for help.