I'm developping sdsOS and a PC (windows palteform) software that can perhaps help you.
http://sourceforge.net/projects/small-device-os
The software is connected with the device through a COM port (RS232).
The communication protocol is very simple and powerfull :
- all data is user (ascii) visible, no ctrl char allowed except for pipe (see further) handling. Binary data must be converted to hex nibble or other manner.
- pipe concept : it's like if you have several RS232 lines merged together.
The PC software filter the RS232 stream for pipe marker and dispatch (and convert if necessary) data to "Gadgets". A "Gadget" is a graphical unit that display (or provide) the data
Some pipes have powerfull feature, like the I2C pipe that allow Virtual I2C Device : "Gadget" in the PC software that work like a real I2C hardware (example with a virtual DS1307 RTC Clock)