ESP8266-01 : Programmation avec l’IDE Arduino

Introduction :

Nous allons voir dans cet article comment programmer l’ESP8266-01 depuis l’IDE Arduino avec un premier exemple très simple à savoir faire clignoter une LED positionnée sur le port GPIO2 .

Attention, flasher c’est à dire programmer l’ESP avec notre programme supprime le firmware qui était présent sur l’ESP (programmé par défaut en usine) et avec lequel nous avons fait connaissance via les commandes AT dans l’article précédent de découverte de l’ESP https://phmarduino.wordpress.com/2016/01/14/demarrer-avec-lesp8266/

Les logiciels pour la programmation

Il y a plusieurs logiciels pour flasher son ESP comme l’utilisation par exemple des outils suivants :

  • Arduino,
  • ESP Flasher Tool (Windows),
  • ESPTool (Python) (Linux)
  • etc.

Dans cet article, pour la partie logicielle à savoir le codage, le téléversement et le moniteur série nous allons utiliser l’IDE Arduino classique.

Par contre pour le hardware nous utiliserons un composant spécialisé FTDI pour la conversion USB <> série lors des communications entre le PC et l’ESP.

Montage

Dans un premier temps nous allons faire un montage permettant d ‘utiliser le port série pour envoyer des commandes AT comme précédemment pour vérifier que tout fonctionne bien.

Avec :

  • RX convertisseur vers TX de l’ESP,
  • TX convertisseur vers RX de l’ESP.

esp_usb_serial_ftz

Une fois le montage réalisé, lançons une commande AT+GMR pour tester le bon fonctionnement :

esb usb serial test

Code

Entrez le code suivant dans l’IDE Arduino :

/*
Auteur : phmarduino
Date : 16/01/2016
Description : Clignotement LED sur GPIO2 de l ESP8266-01
 */

void setup() {
  // Initialisation GPIO2 en sortie
  pinMode(2, OUTPUT);
  digitalWrite(2, 0);
}

void loop() {
  Serial.println("Allumage LED");
  digitalWrite(2, 1);
  delay(1000);
  Serial.println("Extinction LED");
  digitalWrite(2, 0);
  delay(1000);
}

 

Programmation ESP

Pour programmer l’ESP , il faut l’éteindre puis relier GPIO0 à la masse et enfin le redémarrer.

NB : Il ne faut pas oublier de bien choisir dans l’IDE Arduino via le menu « Outils / Type de carte » le module « Generix ESP8266 Module » ainsi que le bon port.

L’ESP ne démarre alors pas son programme mais entre dans le mode  » UART download « . Tout ce qui est envoyé à la liaison série est alors enregistré dans la mémoire de l’ESP.

On peut donc téléverser le programme dans l’ESP à l’aide de l’IDE Arduino.

esp_blink_prog.png

Une fois le téléversement terminé, on peut éteindre l’ESP, enlever le branchement de GPIO0 à la masse puis redémarrer son ESP en mode exécution.

Tests

Il faut désormais ajouter sur le port GPIO2 une LED en série avec une résistance de 220 Ohms pour faire les tests une fois la programmation terminée.

La LED doit clignoter désormais et les messages suivants apparaissent dans la console série, indiquant que le programme fonctionne correctement :

esp_blink_console

 

 

3 réflexions au sujet de « ESP8266-01 : Programmation avec l’IDE Arduino »

  1. Bonjour,

    Merci pour votre tuto! ça marche super!
    J’ai voulu essayer autre chose, en branchant un Mosfet pour le GPIO2, avec pour le moment une arrivée 5v mais par la suite, l’idée sera de mettre du 12v, pour contrôler un ventilo. Pour la version d’essai, j’ai garder l’indicateur LED, mais votre programme. Mais pour le moment, aussitôt que je lancer
    Je ne sais pas si vous avez déjà fait ce genre de montage, mais le problème c’est que lors du branchement du port GPIO2, la LED reste toujours en position « ON ». Il faut d’abord débrancher le cable GPIO2, démarrer l’ESP, puis le rebrancher pour que la LED clignote.
    SI jamais vous avez des idées pour solutionner cela?
    En vous remerciant!

    J’aime

Laisser un commentaire