peticiones web entre arduinos

buenas estoy intentando realizar un sistema de balizas enlazados mediante red, he de aclarar que estas balizas estarán a mas de 100 mts de distancia, conectadas todos los nodos por medio de wifi a una red ya existente.
tengo el desarrollo de la parte logica input y output lista lo que necesito saber es si puedo con arduino enviar peticiones y a la vez recibir, quizas no al mismo tiempo.
la lógica es esta:
si nodo uno input 1 es HIGH = output 5 HIGH
y en base a eso envío Carácter "C" como cliente a arduino 2 para que su output 5 sea HIGH
y así con el tres y cuatro.
así mismo si en otro caso arduino 3 su input 1 es HIGH = su output 5 sea HIGH y en base a eso envío carácter "C" como cliente a arduino 4, arduino 1, arduino 2
para que estos actúen su output 5 a HIGH.
no se si le he liado, espero se entienda saludos
no es necesario que cada arduino tenga interfaz web, solo que interpreten todos los datos que reciben.
adjunto lo que tengo, solo falta lo importante escuchar al cliente o enviar a los servidores.

void setup() {
  // put your setup code here, to run once:
pinMode(3, INPUT);  //boton incendio
pinMode(4, INPUT);  //boton Quimico
pinMode(5, INPUT);  //boton temblor inundacion
pinMode(6, INPUT); // Accidente
  pinMode(7,OUTPUT); //Baliza Incendio
  pinMode(8,OUTPUT); // Baliza Quimico
  pinMode(9,OUTPUT); //Baliza temblor inundacion
  pinMode(10,OUTPUT); //Baliza Accidente
  pinMode(11, OUTPUT); //Baliza Edificio
}

void loop() {
  
if(digitalRead(3)== HIGH)     //Si presiono boton incendio se ilumina baliza incendio
{
  digitalWrite(7,HIGH);
  digitalWrite(11,HIGH); 
}
else
{
  digitalWrite(7,LOW);
  digitalWrite(11,LOW);
    
}
if(digitalRead(4)== HIGH)     //Si presiono boton incendio se ilumina baliza Quimico
{
  digitalWrite(8,HIGH);
  digitalWrite(11,HIGH); 
}
else
{
  digitalWrite(8,LOW);
  digitalWrite(11,LOW);
    
}
if(digitalRead(5)== HIGH)     //Si presiono boton temblor inundacion se ilumina baliza temblor inundacion
{
  digitalWrite(9,HIGH);
  digitalWrite(11,HIGH); 
}
else
{
  digitalWrite(9,LOW);
  digitalWrite(11,LOW);
    
}
if(digitalRead(6)== HIGH)     //Si presiono boton acidente se ilumina baliza accidente
{
  digitalWrite(10,HIGH);
  digitalWrite(11,HIGH); 
}
else
{
  digitalWrite(10,LOW);
  digitalWrite(11,LOW);
    
}
}