I'm an avid geocacher, electronics beginner, and a programmer. After seeing the tutorial of Phil and the Flora GPS jacket, this looks something that could become a useful geocaching tool. Imagine a wearable gps that would "steer" you towards the cache at night with different colored LEDS and perhaps with rising/falling tones? That would sure beat looking at a GPS display!
Today, I dug out my reference book on PERL, and discovered there is a pre-written module which parses a geocaching ".gpx" download file into whatever fields you would like. In less than 1/2 an hour, I had it up and running. I will include that file as an attachment to this post) Read the comments I've added to it, and it should pretty much be self-explaining.
If you've ever looked at a .gpx file, they are full of all kinds of meta-data and XML tags. Here's just the first three lines of the output generated by the parsing program once it completes: (I used a small .gpx extract from a random area)
33.24 -116.35 GC3BND7
33.25 -116.37 GC22B5H
33.27 -116.37 GC2J52V
(And yes, the lat/long must be converted from decimal into the proper format required by the program)
The question I've been pondering: What's the best way to input this data into the Flora, and what is the best way to provide feedback to the wearer while it is operating?
For the input coordinates, should it accept a single set of GPS coordinates at a time, as shown on the GEO_LAT and GEO_LON variables in the sketch on ALS, or should it handle an array of them, and let the user decide which one to select (I'm leaning toward the array myself)
How should the data be uploaded? Input from a text file? Sent from tactile switches or a small keyboard? Perhaps smoke signals from the last project that didn't go so well....?
Finally, what should the external feedback lighting consist of? Imagine if blue meant "Walk straight" while red meant "You're drifting off course to the right" and yellow meant "You're now to the left side" with more and more LED pixels lighting up as you got closer to the target?
The magic would be to grab your current lat/long coordinates, and determine both distance and bearing to the target, but that sounds like math, and it's a Friday night!
(Must rename to a .pl file to execute!)