I have a use case that i need to use one arduino or esp board And control relays that will be far from the arduino itself for about 150 or 200 meters Is this applicable? And what do you recommend to be able to design this solution
Quick drawing (sorry for it :D) the arduino in the middle and the relays are connected
Mikrocontroller pins are not designed to drive long wires. That would cost silicon area and therefore money. Even for short distances in many cases additional components are needed for filtering and protection.
If you want to look at the basics for long wires have a look at the following wikipedia page.
As you can see wires have inductive and capacitive components on top of the resistance. Each of these will create an issue like voltage and current spikes while switching and in combination they act as an antenna circuit coupling signals into your circuit.
To drive long wires you need a transceiver or a line driver.
Not a problem if the hardware is designed properly. Remember the Arduino is a sensitive logic device. Wires longer then a few a few centimeters will cause problems, sometimes even shorter ones do as well. A cheep and dirty trick is to use a RS485 driver and receiver. Simply connect one to operate your relay with the proper interface and wired for receive only. The second one connected to a digital pin on the Arduino. Wire that one so the transmitter is on all the time. Then simply turning the Arduino pin on and off will cause the relay to cycle. Viola a cheap way to run long wires from a Arduino.
"I have a use case that i need to use one arduino or esp board And control relays that will be far from the arduino itself for about 150 or 200 meters Is this applicable? And what do you recommend to be able to design this solution"
I'd get a ESP8266 wifi board and see if it can connect a wireless router or another wifi AP at the distances you are considering. If wiring is the only way to go, then google "RS232 distance" and check the range at different baud rates for possible solutions.