Microcontrôleurs Lab

Table des matières

Ce tutoriel concerne la référence de brochage de l’ESP8266 et les différents types de cartes ESP8266 comme Nodemcu, ESP01 , ESP12. Tout d’abord, je vais donner la vue d’ensemble du CI ESP8266 et de son brochage et après cela, je vais fournir la référence de brochage des cartes ESP8266 les plus populaires.

L’ESP8266 est une micropuce dans un boîtier QFN ayant des capacités à la fois de suite TCP/IP et de microcontrôleur. Esp8266 fournit une solution WiFi hautement intégrée qui répond aux besoins des industries de l’Internet des objets tels que le faible coût, l’utilisation efficace de l’énergie, la performance digne de confiance et le design compact. Il est fabriqué par Espressif Systems à Shanghai, en Chine.

Possédant des capacités complètes de mise en réseau WiFi, il peut fonctionner comme un esclave d’un microcontrôleur hôte ou comme une application autonome. Quand nous disons l’esclave à un microcontrôleur hôte, cela signifie qu’il peut utiliser comme adaptateur WiFi à n’importe quel microcontrôleur utilisant des interfaces SPI ou UART. Alors que l’utilisation comme une application autonome, il peut effectuer les capacités du microcontrôleur et de la mise en réseau WiFi.

Esp8266 est basé autour de la série Diamond L106 de Tensilica qui est un processeur 32 bits et ont SRAM sur la puce. Intègre également des modules de puissance, un balun RF, un récepteur et un émetteur RF, un récepteur et un émetteur analogique, une bande de base numérique, un amplificateur, des filtres et quelques autres composants minimaux.

Spécifications de l’ESP8266

Les spécifications de l’ESP8266 se divisent en trois parties : matériel, logiciel et Wi-Fi. Dans la spécification matérielle, sa taille de paquet est QFN 32pins avec une dimension de 5mm x 5mm. Les tensions de fonctionnement vont de 2,5V à 3,6V. La puce consomme 80mA de courant en moyenne. Son unité centrale est le Tensilica L106, un processeur 32 bits avec SRAM intégré. L’interface périphérique contient UART, SDIO, SPI, I2C, I2S, télécommande IR, GIPO’s, ADC, PWM, LED Light et bouton.

Son firmware peut être mis à jour en utilisant OTA et UART. Il utilise IPv4, TCP, UDP, et HTTP comme protocoles de réseau. L’utilisateur peut configurer en utilisant l’ensemble des commandes AT, le serveur Cloud et en utilisant une application mobile.

Principes et descriptions de la puce ESP8266

Principes du boîtier QFN à 32 broches.

  • Pin1 : VDDA est une broche d’alimentation pour les plages d’alimentation analogiques de 2,5V à 3,6V.
  • Pin2 : LNA est une broche d’entrée/sortie spécifiquement utilisée pour l’interface d’antenne RF. La puce produit une impédance de 39+j6 Ω.
  • Pin3 : VDD3P3 est une broche d’alimentation pour fournir des plages de puissance d’amplificateur de 2,5V à 3,6V.
  • Pin4 : VDD3P3 est une broche d’alimentation fournir des gammes de puissance d’amplificateur de 2,5V à 3,6V similaire à la broche3.
  • Pin5 : VDD_RTC est catégorisé comme une broche d’alimentation et fournir 1,1V mais cette broche n’est pas connectée.
  • Broche6 : TOUT est une broche d’entrée fonctionne comme broche ADC pour tester les tensions d’alimentation de Pin3 et Pin4 et les tensions d’entrée de TOUT broche6. Ces deux fonctions ne peuvent pas fonctionner simultanément.
  • Pin7 : CHIP_EN I une broche d’entrée. Lorsque la broche CHIP_EN est HAUT la puce fonctionne correctement lorsque BAS la puce a consommé une petite quantité de courant.
  • Broche 8 : XPD_DCDC est une broche d’entrée/sortie qui est utilisée pour réveiller la puce du mode de sommeil profond. Communément, elle est connectée à GPIO16.
  • Pin9 : MTMS est une broche d’entrée/sortie étiquetée GPIO14 et elle est utilisée dans SPI comme broche d’horloge (SPI_CLK).
  • Pin10 : MTDI est une broche d’entrée/sortie étiquetée GPIO12 et elle est utilisée dans SPI comme broche Master-In-Slave-Out (SPI_MISO).
  • Pin11 : VDDPST est une broche d’alimentation. C’est une alimentation d’entrée/sortie numérique dont les tensions vont de 1,8V à 3,6V. Similaire à la broche 17.
  • Broche 12 : MTCK est une broche d’entrée/sortie étiquetée comme GPIO13 et elle est utilisée dans SPI comme broche maître- sortie-esclave-in (SPI_MOSI) ainsi qu’utilisée dans UART comme broche Clear To Send (UART_CTS).
  • Broche 13 : MTDO est une broche d’entrée/sortie étiquetée GPIO15 et elle est utilisée dans SPI comme broche de sélection de puce (SPI_CS) ainsi que dans UART comme broche de demande d’envoi (UART_RTS).
  • Pin14 : GPIO2 est une broche d’entrée/sortie utilisée comme UART TX pendant la programmation flash.
  • Pin15 : GPIO0 est une entrée/sortie utilisée comme broche de sélection de puce2 en SPI (SPI_CS2).
  • Pin16 : GPIO4 est une broche d’entrée/sortie purement utilisée à des fins d’entrée et de sortie.
  • Pin17 : VDDPST est une broche d’alimentation. C’est une alimentation d’entrée/sortie numérique dont les tensions vont de 1,8V à 3,6V. Similaire à la broche 11.
  • Broche 18 : SDIO_DATA_2 est une broche d’entrée/sortie étiquetée GPIO9 et utilisée pour se connecter à la broche de données 2 de la carte SD.
  • Broche 19 : SDIO_DATA_3 est une broche d’entrée/sortie étiquetée GPIO10 et utilisée pour se connecter à la broche de données 3 de la carte SD.
  • Pin20 : SDIO_CMD est une broche d’entrée/sortie étiquetée comme GPIO11 et utilisée pour se connecter à la broche de commande de la carte SD
  • Pin21 : SDIO_CLK est une broche d’entrée/sortie étiquetée comme GPIO6 et utilisée pour se connecter à la broche d’horloge de la carte SD.
  • Pin22 : SDIO_DATA_0 est une broche d’entrée/sortie étiquetée GPIO7 et utilisée pour se connecter à la broche de données 0 de la carte SD.
  • Pin23 : SDIO_DATA_1 est une broche d’entrée/sortie étiquetée GPIO8 et utilisée pour se connecter à la broche de données 1 de la carte SD.
  • Pin24 : GPIO5 est une broche d’entrée/sortie purement utilisée à des fins d’entrée et de sortie.
  • Pin25 : U0RXD est une broche d’entrée/sortie étiquetée comme GPIO3 et utilisée comme UART RX pendant la programmation flash.
  • Pin26 : U0TXD est une broche d’entrée/sortie étiquetée comme GPIO1 et utilisée comme UART TX pendant la programmation flash. Également utilisée comme broche de sélection de puce SPI 1 (SPI_CS1).
  • Broche 27 : XTAL_OUT est classée comme une broche d’entrée/sortie et connectée à la sortie de l’oscillateur à cristal.
  • Broche 28 : XTAL_IN est classée comme une broche d’entrée/sortie et connectée à l’entrée de l’oscillateur à cristal.
  • Pin29 : VDDD est une broche d’alimentation fournir des plages de puissance analogique de 2,5V à 3,6V.
  • Pin30 : VDDA est une broche d’alimentation fournir des plages de puissance analogique de 2,5V à 3,6V. Similaire à la broche29.
  • Broche31 : RES12K est une broche d’entrée qui est connectée en série avec des résistances de 12 kΩ et connectée à la masse.
  • Broche32 : EXT_RSBT est une broche d’entrée utilisée pour reposer la puce en fournissant un signal de réinitialisation externe qui est actif à un niveau de tension bas.
  • Pin33 : GND est une broche d’alimentation agit comme une masse pour la puce.

Toutes les GPIO peuvent être utilisées comme broche d’entrée et de sortie mais elles ont aussi leur fonction spécifique.

Schéma

Les schémas de l’ESP8266 comprennent les composants suivants :

  • Alimentation électrique
  • Séquence de mise sous tension et réinitialisation
  • Flash
  • Oscillateur à cristal
  • RF
  • Résistance externe
  • UART

Jusqu’à présent, nous couvrons le préambule de l’Esp8266, le schéma fonctionnel, la disposition des broches, la description et les schémas.

En août 2014, Espressif Systems a lancé son premier module brut qui est fabriqué par la troisième partie AI-Thinker et le module référencé comme module ESP-01. Depuis lors, Ai-Thinker a développé une série de modules basés autour de l’ESP8266, cette série référencée comme modules ESP-xx va de 01 à 14.

Pinout de différents types de modules ESP8266

Dans cette section de l’article, nous allons parler du pinout de différentes versions de module ESP8266 en commençant par ESP-01 à ESP-12.

Espressif Systems a publié son premier kit de développement logiciel officiel pour programmer la puce directement sans interfaçage avec un microcontrôleur externe. Depuis lors, il existe de nombreux SDK officiels mais Espressif ne maintient que deux SDK stables l’un est basé sur FreeRTOS et l’autre sur les callbacks. Il existe également une variété de SDK open source pour ESP8266.

Arduino : est le SDK le plus utilisé en raison de sa popularité. Il s’agit d’un SDK basé sur C++. L’ESP6266 est facile à programmer comme les cartes Arduino. Les fichiers de base sont disponibles sur GitHub.

NodeMCU : est un kit de développement logiciel basé sur Lua.

MicroPython : est l’utilisation du langage python pour les dispositifs embarqués.

Espruino, Mongoose OS, uLisp, Sming, Platform IO, ESP Easy, Smick, ESP Open RTOS sont quelques autres SDK open source.La nécessité de ces cartes de développement est due au fait que la série de modules ESP-xx n’intègre pas de régulateur de tension, de pont USB vers UART comme le CH340G et le CP2102 de Silicon Lab et de connecteur micro USB. Auparavant, nous devions acheter séparément le régulateur de tension et le pont USB à UART, puis les câbler avec les modules ESP-xx pour le flasher.

Nous allons discuter ici principalement de la carte de développement basée autour du module ESP-12E.

Pinout du module ESP8266 12E

Le module ESP8266 12E possède un total de 22 broches qui comprennent

No. de broches Etiquette de broche Description
17 GPIO Les broches GPIO vont de GPIO0 à GPIO16 et comprennent des broches d’interface SPI, I2C, SDIO, UART.
1 ADC Convertisseur analogique-numérique 10 bits.
1 VCC Tension d’alimentation 3.3V
1 GND Broche de masse
1 RST Broche de repos
1 Enable Pince d’activation de la puce

ESP8266 12E Wemos D1 Mini pinout

La carte de développement Wemos D1 Mini possède un total de 16 broches dont 12 sont actives, utilise le module ESP-12, le bouton de réinitialisation intégré, le régulateur de tension 3.3 régulateur de tension, Micro USB, pont USB à UART et quelques autres composants.

.

No. de

Pin

Label Description
1 3.3V 3.3 volts pin
1 5.0 Entrée tension 5V broche
1 GND Broche de masse
1 ADC Convertisseur analogique-numérique 10 bits
1 RST Pince de réinitialisation
9 D0 à D8, Pins d’entrée/sortie également utilisées pour SPI et I2C, Flash.
2 RX,TX Interface UART.

Pinout du module ESP8266 01

Le module ESP8266 01 est différent mais couramment utilisé comme les cartes de développement ci-dessus. Cette carte n’est pas breadboard friendly souvent module de programmation séparé est utilisé pour la programmation. Il a un total de 8 broches dans lequel 6 broches sont actives.

.

No. of

Pin

Label Description
1 3.3V Supply 3.3 volts broche
1 GND Masse broche
1 RST Pince de réinitialisation
1 CH_PD/EN Pince d’alimentation et d’activation de la puce
4 GPIO 0 à 3 Interface UART et broches d’entrée/sortie

Principes de la carte de développement NodeMCU ESP8266 12E

La carte de développement NodeMCU possède un total de 30 broches dont 14 sont actives, utilise le module ESP-12, le bouton reset et flash intégré, 3.3 régulateur de tension, Micro USB, USB à UART Bridge et quelques autres composants.

Nombre de

Pin

Label Description
3 3.3V 3.3 volts broches
1 Vin Entrée tension 5V broche
4 GND Masse broches
1 ADC Convertisseur analogique-numérique 10 bits
1 RST Pince de réinitialisation
1 EN Pince d’activation de la puce
1 CLK CLK pour l’interface SPI et SDIO
1 SD0 Pin de données 0 pour SDIO et pin MISO pour l’interface SPI.
1 CMD Pince de commande pour l’interface SDIO et broche de sélection de puce pour l’interface SPI.
1 SD1 Pince de données 1 pour l’interface SDIO et pince MOSI pour l’interface SPI.
1 SD2 Pince de données 0 pour l’interface SDIO et également utilisée comme GPIO9.
1 SD3 Pince de données 3 pour interface SDIO et également utilisée comme GPIO10.
2 RSV Pins réservés.
11 D0 à D8, RX, TX Pins d’entrée/sortie également utilisées pour UART, SPI, I2C, Flash et pin de réveil.

Périphériques de l’ESP8266

L’ESP8266 possède les périphériques suivants :

  • 17 broches d’entrée-sortie à usage général
  • Interface périphérique série (SPI)
  • Circuit intégré (12C)
  • Interfaces son (12S) avec accès direct à la mémoire
  • Interface émetteur-récepteur asynchrone universel.
  • Convertisseur analogique-numérique 10 bits

Entrée analogique

L’ESP8266 possède un seul convertisseur analogique-numérique 10 bits appelé ADC0 et étiqueté A0. Mais c’est aussi son un des plus grands inconvénients parce que la plupart du temps l’utilisateur doit connecter deux capteurs donc nous devons acheter des modules ADC séparés, IC et circuit de multiplexage pour interfacer deux ou plusieurs capteurs mais c’est un sujet d’un autre article.

La tension analogique d’entrée du module ESP-01 va de 0 à 1V. La carte de développement basée autour du module ESP-12E a des plages de tension analogique d’entrée de 0 à 3,3V. Nous devons donc garder à l’esprit lors de l’écriture d’un sketch d’utiliser la broche A0.

Pins PWM

L’ESP8266 permet le PWM dans toutes les broches d’entrée/sortie de GPIO0 à GPIO16. Les signaux PWM ont des résolutions de 10 bits.

Broches SPI

Une interface de programmation série (SPI) a les broches suivantes dans l’ESP8266

Broches I2C

L’ESP8266 fournit uniquement une interface I2C logicielle cela signifie que nous pouvons utiliser n’importe quelles deux broches pour l’I2C mais les broches suivantes sont principalement utilisées.

GPIO5 pour la ligne d’horloge série (SCL)

GPIO4 pour la ligne de données série (SDA)

Broches d’interruption

Nous pouvons utiliser n’importe quelle broche GPIO pour les interruptions sauf GPIO16.

Réveil

Pour réveiller l’ESP8266 du sommeil profond en utilisant GPIO16 en le connectant à la broche RST. C’est un sujet pour un autre article.

LED embarquée

La plupart des cartes de développement ont une ou plusieurs LED intégrées. La LED construite sur le module ESP8266 est connectée à GPIO2 et la LED construite sur la carte de développement connectée à GPIO16.

Bouton Reset et Flash

Appuyer sur le bouton Reset ou tirer la broche RST vers le bas réinitialise la puce ESP8266. Appuyer sur le bouton Flash ou tirer le GPIO0 bas met la puce ESP8266 en mode bootloader.

Quelle broche de l’ESP8266 utiliser

Toujours garder à l’esprit que l’étiquette GPIO ne correspond pas à l’étiquette sur la sérigraphie. Par exemple, GPIO0 correspond à D3 et D0 correspond à GPIO16. Il est préférable d’utiliser les GPIOs avec une coche verte.

.

.

.

.

.

Label GPIO Input Output Description
A0 ADC0 Entrée analogique Non Pour une entrée analogique de 0 à 3.3v et aucune sortie.
RX GPIO3 Oui Pince RX uniquement Haut au démarrage.
TX GPIO1 Pince Tx uniquement Oui Haut au démarrage.
D0 GPIO16 Pas d’interruption Pas d’I2C, PWM Utilisée pour réveiller la puce d’un sommeil profond, haute au démarrage.
D1 GPIO5 Oui Oui Souvent utilisé comme SCL
D2 GPIO4 Oui Oui Souvent utilisé comme SDA
D3 GPIO0 Tiré vers le haut Oui Connecté au bouton Flash
D4 GPIO2 Tiré vers le haut Oui Connecté à la LED intégrée.dans la LED, élevé au démarrage.
D5 GPIO14 Oui Oui Pince SCLK pour l’interface SPI
D6 GPIO12 Oui Oui Pince MISO pour interface SPI
D7 GPIO13 Oui Oui Pince MOSI pour interface SPI
D8 GPIO15 Pulsé à la masse Oui Pince CS pour l’interface SPI

Broche ESP8266 Signal de haute et basse tension à l’amorçage

.signal de tension au démarrage

Lors du démarrage de l’ESP8266, les broches suivantes fournissent un signal de 3.3v signal sur les broches spécifiées afin de connecter des relais, transistor ou tout autre périphérique peut mal se comporter. Les broches suivantes fournissent un signal de 3,3v au démarrage :

  • GPIO16
  • GPIO3
  • GPIO1
  • GPIO10
  • GPIO9

Toutes les autres broches GPIOs fournissent une tension basse unique au démarrage, sauf GPIO4 et GPIO5. Ainsi, le GPIO4 et GPIO5 sont les meilleures broches pour connecter des relais, transistor et autres périphériques à des résultats stables.

Configuration des broches pendant le Boot

Pour démarrer l’ESP8266 avec succès, nous devons interdire aux broches spécifiées de devenir HIGH ou LOW.

  • GPIO16 : pin is high at BOOT
  • GPIO3 : pin is high at BOOT
  • GPIO10 : pin is high at BOOT
  • GPIO9 : pin is high at BOOT
  • GPIO2 : La broche est haute au BOOT, échec du démarrage si elle est tirée vers le BAS
  • GPIO1 : La broche est haute au BOOT, échec du démarrage si elle est tirée vers le BAS
  • GPIO0 : échec du démarrage si elle est tirée vers le BAS
  • GPIO15 : échec au démarrage si tiré vers le HAUT

Applications de l’ESP8266

  • Domestique
  • Fiches et interrupteurs intelligents
  • Appareils domestiques (comme AC, Imprimante)
  • Contrôle industriel sans fil
  • Dispositifs de détection
  • Gadgets portables
  • Caméras IP
  • Balises d’identification de sécurité
  • Dispositifs de localisation Wi-Fi
  • Système de positionnement Wi-Fi

Vous pouvez également jeter un coup d’œil à d’autres tutoriels ESP8266 :