@wallyllama said in Communication technology you'd use for new deployment:
My plan is to use rs-485, but my experience is all still theoretical so confirm anything I say here.
Higher speed and longer distance require better wiring, but a house should be well inside the limit even, if you snake a single wire all the way around the house. According to this link you may even be able to get away with some star topology
https://arduino-info.wikispaces.com/RS485Info
It seems the biggest issues on this forum with rs485 are collisions, and correct use of terminating and pull up/down resistors on the line. There is a lot of information and solutions to these out on the net. A separate ground wire is often one of the recomendations, but the inexpensive modules i have only have A and B, so im not sure exactly how the ground is wired in.
My thinking is I will divide my house into zones, with a separate rs-485 net for each, reducing length, number of devices(collisions), and possibly less grounding issues.
Ive heard the max485 chip isnt the best, so possibly buying better modules would be helpful. Maybe rs-422 or CAN might be other options.
This website talk about tens of meters wires to allow star configuration, I don't think it will be enough for any home
installation.
I found a discussion with a TI engineer about star topology and he strongly rejected the idea and explained it from the aspect of too many terminator resistors will lower too much the resistance between the lines (resistors in parallel), so there will be much higher current draw from the drivers, which will eventually fail from too much load.
I plan to run a 2-core wire for power and 2 twisted pais for data (telephone cable, only one pair will be used for RS485). Thinking to use the additional wires as interrupts indicators, so all the devices and the gateway on the same trunk will know if there is something to say on the other end.
Since RS485 are half-duplex, the gateway will have to ask every node what does it have to say, that way there should not be any collisions. The interrupt lines could save the questioning round if all the nodes are sleeping and there is nothing to transmit.
For now, if I go with RS485, I'd like to try multiplexing the trunks using 2 analog MUXes (one for every data line), so the gateway could address every trunk separately. The interrupt lines could help to decide what trunks to check every time.
If MUX won't work, adding few more RS485 chips are also possible, those are pretty cheap.