Have you heard about "the best laid plans of mice and men?"
Well, I've hit some snags implementing I2C as the universal controller system for Vault-OS.
My experiments with a few temperature sensors on I2C have worked great ... when the wire runs a meter or two from the computer to the sensor.
I think I have discovered a problem with my great plans for a universal I2C master-slave polling configuration. Without a signal booster, I2C drops voltage very rapidly -in fact, despite the simplicity of the RS-232 interface, real trustworthy strength is only out to about 8 meters, especially with magnetic chokes and dampers on the signal wire. You can get a signal booster, of course ... but it's a specialized piece of equipment that is designed solely to boost the signal for I2C devices on RJ-12 cabling. How easy will this be to replace when it breaks down ten years from now and I can no longer order I2C components off the internet?
On the other hand, RS-485 is excellent out to 4000+ feet of sensor wire. You can implement it for anything you would use I2C for. It has a wide variety of EMF and optical isolation options. RS-485 is almost always available on at least one of the COM ports of an embedded PC.
I did an experiment with an RS-485 mini-dumb-terminal in 2004 with around 16 meters of cabling and it worked fine. This was back when I was planning on using the Rabbit 2000 for the Vault-OS ThinkBoy.
I also found it was easy to configure a COM port on my current workstation to do RS-485 and read/write to it. Almost as easy as RS-232 communications. So I'm going to have to research this a bit, do some experiments and see what actually is up and working over long signal cables.
The thing about RS-485 is that once you know how it works, you can essentially always cadge something together that will be a properly behaved slave on the token ring with nothing more than say a PIC chip, Basic Stamp or even a tiny microcontroller like the PICAxe. Even if the electronics store never opens again.
UPDATE : I may have found a cheap booster circuit consisting of three transistors, two diodes and a few resistors for I2C. Have to try it to see if it works.