A few weeks ago, I took some surveys and received some Amazon gift certificates in return for my semi-random murmurs and reasonings. I did what any other geek might do – I bought stuff from Amazon with them – geek books. (Ok, not just geek books… just mostly geek books).
One of those geek books is Making Things Talk, by Tom Igoe. I have another book that Tom had a hand in writing: Physical Computing (He maintains a web site on the topic of physical computing as well).
If you’re interested in hooking up something physical to something virtual, get the book. In fact, get both of ’em. Making Things Talk walks you through all the steps of setting up basic electronic circuits to working with a wireless mesh network to communicate data about. And that’s what it is really focused on (just the like title says…) – communicating. Getting data in and out of other places.
It’s always semi-bothered me that computers really only talk to other computers, or maybe other “computer things”. All the coding that we’re doing are these simple to immensely complex structures – that don’t physically exist. The architecture and construction metaphors are reasonably appropriate and abound – but sometimes there’s not a whole hell of a lot physical to show for extended labors. I still don’t think my grandmother gets what I do… Thank god for the advent of the web (and that she uses it), or I’d never be able to halfway explain it.
But the Igoe books make that link. Making things talk is set up in a very “make” style of book – fairly explicit projects that walk you through the basics of using some “building block” style electronics and chips to make your stuff work. They’ll reference using micro-controllers like Arduino. That’s talking the Electronic Circuits I class I learned in college and pumping it up several levels to basically have something that is damn near plug-and-play for the electrical circuits world. (I will, forever, have the habit of ducking when plugging in my own electrical circuits from that class). The book doesn’t really dwell heavily on the micro-processors – it’s just a means to an end, and that end is a number of different communication setups from serial lines to wireless mesh networking with XBee radios.
The final chapter does a light-weight overview of identifying and finding things – talking about wiring up a GPS chip or reading RFID tags. The book leaves you just wanting to fiddle more and see what’s next in the lego-block world of electronics.
Where the book didn’t talk was “making things happen” – invoking motion or action in the physical world from the virtual. You’ve got to image that once you grok sending signals one way, it’s pretty possible to send them the other way too. That’s really where the other book (Physical Computing) ties in. It talks about a tad lower level – which you kind of need to hit in electronics. There’s not (yet?) plugin and play stepper motors or actuators that I’m aware of. But the Physical Computing book does a damn good job of laying out how and why, including specifics, of making exactly that kind of thing happen. It seems like a re-write of that kind of book – “make” style – would be an excellent successor to Making Things Talk: especially if there’s plug-and-play actuators available that I’m not aware of.
I had a light introduction to the Arduino setup at OSCON this past year – I attended Jon Oxer‘s talk/tutorial Hardware / Software Hacking: Joining the Real and the Virtual. I thought we were going to get some Arduino’s ourselves to play with, but it looks like that never really quite panned out… But anyway – it looks like Jon did a tech talk at Google that’s available online if you’re interested in seeing what he put together and how he was doing it.