Publié le 5 mars 2020 - par

Utiliser un NodeMcu – ESP8266 ESP-12E avec le Raspberry Pi

Savez vous que vous pouvez tout à fait utiliser le Raspberry Pi pour programmer vos ESP8266 ? Ce tutoriel vous explique comment utiliser l’IDE Arduino sur le Raspberry Pi avec les ESP.

NodeMcu ESP-12E ESP8266 utilisé sur le Raspberry Pi

L’ESP8266

L’ESP8266 est un circuit intégré à microcontrôleur avec connexion Wi-Fi développé par le fabricant chinois Espressif.

En août 2014, les passionnés d’électronique découvrent la version ESP-01, de taille réduite, qui permet de connecter un microcontrôleur à un réseau Wi-Fi et d’établir des connexions TCP/IP avec des commandes Hayes. La traduction progressive de la documentation (à l’origine uniquement en chinois) ainsi que le prix réduit du circuit ont permis le développement d’une communauté de développeurs et de passionnés de l’ESP8266. Depuis le circuit ESP8266 a été décliné dans de nombreuses versions.

Les variantes ont toutes des spécificités. Certaines auront plus de broches de GPIO accessibles (2 seulement pour l’ESP8266 de base, 11 pour un ESP12), d’autres auront plus de mémoire flash disponible (entre 512K, 1MB or 4MB suivant les versions choisies). (Source Wikipedia)

L’IDE Arduino

L’IDE Arduino s’installe aisément sur Raspbian. Naviguez sur la page arduino.cc et téléchargez depuis la page Download la version arduino-1.8.12-linuxarm.tar.xz.

tar xvf arduino-1.8.12-linuxarm.tar.xz
cd arduino-1.8.12/
sudo ./install.sh

Vous avez un nouvel icône dans le menu Programmation : Arduino IDE. Dans les types de cartes (Outils => Type de carte) l’ESP ne figure pas, nous allons l’ajouter.

Nota : Lors de l’installation j’ai eu un message d’erreur, je n’ai pas trop cherché, je l’ai contourné en créant le fichier manquant manuellement.

Le message :

pi@raspberrypi:~/Downloads/arduino-1.8.12 $ sudo ./install.sh
Adding desktop shortcut, menu item and file associations for Arduino IDE...
touch: impossible de faire un touch '/root/.config/mimeapps.list': Aucun fichier ou dossier de ce type
/usr/bin/xdg-mime: 848: /usr/bin/xdg-mime: cannot create /root/.config/mimeapps.list.new: Directory nonexistent
done!

Le contournement :

pi@raspberrypi:~/Downloads/arduino-1.8.12 $ sudo mkdir /root/.config
pi@raspberrypi:~/Downloads/arduino-1.8.12 $ sudo touch /root/.config/mimeapps.list

Puis relancez l’installation.

Ajouter l’ESP8266 à l’IDE Arduino

Rendez vous sur la page web  https://github.com/esp8266/Arduino#installing-with-boards-manager

récupérez le lien .json encadré ci-dessus (https://arduino.esp8266.com/stable/package_esp8266com_index.json).

Dans l’IDE Arduino, ouvrez la fenêtre Fichier => Préférences

Collez le lien .json dans la zone indiquée par la flèche.

Ouvrez Outils => Type de Carte => Gestionnaire de carte

 

Cherchez la bibliothèque ESP8266 by ESP8266 Community et Cliquez sur InstallerL’installation commence. Attendez la fin de l’installation, fermez la fenêtre et redémarrez l’IDE Arduino.Vous avez maintenant accès aux ESP8266 dans la liste des cartes. Choisissez celui qui correspond à votre modèle. Pour moi c’est NodeMCU 1.0 (ESP-12E Module).

Vous récupérez également un certain nombre d’informations sur la carte.

Vérifiez que le port USB est bien indiqué. Si vous ne voyez pas d’USB0, laissez l’ESP connecté au port USB et redémarrez l’IDE.

Sélectionnez le port /dev/ttyUSB0 pour communiquer avec l’ESP-12E.

Test avec l’exemple Blink

Comme toujours c’est le clignotement d’une LED qui va permettre de tester la liaison et le fonctionnement de l’ESP.

Chargez l’exemple en passant par le menu Fichiers => ESP8266 => Blink

Le fichier exemple apparait dans la fenêtre.

Cliquez sur le bouton Téléverser. Cela lance la compilation du croquis (programme) et lance ensuite son transfert vers l’ESP8266. Pendant le transfert la LED bleue de l’ESP clignote rapidement de manière irrégulière (au rythme du transfert de données).

A la fin du transfert il ne doit pas y avoir de message d’erreur et “Téléversement terminé” s’affiche. Si tout s’est bien passé, la LED bleue de l’ESP clignote au rythme

  • Allumée : 1 seconde
  • Éteinte : 2 secondes

On va modifier le rythme pour s’assurer que le programme est bien transféré :

void loop() {
digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level
// but actually the LED is on; this is because
// it is active low on the ESP-01)
delay(1000); // Wait for a second
digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH
delay(2000); // Wait for two seconds (to demonstrate the active low LED)

modifiez le pour avoir

void loop() {
digitalWrite(LED_BUILTIN, LOW); // Allumer la LED
delay(100); // pendant 100 milli seconde
digitalWrite(LED_BUILTIN, HIGH); // Eteindre la LED
delay(150); // pendant 150 ms
digitalWrite(LED_BUILTIN, LOW); // Allumer la LED
delay(100); // pendant 100 milli seconde
digitalWrite(LED_BUILTIN, HIGH); // Eteindre la LED
delay(500); // pendant 500 ms

puis renvoyez le croquis vers l’ESP. Si la fréquence de clignotement de la LED a changé (2 flash brefs, une pause…), c’est bon, vous pouvez commencer à vous amuser 🙂

 

Un exemple

A titre d’exemple, voici une réalisation que m’a fait parvenir Thimotée :

L’ESP interroge l’API SNCF pour afficher les horaires des trains en gare. C’est un écran e-ink et les led clignotent en cas de retard.

 

Sources

Installer l’IDE Arduino pour Linux ARM (Raspberry Pi, Orange Pi, Odroid…)

https://www.instructables.com/id/Programming-ESP8266-ESP-12E-NodeMCU-Using-Arduino-/

ESP8266 Lolin NodeMcu v3

Share Button

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

5 réflexions au sujet de « Utiliser un NodeMcu – ESP8266 ESP-12E avec le Raspberry Pi »

  1. philippe dalet

    esp8266 + micropython
    J’utilise la carte esp8266 doit avec micropython installé dans la puce. En terme de puissance, cette carte se situe à mi-chemin entre un arduino-uno et un raspberrypi. Elle est parfaite à tout point de vue: prix (3 à 5e), puissance, capacité mémoire flash. Il suffit alors d’un éditeur très dépouillé comme mu-editor et vous pourrez l’utiliser avec des novices comme les élèves.
    Pour ma part, je vais l’utiliser avec mes élèves de 2de et de 1ere en enseignement scientifique sur des mini-projets (acquisition d’une grandeur physique via une page web).
    Ph.D

    Répondre
  2. Gordon

    Salut M. François Mocq.

    Nous sommes au cœur même de l’électronique pour débutant via l’arduino ou la raspberry.
    J’adore !

    @+

    Répondre
  3. Gilles Perrot

    Bonjour François, merci beaucoup pour ce tuto bien complet.
    Là, je commence à avoir un PC PI4 d’atelier bien achalandé avec Freecad, Cura, Kicad et Arduino IDE.
    De quoi s’éclater des soirées entières !!
    Merci encore 🙂 🙂
    Gilles

    Répondre
  4. Ping : Piloter un ESP8266 via une page WEB - Framboise 314, le Raspberry Pi à la sauce française....

  5. Ping : Apprendre à programmer Arduino avec ArduBlockly - Framboise 314, le Raspberry Pi à la sauce française....

  6. Ping : Installer MicroPython sur ESP8266 ESP12 NodeMCU - Framboise 314, le Raspberry Pi à la sauce française....

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP * Time limit is exhausted. Please reload CAPTCHA.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.