0% ont trouvé ce document utile (0 vote)
2K vues12 pages

Esp 32

L'ESP32 est une série de microcontrôleurs populaires pour l'Internet des objets. Le document décrit les caractéristiques et variantes de l'ESP32, ainsi que les outils de développement et exemples d'applications comme les systèmes IoT et les synthétiseurs.

Transféré par

o88800537
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2K vues12 pages

Esp 32

L'ESP32 est une série de microcontrôleurs populaires pour l'Internet des objets. Le document décrit les caractéristiques et variantes de l'ESP32, ainsi que les outils de développement et exemples d'applications comme les systèmes IoT et les synthétiseurs.

Transféré par

o88800537
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Sommaire:

1. Introduction………………………………………………………………………….1
2. Caractéristiques techniques …………………………………………………………1
3. Variantes améliorées ………………………………………………………………...2
4. Outils de développement et systèmes………………………………………………..4
5. Systèmes électroniques l’utilisant …………………………………………………...5
6. Exemple de projet réalisé avec ESP32…………………………………………….....5
7. Conclusion …………………………………………………………………………..5

i
1. Introduction
L’ESP32 est une série de microcontrôleurs de type système sur une puce (SoC) d'Espressif
Systems, basé sur l'architecture Xtensa LX6 de Tensilica (en), intégrant la gestion du Wi-Fi et
du Bluetooth (jusqu'à LE 5.0 et 5.1) en mode double, et un DSP. C'est une évolution d'ESP8266.
Le principal outil de développement est ESPIDF, logiciel libre développé par Espressif, écrit
en C et utilisant le système temps réel FreeRTOS. Il intègre un nombre important de
bibliothèques et on retrouve dans son écosystème des bibliothèques tierce libres pour différents
types de périphériques liés à l'embarqué et au temps réel. Le ESP32-C3, WiFi & BLE, est une
variante, annoncée et sorti en novembre 2020, compatible broche à broche avec l'ESP8266,
mais utilisant l'architecture RISC-V 32 bits plutôt que Xtensa . Le support du développement
via la plateforme et l'IDE d'Arduino est disponible depuis la bibliothèque ESP32 2.0.0. Plus
généralement, La série ESP32-C est basée sur RISC-V et la série ESP32-S sur Xtensa LX6.
Son support Wi-Fi et Bluetooth, en fait un système apprécié dans le domaine de l'internet des
objets. Ce SoC rencontre un certain succès depuis quelques années à la fois pour son coût, ses
capacités et son intégration dans un nombre croissant de systèmes.

[Link] techniques
L'ESP32 est un microcontrôleur très populaire qui est largement utilisé pour le développement
de projets électroniques, notamment dans le domaine de l'Internet des objets (IoT). Voici
quelques caractéristiques physiques courantes de la carte ESP32 :
 Processeur (CPU) : L'ESP32 est équipé d'un processeur à double cœur Tensilica Xtensa
LX6, cadencé à des fréquences variables, généralement entre 80 MHz et 240 MHz.
 Mémoire : Il dispose généralement d'une mémoire flash intégrée pour le stockage du
programme (jusqu'à plusieurs mégaoctets), ainsi que d'une mémoire RAM pour le
stockage temporaire des données.
 Connectivité sans fil : L'ESP32 prend en charge différentes options de connectivité sans
fil, notamment le Wi-Fi et le Bluetooth. Il peut être utilisé pour la communication sans
fil et la connectivité réseau.
 GPIO (General Purpose Input/Output) : L'ESP32 est doté d'un certain nombre de
broches GPIO qui peuvent être utilisées pour interagir avec d'autres composants
électroniques, tels que des capteurs, des actionneurs etc
 Interfaces : Il dispose de diverses interfaces, y compris des interfaces série (UART, SPI,
I2C), des ports analogiques pour les capteurs analogiques, des interfaces pour les cartes
SD, etc.
 Antenne : L'ESP32 intègre souvent une antenne intégrée pour le Wi-Fi et le Bluetooth,
bien que certaines versions puissent avoir des connecteurs externes pour des antennes
externes.
 Alimentation : L'ESP32 peut être alimenté via une source externe (par exemple, une
batterie ou une alimentation électrique) et dispose généralement de régulateurs de
tension intégrés pour fournir des tensions de fonctionnement stables.
 Dimensions : Les cartes ESP32 existent dans différentes tailles et formes, mais elles
sont généralement compactes pour faciliter l'intégration dans des projets électroniques.
 Programmation : L'ESP32 peut être programmé à l'aide de l'IDE Arduino, PlatformIO,
ou d'autres environnements de développement. Il peut également être programmé en
utilisant le langage de programmation C/C++.

1
3. Variantes améliorées
ESP32-S2

 Comporte un processeur Xtensa LX7 pouvant monter jusqu'à


 240 MHz
 Un coprocesseur RISC-V est introduit pour le mode ULP.
 Accélération matérielle du chiffrement
 Il n'y a pas de fonctions Bluetooth
 WiFi 2.4 Ghz (IEEE 802.11b/g/n)
 FPU

ESP32-S3

 Comporte deux processeur Xtensa LX7 pouvant monter jusqu'à 240 MHz
 Accélération matérielle du chiffrement
 Wifi 802.11 b/g/n, Bluetooth 5.0 LE
 Un coprocesseur RISC-V est toujours présent pour le mode ULP

ESP32-PICO-D4

Il s'agit d'un System on Package (système dans un paquet) et non d'un SoC

 4MB SPI flash


 WiFi 802.11 b/g/n/e/i, BT consommation
moyenne de 80 mA.
Base RISC-V

Carte
NodeMC
U équipé
d'un

2
ESP32C
3-32S
ESP32-C3

Contrairement à ses prédécesseurs, le microcontrôleur principal est un unique cœur


d'architecture RISC-V RV32IMC 400 Ko de SRAM intégré. Il permet l'utilisation de ESP-
IDF, basé sur FreeRTOS , à une fréquence maximum de 160 MH., il apporte cependant de
meilleur performances qu'un seul cœur LX7 à 160 MHz.


 1 cœur RISC-V 32 bits jusqu'à 160 MHz
 Accélération du chiffrement
 WiFi 5.0 b/g/n 2.4 GHz, Bluetooth 5.0 LE
 Extensions de chiffrement AES

ESP32-C5

Basé sur un cœur RISC-V pouvant monter jusqu'à 240 Mhz, ce module n'a pas d'unité
d'accélération de chiffrement, mais gère par contre le WiFi 6.0 en double bande. Il permet
l'utilisation de ESP-IDF, basé sur FreeRT.

 1 cœur RISC-V 32 bits jusqu'à 240 MHz dual-band WiFi 6.0 802.11ax
(largeur de bande 20MHz) en
 2.4 GHz et 5.0 GHz, WiFi 4 802.11b/g/n (largeur 20MHz et
40MHZ), Bluetooth 5.0 LE

 Capteur de température et système d'horloge temps-réel (RTC).

ESP32-C6

Carte utilisant un ESP32-C6

Comme le C3, il se base sur un processeur d'architecture RISC-V.


 1 cœur RISC-V 32 bits jusqu'à 160 MHz
 Extension d'accélération du chiffrement AES
 IEEE 802.11ax (Wi-Fi 6) à 2.4 GHz, supportant une bande passante de 20 MHz
dans le mode 11ax et 20 or 40 MHz de bande passante dans les modes 11b/g/n
Bluetooth 5.0 LE (2 Mbps)

3
ESP32-C61

Comme le C6, il se base sur un processeur d'architecture RISC-V.

 1 cœur RISC-V 32 bits jusqu'à 160 MHz


 Extension d'accélération du chiffrement AES, ECDSA-based
Digital Signature (DS) peripheral, Trusted Execution Environment (TTE)

 IEEE 802.11ax (Wi-Fi 6) à 2.4 GHz, supportant une bande passante de 20 MHz
dans le mode 11ax et 20 or 40 MHz de bande passante dans les modes
802.11b/g/n
 Bluetooth 5.0 LE (2 Mbps) et BLE Mesh 1.1 Quad SPI PSRAM jusqu'à 120 MHz
module Event Task Matrix (ETM) module pour l'automatisation par déclencheur des
tâches.
ESP32-P4

 L'ESP32-P4 est une version comportant deux contrôleurs RISC-V à 400Mhz et un


contrôleur RISC-V basse consommation à 40 Mhz, pour le mode veille :
 2 cœurs RISC-V 32 bits jusqu'à 400 MHz
 1 cœur RISC-V 32 bits jusqu'à 40 MHz
 Un NPU, un décodeur H264 et JPEG, ainsi qu'un processeur géométrique 2D.
 Accélération du chiffrement AES jusqu'à ECDSA.
 Supporte ethernet, mais pas de réseau sans-fil.
 Compatible MIPI I3C

Série ESP32-H

Tous les SoC de la série ESP32-H utilise le jeu d'instruction RISC-V.

ESP32-H2

Également basé sur un cœur RISC-V 32 bits, orienté basse consommation et sécurité(en) «
ESP32-H2 ([Link] om/en/products/socs/esp32-h2) [archive] », sur
Espressif.

4. Outils de développement et système


Il est notamment supporté par les outils de programmation suivants :

 ESP-IDF (développement en C, avec outils en Python, se base sur FreeRTOS, c'est le


système de développement de base ;
 Apache NuttX, système compatible POSIX, porté sur ESP32-C3 (RISC-V)
uniquement.
 Arduino IDE avec le module ESP32 Arduino Core, interface en Java, développement
en C++ ;

4
 Espruino ;
 ESPHome, spécialisé domotique, comportant une interface web pour l'interaction ;
 FAUST, langage de programmation de traitement de données audio, utilisant son DSP
;
 MicroPython, une variante pour l'embarqué du langage Python ; mruby, une variante
pour l'embarqué du langage Ruby ;
 NodeMCU ;
 MicroEJ ;
 ESP32forth, programmation en Forth 32 bits pour ESP32

5. Systèmes électroniques l'utilisant


a- IoT

Les Cartes IoT NodeMCU les plus récents utilisent ESP32-S à la place de ESP8266.

Le kit de développement modulaire M5Stack.

Les cartes IoT TTGO


Les cartes ESP32 d'uPesy

Différents modules réseau sans fil, supportant LoRa, WiFi et Bluetooth, autonomes ou
intégrés dans d'autres cartes de développement, telles que les cartes de Sipeed basés sur
des processeurs RISC-V.

b- Synthétiseurs

L'ESP32 est adapté à la création des Synthétiseurs avancés, dont des synthétiseurs
analogiques. Le langage FAUST ou la bibliothèque ESP32soundsynth permettent de faciliter
le développement de synthétiseurs basés sur cette architecture[23]. L'échantillonnage utilisant
l'ADC intégré peut être effectué via la plateforme de développement [Link] est
notamment adapté à des synthétiseurs au format Eurorack, comme le CTAG-Strämpler. Qun-
synthesizer est un synthétiseur analogique portable, basé sur la carte ESP32-LyraT,
fonctionnant avec la carte mère Nunomo.

c- Console de jeu portable

Hardkernel, a créé en 2018 Odroid-Go, une console de jeu portable à très bas prix basée
sur cette puce.

6- EXEMPLE DE PROJET AVEC ESP32


THEME : CONTROLE D’ECLAIRAGE A DISTANCE AVEC ESP32

1- Objectifs
2- Matériels et logiciels utilisés
3- Fonctionnement
4- Code
5- Câblage

5
1- Objectifs

But de ce projet:
Dans ce projet on va allumer et éteindre des LEDs par WIFI avec la carte ESP32 et un
smartphone, en utilisant l’application BLYNK.

2- Matériels et logiciels utilisés

carte ESP32

La carte ESP32 est une carte de microcontrôleur basée sur le microcontrôleur ESP32
d’Espressif Systems. C’est une puce système à faible coût et à faible consommation d’énergie
conçue pour les applications de l’Internet des objets (IoT).

1 LED rouge-1 LED verte-1 LED jaune

Une diode électroluminescente (LED, ou “led” en anglais) est un composant électronique qui
produit de la lumière lorsqu’il est alimenté en courant électrique. Les leds sont souvent
utilisées dans les projets électroniques pour ajouter de la lumière ou indiquer des événements,
comme des alertes ou des notifications.

3 résistances de 220Ω

6
Une résistance est un composant électronique qui résiste au passage du courant électrique.
Elle est utilisée dans de nombreux projets électroniques pour contrôler le flux de courant dans
un circuit et protéger les autres composants du circuit contre les surintensités.

une plaque d’essai

Une plaque d’essai est un type de carte de développement électronique qui permet aux
développeurs de tester et de prototyper facilement des circuits électroniques. Elles sont
souvent utilisées par les développeurs pour tester rapidement des idées et des conceptions
avant de les intégrer à un projet plus important ou de les intégrer dans une carte de
développement plus permanente.

des fils de connexion

Les fils de connexion sont des fils électriques utilisés pour connecter des composants
électroniques à une carte de développement Arduino. Ils sont généralement utilisés pour
connecter des capteurs, des actionneurs, des afficheurs et d’autres composants à la carte
Arduino afin de créer des circuits électroniques.

3- Fonctionnement

Il est possible de contrôler une carte ESP32 à distance en utilisant la technologie WiFi.
Voici comment procéder :

7
Assurez-vous que votre carte ESP32 est connectée à un réseau WiFi et qu’elle est configurée
en tant que serveur Web en utilisant Micropyhton et la bibliothèque WiFi pour ESP32.

Un serveur Web pour ESP32 est un programme qui fait tourner une carte de développement
ESP32 en tant que serveur Web. Il permet à la carte ESP32 de recevoir des requêtes HTTP
(Hypertext Transfer Protocol) via un réseau local ou Internet et de répondre avec des données
telles que du texte, des images ou du code HTML.

Les serveurs Web pour ESP32 sont souvent utilisés dans les projets de domotique, de suivi
météorologique et de contrôle de l’environnement, car ils permettent de collecter et de
transmettre des données à partir de capteurs distants de façon fiable et sécurisée. Ils peuvent
également être utilisés pour créer des interfaces Web pour contrôler ou configurer des
dispositifs connectés, comme des lumières, des thermostats et des appareils électroménagers.

4- #define BLYNK_TEMPLATE_ID "TMPL2KX9GYaYZ"


5- #define BLYNK_TEMPLATE_NAME "IOT System"
6- #define BLYNK_AUTH_TOKEN "tJvor5Epwe_PfWgeM5avDOx8qFJngGFE"
7- #define BLYNK_PRINT Serial
8-
9-
10- #include <WiFi.h>
11- #include <WiFiClient.h>
12- #include <BlynkSimpleEsp32.h>
13-
14- char ssid[] = "BOB";
15- char pass[] = "123456789";
16-
17- // Définition des broches
18- #define lampe1 21
19- #define lampe2 22
20- #define lampe3 23
21-
22- // Déclaration des variables
23- int etat1 = 0;
24- int etat2 = 0;
25- int etat3 = 0;

26- BLYNK_WRITE(V1){
27- int etat1 = [Link]();
28- [Link](V1, etat1);
29- // Contrôle de la barrière
30- if (etat1 == 0) {
31- digitalWrite(lampe1,LOW);
32- }
33- //else if (etat == 1) {
34- else{ // Ouvrir la barrière
35- digitalWrite(lampe1,HIGH);
36- }
8
37- }
38- BLYNK_WRITE(V2){
39- int etat2 = [Link]();
40- [Link](V2, etat2);
41- if (etat2 == 0) {
42- digitalWrite(lampe2,LOW);
43- }
44- //else if (etat == 1) {
45- else{
46- digitalWrite(lampe2,HIGH);
47- }
48- }
49- BLYNK_WRITE(V3){
50- int etat3 = [Link]();
51- [Link](V3, etat3);
52- // Contrôle de la barrière
53- if (etat3 == 0) {
54- digitalWrite(lampe3,LOW);
55- }
56- //else if (etat == 1) {
57- else{ // Ouvrir la barrière
58- digitalWrite(lampe3,HIGH);
59- }
60- }
61-
62- void setup() {
63- pinMode(lampe1, OUTPUT);
64- pinMode(lampe2, OUTPUT);
65- pinMode(lampe3, OUTPUT);
66- [Link](115200);
67-
68- [Link](BLYNK_AUTH_TOKEN, ssid, pass);
69- }
70-
71- void loop() {
72- [Link]();
73- }

4- Câblage

Pour réaliser le montage, on connecte respectivement les LEDs verte, jaune, rouge
aux broches D21, D22, D23 de la carte ESP32.

9
[Link]
En résumé, le ESP32 est un microcontrôleur puissant et polyvalent qui offre des
fonctionnalités avancées pour le développement de projets IoT et embarqués. Sa
combinaison de connectivités dans fil, de performances de traitement et de nombreuses
interfaces en fait un choix populaire parmi les développeurs.
Pour finir voici un tableau comparatif de l’ESP32 avec d’autres cartes similaires :

ESP32 ESP8266 Arduino UNO Raspberry Pi Zero

Fréquence 160 Mhz 80 Mhz 16 Mhz 1 GHz


Ports Digitaux 36 17 14 28
Ports Analogiques 18 1 6 -
X X
Bluetooth 4.0 Intégré - -
X X X
WiFi Intégré -
X X X
Alimentation USB -

TABLE Comparatif des cartes électroniques

10

Vous aimerez peut-être aussi