А чем плох RS-232 как сделано в VK5DJ контроллере?
В общем деление такое:
SPI , I2C - связь между микросхемами в пределах печатной платы (сантиметры).
RS232 - связь между устройствами на рабочем столе (несколько метров).
RS485 - до нескольких км.
Дальше интернетовские технологии, про них не говорю.
Вообще, RS485 это протокол поверх RS232. RS485 - приемник-передатчик по дифференциальной линии, земли общей не нужно в отличии от RS-232. Это важно для длинных линий (но в общем случае нужен уравнивающий потенциалы проводник). Дифференциальная линия это защита от дифпомехи (та которая наводится одновременно на оба проводника). RS485 - это согласованная линия, нагрузка регламентированная. RS485 - прием и передача по одной и той же линии в отличии от асинхронной работы RS232. RS232 работает точка-точка. RS485 - адресная, на одной линии можно много приборов повесить, но прием-передача, увы, по очереди, полудуплекс. Это расплата за дальность, защита от помех, экономия на проводах и железе.
Еще есть RS422 - полный дуплекс по дифлиниям, как RS232, точка-точка, когда надо два далеко расположенных устройства между собой связать.