I speak a number of protocols, as most of us do. The old "telnet to the mailserver and
ask it what's wrong" kinds of tricks. I've never, however, spoken to a GPS receiver. Boy, is it a chatty sonovabitch.
ZTerm couldn't keep up with the data coming across the port, and would continue to spew even when the receiver was disconnected.
$GPGLL,36000.0000,N,72000.0000,E,000213.991,V*12
$GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05
$GPRMC,000213.991,V,36000.0000,N,72000.0000,E,0.000000,,101102,,*38
$GPGLL,36000.0000,N,72000.0000,E,000212.991,V*13
$GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05
$GPRMC,000212.991,V,36000.0000,N,72000.0000,E,0.000000,,101102,,*39
$GPGGA,000213.991,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*77
just going on and on for pages and pages. Tens of
megs of pages, even. The GPS receiver in question is a
Pharos GPS-360, which is approximately the
cheapest GPS receiver ever made because it is made largely from
mulched babies, and distributed free with Microsoft Streets & Trips (which is kinda garbage compared to Google Erf Pro).
Anyways, it's speaking
NMEA, which is mercifully easy to parse. I thought to myself, I could just write a perl script to sit on the socket (with the '360, it's actually a serial device with a serial to USB adapter inline. That itself requires a driver, which is
available on sf.) and spew out data to syslog or whichever (I want to verify the top speed of our
STI – everyone says it's electronically limited at 145mph, but we've seen 155+ in the car. With telemetry, this is easier to prove). Of course, because the protocol is plaintext and serial (as opposed to parallel, which is harder), somebody has already written a
module that speaks NMEA and can return perl objects with locations, etc. The API looks a bit bare, but I'm sure I can
embrace and extend where necessary.
So I think the first trick is to write an OS X Dashboard Widget, since they're pretty simple to put together. After that, I may buy one of the more fancy GPS's,
like this one from Arcom. There are amazing things you can do with robotics if you have the right sensors. Even LIDAR is coming down to
commodity pricing.
I was asked about a week ago, "do you have any hobbies?" My answer was "my job is my hobby." It seems to me that I could spend some of my time in Taipei building a solid EE foundation from which to work up. And, I just love to solder (there were not "
solder suckers" when I was a kid playing with breadboards. These things have to be one of the coolest inventions ever.) Something about the smell, or maybe just knowing that you're making a machine. Maybe the adjective for the feeling Asimovian.
An Asimovian feeling of creation sent a chill down his spine as the GPS daughterboard and avionics daughterboard spoke for the first time. Hm.
Okay, I'll stop before I get too romantic.
So how did we get from GPS to 600+hp STI's? Well, when I get my own software figured out for the GPS receiver, the next step is to buy hardware. Like
PC/104+, and things like that. The whole point of the entry is that I am
looking forward to hardware hacking, and since I have such a strong software background, I am expecting to be able to do things that inspire sequoia-sized wood (at least for myself; I'm sure somebody on advogato is going to complain that I don't need 600hp, and I kill babies and trees. They'll be cheerfully ignored).
(note: copious links added specifically because many of us never get a chance to see this sort of stuff. spend an hour or two. look around.)