I had a need at home for some quick and dirty I/O. I needed to send some discrete points through a couple of Xbees to control the gate that leads to our property. I don't have the whole thing working yet but it prompted me to come up with a way to use the Arduino as a simple I/O module.
The idea is to control all of the pins of the Arduino with a serial protocol. This has been done before but I couldn't find any that would allow multiple Arduinos to be on the same serial network. Mine allows individual addressing of the Arduinos so that with an RS-485 type network more than one Arduino can be controlled with a single serial port on the host.
Basically I have written a small sketch (it's not quite complete yet) for the Arduino that reads a very simple ASCII protocol from the serial port and responds by simply turning digital outputs on and off or reading analog inputs, etc. There are just a few configuration commands and just a few I/O commands at this point but it will grow. I have started a library that abstracts the communication and then used that library to write a module for OpenDAX so that the pins on the Arduino can be tied to tags in OpenDAX. This is all very pre-mature at this point.
Once I get this done it'll be a quick way to get a few I/O points tied into OpenDAX without too much of an investment in time or money. It's not an industrial strength protocol so I wouldn't use it for anything mission critical but it may have some interesting uses.
I'll be working more on it in the coming weeks to get it cleaned up and functional. Then I'll post the documentation for the protocol and the library and maybe even a writeup of the gate control.