Bonjour,
J'ai un NodeMCU V3 ESP8266 avec lequel je souhaite utiliser le mode de sommeil profond. Mais la carte à un comportement étrange. J'en ai essayé une autre ... comportement identique. J'ai donc écrit un programme très simple pour reproduire le problème.
void setup() {
Serial.begin(74880);
Serial.setTimeout(2000);
while(!Serial) { }
Serial.println("Started");
ESP.deepSleep( 15 * 1000000 );
}
void loop() {
}
Comme vous le voyez, le code est très simple : il doit simplement afficher "Started" au réveil puis se rendormir 15 secondes. (la pin D0 est reliée à la pin RST)
La vitesse de 74880 est choisie pour éviter d'afficher des hiéroglyphes au début de l'init et permet d'afficher en clair ce qu'envoie le module avant le setup.
Résultat affiché dans la console =>
12:38:12.716 ->
12:38:12.716 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6)
12:38:12.716 ->
12:38:12.716 -> load 0x4010f000, len 3460, room 16
12:38:12.716 -> tail 4
12:38:12.716 -> chksum 0xcc
12:38:12.716 -> load 0x3fff20b8, len 40, room 4
12:38:12.716 -> tail 4
12:38:12.716 -> chksum 0xc9
12:38:12.716 -> csum 0xc9
12:38:12.716 -> v00041c20
12:38:12.716 -> ~ld
12:38:12.810 -> Started
puis 15 secondes plus tard =>
12:38:27.499 ->
12:38:27.499 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6)
12:38:27.499 ->
Puis ensuite plus rien.
Le reset manuel provoque exactement le même phénomène. Au premier reset manuel on a l'affichage correct, puis au second reset on a juste la ligne ets....boot mode:(3,6). Et si on refait ensuite un reset on a de nouveau l'affichage correct et ainsi de suite.
Si j'enlève la ligne ESP.deepSleep, l'affichage se fait correctement à chaque reset manuel.
Pour info, voici la configuration de programmation dans l'IDE Arduino =>
*Type de carte: "NodeMCU 1.0 (ESP-12E Module)" *
Builtin Led: "2"
Upload Speed: "115200"
CPU Frequency: "80 MHz"
Flash Size: "4M B (FS:2MB OTA:-1019KB)''
Debug port: "Disabled"
Debug Level: "WIFI"
IwIP Variant: "v2 Lover Memory"
VTables: "Flash"
*C++ Exceptions: "Disabled (new aborts on oom)" *
Stack Protection: "Disabled"
Erase Flash: "Only Sketch"
*SSL Support: "All SSL ciphers (most compatible)" *
MMU: "32KB cache + 32KB IRAM (balanced)"
Non-32-Bit Access: "Use pgm_read macros for IRAM/PROGMEM"
Avez-vous une idée de la façon de résoudre ce problème ?