1er test sur ESP32 WROOM

Bonjour tout le monde !
J'ai acheté récemment un ESP32 WROOM et je cherche à le tester avant de me lancer dans mon projet.

J'ai du télécharger le driver sur le net, dans l'IDE arduino: j'ai sélectionné ma cartre ESP comme "ESP32 Dev Modul", vitesse d'upload = 115200.

J'ai lancé l'exemple de programme Wifi= SimpleWifiServer.
J'ai vérifié mon SSID et MDP et je l'ai inséré dans mon code.

Mon problème: J'ai ce fameux message d'erreur
"Leaving ... Hard reseting ..." ainsi qu'un message en blanc tout en bas (voir photo)

Avez vous une idée ? Merci !

Mon code est le suivant sans mon MDP wifi:

#include <WiFi.h>

const char* ssid     = "XXXXXXXXXXXXXX";
const char* password = "XXXXXXXXXXX";

WiFiServer server(80);

void setup()
{
    Serial.begin(115200);
    pinMode(5, OUTPUT);      // set the LED pin mode

    delay(10);

    // We start by connecting to a WiFi network

    Serial.println();
    Serial.println();
    Serial.print("Connecting to ");
    Serial.println(ssid);

    WiFi.begin(ssid, password);

    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }

    Serial.println("");
    Serial.println("WiFi connected.");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());
    
    server.begin();

}

int value = 0;

void loop(){
 WiFiClient client = server.available();   // listen for incoming clients

  if (client) {                             // if you get a client,
    Serial.println("New Client.");           // print a message out the serial port
    String currentLine = "";                // make a String to hold incoming data from the client
    while (client.connected()) {            // loop while the client's connected
      if (client.available()) {             // if there's bytes to read from the client,
        char c = client.read();             // read a byte, then
        Serial.write(c);                    // print it out the serial monitor
        if (c == '\n') {                    // if the byte is a newline character

          // if the current line is blank, you got two newline characters in a row.
          // that's the end of the client HTTP request, so send a response:
          if (currentLine.length() == 0) {
            // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
            // and a content-type so the client knows what's coming, then a blank line:
            client.println("HTTP/1.1 200 OK");
            client.println("Content-type:text/html");
            client.println();

            // the content of the HTTP response follows the header:
            client.print("Click <a href=\"/H\">here</a> to turn the LED on pin 5 on.<br>");
            client.print("Click <a href=\"/L\">here</a> to turn the LED on pin 5 off.<br>");

            // The HTTP response ends with another blank line:
            client.println();
            // break out of the while loop:
            break;
          } else {    // if you got a newline, then clear currentLine:
            currentLine = "";
          }
        } else if (c != '\r') {  // if you got anything else but a carriage return character,
          currentLine += c;      // add it to the end of the currentLine
        }

        // Check to see if the client request was "GET /H" or "GET /L":
        if (currentLine.endsWith("GET /H")) {
          digitalWrite(5, HIGH);               // GET /H turns the LED on
        }
        if (currentLine.endsWith("GET /L")) {
          digitalWrite(5, LOW);                // GET /L turns the LED off
        }
      }
    }
    // close the connection:
    client.stop();
    Serial.println("Client Disconnected.");
  }
}

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. ➜ déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans "Les bonnes pratiques du Forum Francophone”

Je n'ai pas l'impression que ce soit un message d'erreur : agrandis la fenêtre où se trouve ce message et regarde le reste : copie le dans ta réponse.

As-tu ouvert la console série : qu'affiche-t-elle ?

Effectivement, sur certains forum, ils disent que ce n'est pas un message d'erreur mais sur moniteur, rien ce se passe, même pas un caractère.

Je précise que si je selection comme type de carte "NodeMCU-32s"
j'ai comme message en blanc :
Sans titre
alors qu'avant j'avais un autre message (voir photo précédente) qui laisse penser qu'il y avait une erreur ..

Texte généré:

Compressed 198944 bytes to 102964...
Writing at 0x00010000... (14 %)
Writing at 0x00014000... (28 %)
Erreur d'ouverture du port série « COM4 ». (Port busy)
Writing at 0x00018000... (42 %)
Writing at 0x0001c000... (57 %)
Writing at 0x00020000... (71 %)
Writing at 0x00024000... (85 %)
Writing at 0x00028000... (100 %)
Wrote 198944 bytes (102964 compressed) at 0x00010000 in 9.3 seconds (effective 171.0 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 128...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (128 compressed) at 0x00008000 in 0.0 seconds (effective 847.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Bonjour @akawa

la fin du méssage sur la console indique que le flachage ("téléversement") s'est corretement déroulé puis que la carte a été resettée pour lancer l'ewxécution du code flashé

Pour voir le tarvail des Serial.print() ce code il faut ouvrir le moniteur et s'assurer que le débit est bien égal à celui programmé dans le code : 115200 bauds

Un détail de vocabulaire : ESP32 WROOM désigne un module sous capot métallique contenant un ESP32 et quelques composants additionnels. Rares sont les personnes utilsaint ce module nu, en génaral il est soudé sur une carte comportant d'autres composants imporants Mieux vaut nommer la carte entière ou mieux donner un lien vers la page du site marchand

Ca, c'est pas bon signe. Vérifie que tu as bien sélectionné le bon port (gestionnaire de périphériques)

Effectivement et pourtant :

Le moniteur est bien en 1152200 baud, toujours rien qui s'affiche.
Même si je créée un nouveau sketch et que je demande un simple Serial.print("Hello");

Essaye de changer de port USB, vérifie ton câble...

J'ai flashé l'ESP32, j'ai changé la fréquence de flash de 80 à 40 Mhz
et j'ai des lignes qui s'affichent dans le moniteur:

ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5828
entry 0x400806a8

Je suppose que c'est bon signe...

Bonjour @akawa

Je suppose que c'est bon signe...

OUi, l'ESP32 montre ici son démarrage avant éxécution du code

Oui, c'est bon signe et pour voir les message envoyés par le code il faut ouvrir à 115200 bauds le Moniteur Série(Outils/Moniteur Série) distinct de la console sur fond noir en dessous du code.

Un point de vocabulaire : ESP32 WROOM32 est un module sous capt métallique
ESP32-WROOM32
En général on l'utilise installé sur une carte avec des composants additionnels (régulateur de tension , interface USB....)
Quelle est la carte utilisée ? (lien vers le site marchand)