Personally I wouldn't let I2C out of the box, and I'm not sure how susceptible it would be to interference.
And the BME280 has only two supported addresses (the 'hardware solution' referred to is, I suspect a matter of disconnecting one pin of the BME280 from a supply voltage, and connecting it to the other).
One-wire bus is potentially much more robust - I've got some loops which are 20-30m long which have been working for years. It is also pretty tolerant of randomly wired busses (mixture of star, spur, bus etc).
There's an I2C to OWB device, the DS2484, which does all the heavy lifting of timings etc (it is possible to bit-bash OWB, and the Pi has a driver to do it, but I doubt its as robust as using the purpose-designed interface). I think the Pi also has a driver for the DS2484 (and there may be newer devices since I last looked).
If you should come back to using the BME280, one possible solution is to use an intermediate board, such as a Pico. It has two I2C interfaces, so two of them would handle your 6 devices, and also be spread along the cable run, shortening the I2C bus lengths. Then use serial to talk to the Pi.
And the BME280 has only two supported addresses (the 'hardware solution' referred to is, I suspect a matter of disconnecting one pin of the BME280 from a supply voltage, and connecting it to the other).
One-wire bus is potentially much more robust - I've got some loops which are 20-30m long which have been working for years. It is also pretty tolerant of randomly wired busses (mixture of star, spur, bus etc).
There's an I2C to OWB device, the DS2484, which does all the heavy lifting of timings etc (it is possible to bit-bash OWB, and the Pi has a driver to do it, but I doubt its as robust as using the purpose-designed interface). I think the Pi also has a driver for the DS2484 (and there may be newer devices since I last looked).
If you should come back to using the BME280, one possible solution is to use an intermediate board, such as a Pico. It has two I2C interfaces, so two of them would handle your 6 devices, and also be spread along the cable run, shortening the I2C bus lengths. Then use serial to talk to the Pi.
Statistics: Posted by stevend — Thu Feb 01, 2024 1:31 pm