In the current case there is a single signal conductor, tens (hundreds?) of meters long, which serially connects door and window sensors for a whole building. The sensors are simplest possible switches: all doors and windows closed means the electrical conductor is closed, if not, the conductor is open at a random point throughout the loop. I’m connecting the loop to an Arduino UNO board and wonder how strong drive strength I could need and how to design the sending/receiving end.
My current plan is to simply connect GND to one end of the conductor and at the receiving end place a pull-up to 5V, TVS diode and use a GPIO for reading the input. The reasoning is that the pull-up (driving source) should be closest to the receiving end to minimize risk of false readings.
Are there any common practices when designing such long serial signal lines? (And ways to estimate needed pull-up strength?)
Are there different strategies to protect the MCU board in the two different cases of interference when “loop” is closed and when it is open?