El ESP8266 es un módulo WiFi ideal para proyectos de IOT y domótica. Le permite controlar multitud de sensores de una forma fácil. Su precio es muy económico, va de los 5 a 10 euros según la tienda dónde lo compre.
Por lo tanto, es ideal para aplicaciones de automatización del hogar / Internet de las cosas.
Entonces, ¿qué puede hacer con este módulo de bajo costo?
- Realizar proyectos para la automatización del hogar
- Crear un servidor Web
- Enviar solicitudes HTTP
- Salidas de control
- Leer entradas e interrupciones
- Enviar correos electrónicos
- Publicar tweets
Especificaciones ESP8266
- Protocolo 11 b/g/n
- WiFi Direct (P2P), soft-AP
- Pila de protocolos TCP/IP integrada
- CPU incorporada de 32 bits de baja potencia
- SDIO 2.0, SPI, UART
Comparando esta placa con otras soluciones WiFi en el mercado, ¡es una gran opción para la mayoría de los proyectos de «Internet de las cosas»! Es fácil ver por qué es tan popular: solo cuesta unos pocos euros y se puede integrar en proyectos avanzados.
Hay un sucesor del ESP8266: el ESP32. El ESP32 combina WiFi y Bluetooth y es de doble núcleo. Puede ver el artículo aquí. Lea el siguiente artículo para encontrar las diferencias entre el ESP8266 y el ESP32: ESP32 vs ESP8266.
Versiones del ESP8266
Esta placa, tiene una amplia variedad de versiones. El ESP8266-12E o a menudo llamado ESP8266-12E NodeMCU Kit es actualmente la versión más práctica, en nuestra opinión.
El kit ESP8266-12 E NodeMCU es una de las placas de desarrollo más utilizadas. Cuenta con 4 MB de memoria flash, acceso a 11 pines GPIO y un pin de convertidor analógico a digital (ADC) con resolución de 10 bits. Además, la placa tiene un regulador de voltaje incorporado, y puede encender el módulo utilizando la toma mini USB o el pin Vin.
Cargar código en la placa es tan fácil como cargar código en ESPHome o Arduino. No hay necesidad de un programador FTDI, ya que viene con un convertidor de USB incorporado.
Este es el modelo de placa que usamos con más frecuencia en nuestros proyectos de WiFi e IOT. Es muy versátil y es ideal para principiantes. Por lo tanto, si esta es su primera vez con una placa de este tipo, este módulo es una gran opción.
ESP8266-12E NodeMCU Pinout
Aquí hay una descripción general rápida del pinout del kit ESP8266-12E NodeMCU:
Los mejores pines para usar en ESP8266
Una cosa importante a tener en cuenta sobre ESP8266 es que el número GPIO no coincide con la etiqueta en la serigrafía de la placa. Por ejemplo, D0 corresponde a GPIO16 y D1 corresponde a GPIO5.
La siguiente tabla muestra la correspondencia entre las etiquetas de la serigrafía y el número GPIO, así como qué pines son los mejores para usar en sus proyectos y cuáles debe tener cuidado.
Los pines resaltados en verde están bien para usar. Los resaltados en amarillo están bien para usar, pero debe prestar atención porque pueden tener un comportamiento inesperado principalmente en el arranque. No se recomienda utilizar los pines resaltados en rojo como entradas o salidas.
GPIO conectados al chip Flash
GPIO6 a GPIO11 generalmente se conectan al chip flash en las placas ESP8266. Por lo tanto, no se recomienda el uso de estos pines.
Pines utilizados durante el arranque
Se puede evitar que el ESP8266 arranque si algunos pines se tiran BAJO o ALTO. La siguiente lista muestra el estado de los siguientes pines en BOOT:
- GPIO16: el pin es alto en BOOT
- GPIO0: error de arranque si se tira BAJO
- GPIO2: el pin es alto en BOOT, falla de arranque si se tira DE BAJO
- GPIO15: fallo de arranque si se tira alto
- GPIO3: el pin es alto en BOOT
- GPIO1: el pin es alto en BOOT, falla de arranque si se tira BAJO
- GPIO10: el pin es alto en BOOT
- GPIO9: el pin es alto en BOOT
Pines HIGH en el arranque
Hay ciertos pines que emiten una señal de 3.3V cuando se inicia el ESP8266. Esto puede ser problemático si tiene relés u otros periféricos conectados a esos GPIO. Los siguientes GPIO emiten una señal ALTA en el arranque:
- GPIO16
- GPIO3
- GPIO1
- GPIO10
- GPIO9
Además, los otros GPIO, excepto GPIO5 y GPIO4, pueden emitir una señal de bajo voltaje en el arranque, lo que puede ser problemático si están conectados a transistores o relés.
GPIO4 y GPIO5 son los GPIO más seguros de usar si desea operar relés.
Entrada analógica ESP8266
El ESP8266 solo admite la lectura analógica en un GPIO. Ese GPIO se llama ADC0 y generalmente se marca en la serigrafía como A0.
El voltaje de entrada máximo del pin ADC0 es de 0 a 1V si está utilizando el chip desnudo ESP8266. Si está utilizando una placa de desarrollo como el kit ESP8266 12-E NodeMCU, el rango de entrada de voltaje es de 0 a 3.3V porque estas placas contienen un divisor de voltaje interno.
LED integrado
La mayoría de las placas de desarrollo ESP8266 tienen un LED incorporado. Este LED suele estar conectado a GPIO2.
El LED funciona con lógica invertida. Envíe una señal ALTA para apagarlo y una señal BAJA para encenderlo.
RST Pin
Cuando se tira del pin RST LOW, el ESP8266 se restablece. Esto es lo mismo que presionar el botón RESET a bordo.
GPIO0
Cuando GPIO0 se tira DE BAJO, establece el ESP8266 en modo de gestor de arranque. Esto es lo mismo que presionar el botón FLASH/BOOT incorporado.
GPIO16
GPIO16 se puede utilizar para despertar el ESP8266 del sueño profundo. GPIO16 debe estar conectado al pin RST.
El ESP8266 no tiene pines I2C de hardware, pero se puede implementar en software. Por lo tanto, puede usar cualquier GPIO como I2C. Por lo general, los siguientes GPIO se utilizan como pines I2C:
- GPIO5: SCL
- GPIO4: SDA
SPI
Los pines utilizados como SPI en el ESP8266 son:
- GPIO12: MISO
- GPIO13: MOSI
- GPIO14: SCLK
- GPIO15: CS
Pines PWM
Permite pwM de software en todos los pines de E/S: GPIO0 a GPIO15.
Las señales PWM tienen una resolución de 10 bits.
Pines de interrupción
El ESP8266 admite interrupciones en cualquier GPIO, excepto GPIO16.
¿Cuánto consume un ESP8266?
El ESP8266 tiene un consumo de unos 20 µA o lo que es lo mismo, de 0.00002 vatios