Communication Arduino Uno / ESP8266

Bonsoir à tous,

C'est mon premier message ici ! Je n'ai pas vu de fil pour se présenter, alors je me lance aussi sec.

Voilà, je voudrais faire communiquer en Wi-Fi un Arduino Uno R3 et un module ESP8266. J'arrive à lancer un serveur Web qui écoute mon réseau local via le Wi-Fi sur l'ESP8266 et qui écit sur le port série ce qu'on lui envoie, en mode "echo server". Et j'arrive à avoir un programme qui lit les entrées séries sur l'Arduino.

Malheureusemennt je n'arrive pas à récupérer dans l'Arduino ce que le serveur Web de l'ESP8266 écrit.

Voici le code pertinent de l'ESP8266 :

// Ici on récupère la valeur du 1° paramètre de l'URL et on l'écrit sur le port série
void handleRoot() {
  digitalWrite(led, 1);
  server.send(200, "text/plain", server.arg(0));
  digitalWrite(led, 0);
  Serial.print(server.arg(0) + "\n");
}

// et là, on lance le wifi et on ouvre le port série
void setup(void){
  pinMode(led, OUTPUT);
  digitalWrite(led, 0);
  Serial.begin(57600);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
}

Et voici le code pertinent de l'Arduino :

// newMessage est lue sur le port série et affichée sur un écran
void readSerial(void)
{
  static uint8_t  putIndex = 0;

  while (Serial.available())
  {
    newMessage[putIndex] = (char)Serial.read();
    if ((newMessage[putIndex] == '\n') || (putIndex >= BUF_SIZE-3)) // end of message character or full buffer
    {
      // put in a message separator and end the string
      newMessage[putIndex++] = ' ';
      newMessage[putIndex] = '\0';
      // restart the index for next filling spree and flag we have a message waiting
      putIndex = 0;
      newMessageAvailable = true;
    }
    else if (newMessage[putIndex] != '\r')
      // Just save the next char in next location
      putIndex++;
  }
}


void setup()
{
  Serial.begin(57600);
  Serial.print("\n[MD_MAX72XX Message Display]\nType a message for the scrolling display\nEnd message line with a newline");
}

Quand j'ouvre un moniteur série de l'Arduino IDE, que ce soit sur l'IDE de l'ESP8266 ou sur l'IDE de l'Arduino, quand je tape un texte, il est effectivement affiché sur l'écran. Mais quand j'invoque par exemple un GET http://192.168.1.26/?blah=blah je n'ai pas le texte "blah" qui s'affiche, alors que c'est ce que je recherche.

Auriez-vous une idée, SVP ?

J'ai élagué mon code au maximum en essayant de ne donner que le code "utile", mais si vous voulez d'autres infos, n'hésitez pas.

Merci d'avance !

Manque la loop du second programme pour qu’on puisse vous aider ainsi qu’un schéma de branchement - y compris USB et alimentation lors de vos tests...

Qui et quand appelle readSerial() ou traite newMessageAvailable ?

vous avez aussi un microcontoleur en 3.3V et l’autre en 5V comment gérez vous les transformation de tension?