Arduino longas Distancias com fio

Preciso conseguir ler dados a uma longa distancia até 4Km
Pouca informação apenas o ou 1 para ligado e desligado
Tendo um arduino em uma ponta onde sai o fio ou mais fios(quantos menos melhor) preciso monitorar o trajeto se não foi rompido.
Ex:
arduino-----1km----|Componente|------2km-----|Componente|----3km----|Componente|-----4km---|C...|

Hoje utilizo arduino com reles alimentados com 12v 100a e um par de fios pra cada ponto, ligado ao seu respectivo rele.
Ex:
arduino_rele1---1km-----x(Curto)
arduino_rele2-----------------------------2km---x(Curto)
arduino_rele2------------------------------------------------------------3km---x(Curto)

Preciso de algum receptor ligado ao arduino e algo que consiga se comunicar com esse receptor de cada um dos pontos, pra que eu possa identificar quando for rompido o fio entre os pontos.

Obs:
Tem que ser pelos fios.
Distancia máxima 4km.
Quanto menos fios melhor.

Se alguém puder me ajudar

Pretendes comunicar ou apenas saber se o fio foi interrompido?

Que tal uma corrente de alguns miliamperes?

Senão podes tentar comunicar com RS485 ou RS422... mas não garanto que funcione com 4km.

Qualquer corrente ou voltagens serve

preciso saber onde foi rompido somente com uma precisão de 500 metros entre os pontos de conexão, com limite de ate 4 km

Para isso vais ter de colocar um "arduino" de 500 em 500 metros.

Arduino x Arduino consegue se comunicar sem necessidade de nenhum amplificador ?

RS485, funciona com 500 metros.