Christian Kakesa

lire en 3 minute(s)

Photo ESP8266 NodeMCU

Pour la petite histoire, lors du dernier Paris Redis Meetup, RedisLab nous a gracieusement offert un ESP8266 (NodeMCU ESP-12E) qui peut se programmer avec un IDE Arduino.

Redis iot ESP8266 Lab ESP8266 à Paris Redis meetup

Le LAB consistait à envoyer les données du capteur de luminosité à travers le Wifi de l’ESP8266 vers une base de données Redis. Pour la visualisation, un dashboard conçu avec AngularJS se chargeait de montrer les captures de chaque participant.

Installer l’IDE Arduino et configurer le module ESP8266

  • Télécharger l’IDE Arduino pour votre système d’exploitation : Linux, Windows ou Mac
    • Selon votre système d’exploitation, suivez le guide de démarrage
    • Exemple sur Ubuntu : ajouter votre utilisateur dans le groupe dialout afin d’avoir les permissions nécessaires d’écriture : sudo usermod -a -G dialout <username>. Fermer votre session graphique, puis ré-ouvrez de nouveau.
  • Ajouter le dépôt pour la carte ESP8266 :
  • Installer le plugin de la carte NodeMCU 1.0 :
    • Outils > Type de carte > Gestionnaire de carte Imprimé écran du gestiionnaire de carte
    • Rechercher esp8266 et sélectionner la dernière version du module Module ESP8266 community
    • Sélectionner le type de carte qui correspond à votre module, pour moi il s’agit du module NodeMCU 1.0 (ESP-12E Module) ; liste de la famille des cartes ESP8266 Image de sélection du module NodeMCU 1.0 (ESP-12E Module)

Premier programme, LED dancing

Ce premier programme de type Hello World que j’appelle LED dancing est relativement simple. Les commentaires vous expliquent ce que fait chaque ligne.

D4 correspond au connecteur numérique de la LED qui se trouve sur le module Wifi, les informations du schéma se trouvent sur le site internet officiel de l’ESP8266. vous pouvez essayer avec LED_BUILTIN qui correspond à D0 sur ma carte, pour la led par défaut.

Vous pouvez copier/coller le code ci-dessous puis appuyer sur les touches CTRL + U pour compiler et téléverser (uploader) le programme dans le microcontrôleur.

void setup() {
  pinMode(D4, OUTPUT);  // On configure D4 en mode OUTPUT
  Serial.begin(115200); // On configure le taux de transfert à 115200 bps
  while (!Serial);      // On attend que le canal de transmission soit prêt
  delay(10);            // On laisse une chance à d'autres traitements de se lancer
  Serial.println("LED dancing is ready !"); // On affiche un message sur le *Moniteur série*
}

void loop() {
  digitalWrite(D4, LOW);  // Allume la LED (bizarrement on utilise LOW)
  delay(1000);            // On attend 1 seconde (milli seconde)
  digitalWrite(D4, HIGH); // Éteint la LED
  delay(1000);            // On attend 1 seconde (milli seconde)
}

La led se met à clignoter toutes les secondes.

ESP8266 blink

Le prochain article expliquera les fonctions void setup(); et void loop();, puis affichera sur le moniteur série la valeur du capteur de lumière de notre montage.

On est loin de mon expérience FPGA avec l’IDE de Xilinx qui me semblait tout de même assez complexe il y a plusieurs années.

Je vais poursuivre cette prise en main d’Arduino et plius généralement de la programmation sur microcontrôleur avec la carte ESP8266.

comments powered by Disqus