un'altra opzione potrebbe essere: rs485
ma la distanza massima pare essere 1200m, esistono ripetitori ma sicuramente devono essere alimentati.
CAN:
a 12kbps potresti trasmettere a 5km teoricamente, prova a informarti.
edit:
http://can.marathon.ru/projects/cans...2/RU-CAN02.pdf
stando a questo documento il limite č posto dal transciever, che normalmente regge fino a 1km.