ESP8266 : ne

ConceptESP8266

ESP8266

C'est une puce microcontrôleur qui peut être utilisé comme dispositif autonome ou comme un adaptateur vers le wifi afin de permettre à d'autres microcontrôleur de se connecter au réseau.

Avec le contrôle de ses entrées/sorties, cette puce est idéale pour les applications de domotique et d'Internet des objets.

Il est aussi possible de la programmer avec micro Python en modifiant son firmware afin de pouvoir téléverser des programmes écrits en micropython plutôt que des programmes écrit avec le langage Arduino.

Présentation

Comportement/Etat des croches

Label

GPIO

Input

Output

Notes

D0

IO16

pas d'interruptions

Pas de PWM/I2C

Niveau HIGH au boot : Mise en veille

D1

IO5

OK

OK

SCL ( I2C

D2

IO4

OK

OK

SDA (I2C)

D3

IO0

pulled up

OK

FLASH Button : Si pulled LOW --> Boots fail

D4

IO2

pulled up

OK

HIGH at boot :connected to on-board LED, boot fails if pulled LOW

D5

IO14

OK

OK

SPI (SCLK)

D6

IO12

OK

OK

SPI (MISO)

D7

IO13

OK

OK

SPI (MOSI)

D8

IO15

pulled to GND

OK

SPI (CS) Boot fails if pulled HIGH

RX

IO3

OK

RX pin

Niveau HIGH au boot

TX

IO1

TTX pin

OK

HIGH at boot : debug output at boot, boot fails if pulled LOW

A0

ADC0

Analog Input

x

AttentionBoot/Flash

Lorsque la carte va démarrer ou lorsque l'on va téléverser un fichier il faut être prudent concernant l'état des différentes entrées sorties telles qu'on les a décrite dans le tableau ci-dessus.

Certaines broches notamment au démarrage de la carte posent des problèmes si on a relié à relais ou un périphérique spécifique qui va être impacté lorsque l'on ne maîtrise pas l'état de la broche (IO16, IO3, IO1, IO10, IO9).

En outre, les autres GPIO, à l'exception de GPIO 5 et GPIO 4, peuvent émettre un signal de basse tension au démarrage, ce qui peut être problématique s'ils sont connectés à des transistors ou à des relais. Vous pouvez lire cet article qui étudie l'état et le comportement de chaque GPIO au démarrage :

Analog Input

L'ESP8266 ne prend en charge la lecture analogique que dans un seul GPIO. Ce GPIO est appelé ADC0 et est généralement marqué sur l'écran comme A0.

La tension d'entrée maximale de la broche ADC0 est de 0 à 1V si vous utilisez la puce nue ESP8266.

Si vous utilisez une carte de développement comme le kit ESP8266 12E NodeMCU, la tension d'entrée est comprise entre 0 et 3,3 V car ces cartes sont équipées d'un diviseur de tension interne.

LED intégrée

La plupart des cartes de développement ESP8266 ont une LED intégrée. Cette LED est généralement connectée au GPIO 2.

La LED est connectée à une résistance de type pull-down, de sorte que lorsque vous envoyez un signal HIGH, la LED s'éteint et lorsque vous envoyez un signal LOW, la LED s'allume.

RST Pin

Lorsque la broche RST est tirée vers le BAS, l'ESP8266 se réinitialise. C'est la même chose que d'appuyer sur le bouton RESET intégré.

GPI0 et GPIO 16

GPIO 0 :Lorsque le GPIO 0 est tiré vers le bas, il met l'ESP8266 en mode bootloader. C'est la même chose que d'appuyer sur le bouton FLASH/BOOT intégré.

GPIO 16 :La GPIO 16 peut être utilisée pour réveiller l'ESP8266 d'un sommeil profond. Pour réveiller l'ESP8266, la GPIO 16 doit être connectée à la broche RST.

I2C

L'ESP8266 n'a pas de broches I2C matérielles, mais il est possible de l'implémenter par logiciel. Vous pouvez utiliser n'importe quel GPIO comme I2C. Cependant, les GPIO suivants sont utilisés comme broches I2C par défaut :

  • GPIO 5 : SCL
  • GPIO 4 : SDA SPI

SPI

Les broches utilisées comme SPI dans l'ESP8266 sont les suivantes :

  • GPIO 12 : MOSI
  • GPIO 13 : MISO
  • GPIO 14 : SCLK
  • GPIO 15 : CS

Broches PWM

L'ESP8266 permet une PWM logicielle sur toutes les broches d'E/S : GPIO 0 à GPIO 16. Les signaux PWM de l'ESP8266 ont une résolution de 10 bits.

Broches d'interruption (interrupts)

L'ESP8266 prend en charge les interruptions dans tous les GPIO, à l'exception du GPIO 16.