Enter your Logical Genetics login details here or Register Now!
![]()
| |||||||||||||||||
LoginEnter your Logical Genetics login details here or Register Now! Recent Activity on the ForumsWPF Maps by genious (Wednesday 04:35) WPF Maps by genious (Wednesday 08:30) Arduino Awesomeness by genious (Tuesday 08:18) Dehacked by genious (Tuesday 11:17) Sudoku Solver by genious (Friday 04:38) Sudoku Solver by J13eauty (Friday 00:21) I dun a Blog! by genious (Thursday 17:38) Landrover Related Items by genious (Tuesday 18:31) Latest Photos
Mobile Photo...
Online ArticlesArtificial Intelligence:
Other Topics: Search |
The Klog: Walk Logging, Linux Style1. If a Blog is a "Web Log" then a "Walk Log" must be a Klog...The Long Walk this year will run from Bude to Lands End. A distance of around 130 miles up and down one of the most rugged coastlines in Britain. Ten of us, assisted by our trusty support team, hope to walk it in only eight days. That's no mean feat, and I want conclusive evidence that we did it: Every mile we walk, our route, the photos we take and the videos we make along the way, I want all these details available to the world on Logical Genetics. Forever. I want to bore my Grandkids with tedious Google Earth slideshows of my epic journey every Christmas afternoon. Anyway, this was clearly a job for a GPS module and the trusty Gumstix embedded Linux platform I ordered way back in 2005. Development wise, the project has tested my knowledge of every level of software (and hardware) development: Soldering parts together, debugging them with Richard's oscilloscope, writing Linux device drivers, writing C++ applications to read GPS data and log it to an Sqlite relational database on the Gumstix, writing code to transform the logged data to KML (Google Earth's XML map format), writing Javascript applications to display the data in Google Maps and a whole load more. This article gives a brief introduction to the project. I hope you like it. If you have any comments or questions then feel free to mail me: dan@logicalgenetics.com. 2. Components of a KlogThe basic components of the Klog are the Gumstix, GPS Module and a flashy customer reassurance LED which lets the user know everything's working as it should. I've played around with a tiny mobile phone screen and jogwheel/pushbutton interface too, but since they don't work at the moment I'm not going to talk any more about them.
The Gumstix is a Linux computer the size of a stick of chewing gum (see photo). The development environment is 100% free and support is readily available on the website and via an extremely active mailing list. I have a Gumstix Basix 400MHz with a 128Mb MMC card and a Waysmall breakout board. Pretty basic hardware which costs less than £100 to buy.
A Lassen IQ GPS module from Sparkfun Electronics is linked to the gumstix via a two wire (i.e. no handshaking) serial port. It uses the same Vcc voltage as the Gumstix, so integration is as simple as soldering 4 wires (Vcc, GND, RX and TX). The only hard part was mounting the tiny surface mount connector on a suitable PCB. I press ganged my good friend Richard into soldering the connector to a scrap board from work (he's better at it than me) and ran wires off that to the Gumstix.
Once I was happy that all the hardware worked I shoved everything into a project box I found in the cupboard. Things to note in the picture include: Larger voltage regulator and heatsink installed (the backlight in the little screen I've been playing with made the old regulator far too hot), rechargeable AA batteries (last about 12 hours), GPS unit, Gumstix, miles of annoying ribbon cable and tonnes of wasted space. If I could have made a PCB for the project it'd have fit in a much smaller box but time and money constraints prevented anything that professional.
An external GPS antenna is plugged into the Klog so it can be used in a car, on my bike or in my backpack when I go walking. Holes are drilled in the box for the USB connector and external power supply. I generally cover the holes with tape when out-and-about in case it rains. I've given enough detail of the hardware on this page, so on the next page I'll give some details of how all the software works and show some screenshots of the various interfaces. |
||||||||||||||||