Académique Documents
Professionnel Documents
Culture Documents
2023
Introduction
L’ESP32 développé par la société Espressif , est une carte de développement à faible coût dédié à
l’internet des objets (IoT) et les applications embarquées. C’est un (SoC) system on a chip doté de
communications sans fil Wifi et Bluetooth.
Spécifications:
Comparatif des spécifications de ESP32 Vs Microbit Vs Arduino uno :
Nbre de coeurs 2 1 1
RAM 320 Ko 16 ko 2 Ko
flash 16 Mo 256 ko 32 Ko
GPIO pins 36 25 14
1
IOT_TP1_tutorial_1
2023
Description :
2
IOT_TP1_tutorial_1
2023
Hardware et software
• DOIT
• Espressif
– USB-to-UART bridge.
• LuaNode software
On peut assigner plusieurs fonctions au même pin, grâce au circuit de multiplexage de la carte
ESP32
On peut choisir le rôle d'un pin (UART, I2C, SPI) par programmation
La carte ESP32 est composée de :
3
IOT_TP1_tutorial_1
2023
On peut utiliser cette broche connectée à un bouton poussoir et au GND pour redémarrer
la carte ESP32.
Programmation de la carte :
Pour programmer la carte on peut utiliser les environnements de développement suivants:
• Arduino IDE
4
IOT_TP1_tutorial_1
2023
• Thonny IDE
• uPyCraft
• Espressif IDF (IoT Development Framework)
• Micropython
• JavaScript
• LUA
• Zerynth studio
…
Dans les projets à réaliser on va utiliser essentiellement Thonny IDE et Arduino IDE pour
programmer la carte ESP32.
Thonny IDE permet de programmer la carte ESP32 avec le Micro-python.
Annexe :
Il existe aussi la carte esp32 NodeMCU. NodeMCU est une plate-forme open source IoT,
matérielle et logicielle, basée sur un SoC Wi-Fi ESP8266 ou ESP32 . Le terme « NodeMCU » se
réfère par défaut au firmware plutôt qu'aux kits de développement.
5
IOT_TP1_tutorial_1
2023
6
IOT_TP1_tutorial_1
2023
Controller".
Il faut télécharger le pilote au lien suivant: Lien
Liens direct drivers: windows 7 windows 10 & windows 11
Décompresser le fichier CP210x_Windows_Drivers.zip puis exécuter le fichier correspondant à
votre architecture 32 bit ou 64 bit :CP210xVCPinstaller.exe
7
IOT_TP1_tutorial_1
2023
Terminer l'installation
8
IOT_TP1_tutorial_1
2023
Vous pouvez vérifier que le pilote est installé dans le gestionnaire de périphériques:
9
IOT_TP1_tutorial_1
2023
https://dl.espressif.com/dl/package_esp32_index.json
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-
pages/package_esp32_index.json
S'il y a déjà d'autres adresses dans ce champ, vous pouvez les séparer par des virgules.
On clique évidemment sur le bouton "OK" pour enregistrer les changements.
10
IOT_TP1_tutorial_1
2023
On se dirige ensuite vers le gestionnaire de carte, en passant par le menu "Outils / Type de
carte / Gestionnaire de cartes"
Le temps est venu de brancher le module ESP32 à un port USB de l'ordinateur. Sur ma carte,
une LED rouge s'allume pour indiquer qu'elle est alimentée.
Le menu "Outils / Type de carte" nous donne maintenant accès à une rubrique "ESP32
Arduino" qui comporte près d'une soixantaine de cartes ESP32 différentes! Si vous
reconnaissez le nom spécifique de votre carte dans la liste, sélectionnez-le, bien sûr, mais si
votre carte vous a simplement été vendue sous le nom de ESP32, le premier choix du menu,
intitulé "ESP32 Dev Module", fera parfaitement l'affaire.
Si vous êtes curieux de savoir ce qu'implique le choix d'un modèle de carte plutôt qu'un autre,
vous pouvez aller jeter un oeil sur le gitHub d'Arduino core for ESP32. Le
fichier boards.txt décrit le contenu du menu "Outils" pour chaque carte: certaines cartes
offrent plus d'options avancées que d'autres. De plus, le répertoire "variants" comporte les
définitions de broches pour chaque carte.
Par exemple, la plupart des cartes définissent la constante "LED_BUILTIN", qui contient le
numéro de la broche permettant de contrôler la LED intégrée à la carte. Puisque cette LED
n'est pas nécessairement associée à la même broche pour toutes les cartes, notre choix
générique "ESP32 Dev Module" ne définit pas cette constante.
Ensuite, c'est la routine habituelle (en supposant que vous êtes déjà familier avec la
programmation d'un Arduino): on sélectionne le port série correspondant à notre carte. Dans
12
IOT_TP1_tutorial_1
2023
mon cas, j'ai dû appuyer sur le bouton "BOOT" de ma carte pour que le port devienne
disponible dans le menu. J'ai aussi diminué un peu la vitesse de téléversement ("Upload
Speed"), car la valeur par défaut de 921600 bauds semble trop optimiste pour la qualité
douteuse de mon câble USB.
L'exemple "WiFiScan" (accessible par le menu "Fichier / Exemples / WiFi / WiFiScan" est un
bon moyen de vérifier le fonctionnement correct de votre module ESP32, puisqu'aucune
modification à ce sketch n'est nécessaire.
13
IOT_TP1_tutorial_1
2023
Pas de panique: ce problème très fréquent indique que le dispositif qui permettrait à ma carte
de se mettre en mode programmable ne fonctionne pas correctement. Le remède consiste à
appuyer sur le bouton "BOOT" de la carte ESP32 au moment où le messsage "Connecting....."
apparaît au bas de la fenêtre, et de maintenir ce bouton enfoncé jusqu'à ce que d'autres
messages soient affichés ("Chip is ESP32D0WDQ6 (revision 1)").
Le premier essai d'un microcontrôleur ne pourrait pas être complet sans le clignotement d'une
LED grâce à l'exemple Blink (menu "Fichier / Exemples / 01.Basics / Blink ).
Puisque cet exemple utilise la constante "LED_BUILTIN" qui n'est pas définie pour la carte
générique "ESP32 Dev Module" que j'ai sélectionnée, j'ai remplacé dans le sketch l'expression
14
IOT_TP1_tutorial_1
2023
J'ai ensuite branché une LED à une broche choisie au hasard (celle portant l'identification
"D21" sur la carte) et je l'ai fait clignoter avec succès en écrivant "digitalWrite(21, HIGH);"
dans le sketch.
15
IOT_TP1_tutorial_1
2023
16