Best way to do I2C/TWI over long distance

You can probably get away with the DS18B20 sensors by using shielded CAT5 or similar cable. It's only thermal measurements, so if some readings get corrupted you can make your program robust enough to deal with that (it's good practice anyhow).

For chain restaurant use, I've designed what are called RTU (rooftop unit) controls that work on multiple passive sensors (they use interchangeable NTC thermistors, which require no calibration for comfort heating). It's much easier to filter noise out of a passive sensor. Another set of installations (a major North American automotive complex) used platinum RTDs with signal conditioners- very accurate and stable devices. You should decide the sensor first, then look at how it might be interfaced- any of these sensor options are suitable for your application (though the RTDs might be overkill).

In case it's not clear, I'm suggesting a "star" configuration of sensors around your processor.

If you really want to use a "bus" (other than one-wire or I2C), you'll need smarts at the ends, which means a processor in some form. If you're going whole-hog you might want to consider using wireless sensors that communicate via some ISM band that's legal in your locality. Alternatively, you could use one sensor per Pi and have them talk to each other via your WiFi intranet.

Tags:

Bus

I2C