HardwareSerial Nucleo_Master(D2, D8); // RX, TX 


// on declare 2 variables pour socker le message reçu
String msg_recu;

// fonction qui lit et stock ce que l'on tape dans la com serie avec le pc 
void readSerialPort(){
while (Nucleo_Master.available()) {          // quand la com serie est disponible   
  if (Nucleo_Master.available() > 0) {       // quand il y a quelque chose dans le buffer
    msg_recu = Nucleo_Master.readString();   // On récupère le message   
  }
}
Nucleo_Master.flush();                       // on vide le buffer
}

void setup(){
  Serial.begin(115200);
  Nucleo_Master.begin(9600); 
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LOW);
}

void loop(){
  // récupération du message à envoyer
  readSerialPort();
 
  // Envoie de la réponse vers la L476RG (esclave)
  if(msg_recu!=""){    
    Serial.print("Tu m'as envoyé : " );
    Serial.println(msg_recu);
    if (msg_recu.equals("allume")) {          // si le message recu est allume
      digitalWrite(LED_BUILTIN, HIGH);        // on allume la led
      Nucleo_Master.print("ON");              // et on envoie ON en réponse
    } else if (msg_recu.equals("eteint")) {   // si le message recu est eteint
      digitalWrite(LED_BUILTIN, LOW);         // on eteint la led
      Nucleo_Master.print("OFF");             // et on envoie OFF en réponse
    } else {
      Nucleo_Master.print(msg_recu);          // sinon on répond juste par le message recu
    }
    msg_recu="";                              // puis on vide notre variable
  }
}