22-08-2025, 12:32 PM
(Modification du message : 22-08-2025, 12:35 PM par FastFrench.)
Bonjour.
Chose promise, chose due. Voici quelques explications sur le débogage du code tournant sur un ESP (local via USB ou distant via Wifi).
Déboguer à distance une application sur ESP32 (WiFi) : méthodes et outils
Le débogage d’une application sur ESP32 connecté en WiFi peut être complexe, mais plusieurs méthodes existent selon votre matériel et vos besoins.
1. Débogage avec Arduino IDE : simplicité avant tout
a. Moniteur Série et debug par messages
Le plus simple est d’envoyer des messages sur la liaison série (UART) et de les lire via le Moniteur Série de l’IDE Arduino.
On peut créer une console réseau WiFi avec WiFiServer:
Dans
, appeler
après la connexion WiFi. Sur PC, on se connecte en Telnet sur IP ESP32 port 2323 au client TCP.
2. Debug avancé sur ESP32 : avec ou sans matériel supplémentaire ?
a. Debug avancé sans matériel supplémentaire (USB Serial JTAG)
Certains modèles ESP32 intègrent "USB Serial JTAG" :
b. Debug matériel JTAG classique
Pour les modèles plus anciens (ex : ESP32 WROOM), un adaptateur externe type ESP-Prog est nécessaire.
c. Debug logiciel
Possible sur tous les modèles par logs UART ou WiFi, flags dans le code, mais sans breakpoints.
3. Les autres IDE et Visual Micro
Visual Micro facilite le developpement Arduino/ESP32 mais ne gère pas le debug matériel avancé.
PlatformIO et ESP-IDF offrent un debug matériel complet avec JTAG ou USB Serial JTAG.
4. Résumé : modes de debug
5. Conseils pratiques
Conclusion
Le debug à distance sur ESP32 va du simple log à un debug avancé accessible très facilement avec les modèles ESP32 modernes via “USB Serial JTAG”. Arduino IDE et Visual Micro sont simples, mais PlatformIO et ESP-IDF avec cartes modernes offrent le maximum de confort.
Chose promise, chose due. Voici quelques explications sur le débogage du code tournant sur un ESP (local via USB ou distant via Wifi).
Déboguer à distance une application sur ESP32 (WiFi) : méthodes et outils
Le débogage d’une application sur ESP32 connecté en WiFi peut être complexe, mais plusieurs méthodes existent selon votre matériel et vos besoins.
1. Débogage avec Arduino IDE : simplicité avant tout
a. Moniteur Série et debug par messages
Le plus simple est d’envoyer des messages sur la liaison série (UART) et de les lire via le Moniteur Série de l’IDE Arduino.
- Limite : connexion USB nécessaire, debug basique.
On peut créer une console réseau WiFi avec WiFiServer:
Code :
WiFiServer debugServer(2323);
WiFiClient debugClient;
// Cette fonction peut être utilisée partout dans le reste du code pour envoyer un message sur une console TelNet distante.
// Et l'avantage de passer par une fonction unique dédiée, c'est qu'on peut facilement changer de mode de communication en adaptant juste cette fonction
// On peut par exemple revenir à une communication série traditionnelle en replaçant le code de la fonction par Serial.println(msg);
void Debug(String msg) {
// Si un nouveau client arrive, on le prend
if (debugServer.hasClient()) {
if (debugClient && debugClient.connected()) {
debugClient.stop(); // On vire l’ancien si déjà connecté
}
debugClient = debugServer.accept();
}
// Si on a un client valide, on envoie
if (debugClient && debugClient.connected()) {
debugClient.println(msg);
}
}
Code :
setup()
Code :
debugServer.begin()
2. Debug avancé sur ESP32 : avec ou sans matériel supplémentaire ?
a. Debug avancé sans matériel supplémentaire (USB Serial JTAG)
Certains modèles ESP32 intègrent "USB Serial JTAG" :
- ESP32-S2
- ESP32-S3
- ESP32-C3
b. Debug matériel JTAG classique
Pour les modèles plus anciens (ex : ESP32 WROOM), un adaptateur externe type ESP-Prog est nécessaire.
c. Debug logiciel
Possible sur tous les modèles par logs UART ou WiFi, flags dans le code, mais sans breakpoints.
3. Les autres IDE et Visual Micro
Visual Micro facilite le developpement Arduino/ESP32 mais ne gère pas le debug matériel avancé.
PlatformIO et ESP-IDF offrent un debug matériel complet avec JTAG ou USB Serial JTAG.
4. Résumé : modes de debug
- []Console série USB : logs, connexion filaire requise []Console WiFi TCP : logs via WiFi, simple à distance []Debug USB Serial JTAG : breakpoints sur ESP32-S2/S3/C3 (câble USB) []Debug matériel JTAG : breakpoints sur anciens modèles, sonde externe nécessaire
5. Conseils pratiques
- []Commencez par le debug série ou WiFi simple []Préférez ESP32-S2/S3/C3 pour un debug avancé sans matériel externe []Utilisez PlatformIO ou ESP-IDF pour les fonctionnalités avancées []Protégez votre réseau WiFi pendant le debug distant
Conclusion
Le debug à distance sur ESP32 va du simple log à un debug avancé accessible très facilement avec les modèles ESP32 modernes via “USB Serial JTAG”. Arduino IDE et Visual Micro sont simples, mais PlatformIO et ESP-IDF avec cartes modernes offrent le maximum de confort.