FlashESP : l’outil Web idéal pour programmer vos projets ESP32/ESP8266

FlashESP Web-based ESP32 programming tool

Selon cnx-software, FlashESP se présente comme un environnement de développement Web innovant, spécifiquement conçu pour créer des croquis Arduino et flasher des firmwares sur les plateformes matérielles ESP32 et ESP8266.

Compilation cloud et 1 clic pour flasher : une expérience utilisateur enrichie avec FlashESP

Initialement, on pourrait penser que cet outil n’est qu’une alternative à ESP Web Tools, généralement utilisé pour le flashage de firmware via le Web, notamment dans des projets tels qu’ESPHome. Cependant, FlashESP développe davantage ce concept en offrant une interface semblable à celle d’un IDE Arduino, permettant aux utilisateurs de sélectionner leurs cartes, de rédiger du code, d’importer des bibliothèques, et de flasher leur firmware directement à partir d’un navigateur adéquat, sans installation préalable requise sur leur ordinateur.

Ceux qui utilisent FlashESP peuvent s’attendre à une compilation en temps réel, avec des journaux disponibles immédiatement. Le système détecte également automatiquement les cartes et les bibliothèques. Grâce à l’intégration de fonctionnalités telles que le flashage en un clic, les utilisateurs peuvent connecter leur ESP via USB et effectuer le flashage directement depuis leur navigateur, sans avoir besoin de pilotes supplémentaires. Pour encore plus de collaboration, FlashESP propose des projets publics et offre la flexibilité de créer des projets privés, accessibles uniquement aux membres de l’équipe ou publiquement à tous.

Outil de programmation ESP32 basé sur le Web FlashESP

Tests pratiques : 5 minutes pour un projet de LED sur ESP32-S3

Pour mettre FlashESP à l’épreuve, j’ai décidé d’utiliser un mini-ordinateur M5Stack CardPuter Adv équipé d’un ESP32-S3. Le démarrage s’est effectué via une démo disponible sur la plateforme, qui était par défaut orientée vers l’ESP8266. J’ai cru qu’un prompt me demanderait de sélectionner ma carte après avoir cliqué sur « Flash Device Now », mais après avoir choisi le port série, un message d’erreur est apparu indiquant que ma carte ESP32-S3 n’était pas supportée.

Ne disposant pas d’une carte ESP8266 à portée de main, j’ai exploré des projets publics, notamment le XIAO-WIFI-BLINK-AP, conçu pour établir un point d’accès WiFi et faire clignoter une LED sur la carte XIAO ESP32S3.

FlashESP XIAO WiFi Blink AP

Après avoir créé un compte pour accéder aux fonctionnalités du site, j’ai pu cliquer sur « Flash to Device » et initier l’installation sur mon CardPuter Adv.

FlashESP Flash sur l'appareil

Après avoir redémarré l’appareil, j’ai cliquer à nouveau sur « Flash to Device » pour accéder aux logs. C’était un bon moment, car la démo XIAO WiFi Blink AP s’était lancée avec succès.

XIAO WiFi Blink AP sur le kit de développement CardPuter Adv ESP32 S3

Bien que le matériel différait, je n’ai pas été en mesure de confirmer le clignotement de la LED, mais l’accès au point d’accès et à l’interface Web était opérationnel.

Démo du point d'accès FlashESP ESP32-S3

Pour une utilisation plus personnalisée, j’ai voulu modifier le code afin d’activer la LED sur le CardPuter Adv. En accédant au fichier main.ino directement via le navigateur, j’ai cependant été accueillie par un message indiquant que l’éditeur était en mode lecture seule. Malheureusement, je n’ai pas eu l’opportunité de cloner un projet public, aussi j’ai simplement créé un nouveau projet nommé « CardPuter-Adv-Blink-RGB-AP » pour ma carte M5CardPuter.

Nouveau projet FlashESP

Après cela, j’ai créé un fichier main.ino, j’ai copié le code du projet « XIAO-WiFi-Blink-AP » et commencé à l’adapter pour mon matériel.

Modifier le code Arduino ESP32 dans Google Chrome

Pour ajouter des fonctionnalités, j’avais besoin de la bibliothèque FastLED. L’interface facilite cela avec un gestionnaire de bibliothèque, semblable à celui que l’on trouve dans l’IDE Arduino. J’ai donc pu rechercher et installer la bibliothèque en quelques clics.

Gestionnaire de bibliothèque ESPFlash

La phase de compilation a dû être effectuée. Après plusieurs essais, j’ai finalement réussi à obtenir un code fonctionnel. Grâce aux journaux de construction en temps réel, il était simple de déboguer. Ouvrir plusieurs fenêtres pour consulter le code et suivre l’interface de compilation était très pratique.

Succès de la construction ESPFlash

La dernière étape consistait à flasher l’appareil. J’ai cliqué sur « Device Flash », mais cela ne s’est pas bien passé.

L'installation de FlashESP a échoué

J’ai consacré près de 45 minutes à tenter diverses solutions et à reproduire la configuration de ma carte depuis la documentation de CardPuter Adv, mais cela n’a pas abouti.

Configuration de la carte FlashESP

Sans journal pour cette partie, la recherche des problèmes s’est révélée complexe. Finalement, j’ai réussi à télécharger le fichier firmware.bin et à le flasher avec esptool. Bien que le clignotement ait fonctionné via cette méthode, j’ai observé une erreur de comparaison SHA-256.

La comparaison FlashESP SHA-256 a échoué

En conclusion, bien que cet outil FlashESP offre de nombreuses fonctionnalités intéressantes, il présente encore quelques lacunes. Bien qu’il soit similaire à FlashMyPico pour la programmation des cartes Raspberry Pi Pico/Pico 2, il nécessite un peu plus de perfectionnements. L’expérience utilisateur bénéficie d’une interface accessible et d’un aperçu d’un environnement formatif prometteur.

  • AZDelivery 3X ESP-32 Dev Kit C V4 Compatible avec Arduino incluant Un Ebook!
  • Arduino Nano ESP32 with headers [ABX00083] - Carte compacte avec microcontrôleur ESP32, WiFi et Bluetooth intégrés, idéale pour projets IoT, automatisation et applications connectées avec Arduino IDE.