Primeiros passos com ESP8266

Comenzando con ESP8266

ESP8266, un System-on-Chip (SoC) fabricado por ESpressif, es la plataforma de desarrollo de IoT más popular y es una solución de red Wi-Fi completa e independiente. El SoC consta de un microcontrolador Tensilica L106 de 32 bits y un transceptor Wi-Fi. Por lo tanto, el chip se puede utilizar para alojar automáticamente una aplicación integrada o de IoT o descargar funciones de red Wi-Fi a otro microcontrolador o computadora de placa única. Existen muchas placas de desarrollo basadas en ESP8266. Todas estas placas tienen el chip SoC ESP8266 en su corazón. Estas placas de desarrollo se pueden utilizar simplemente como un adaptador Wi-Fi o como un microcontrolador de placa única con capacidades de red Wi-Fi.

Placa de desarrollo ESP8266

Ejemplo de placa de desarrollo ESP8266

El microcontrolador en chip proporciona 17 GPIO (entrada/salida de uso general) y una entrada analógica ADC de 10 bits. El SoC tiene cuatro interfaces PWM únicamente de software. El chip está habilitado con una interfaz SPI, una interfaz I2C, dos interfaces UART y una interfaz de control remoto IR para comunicación de datos en serie. Por lo tanto, una placa de desarrollo ESP8266 cuidadosamente seleccionada tiene todo lo que debería tener cualquier microcontrolador de placa única capaz. La capacidad de red Wi-Fi adicional permite que una placa de desarrollo basada en ESP8266 se conecte a una red Wi-Fi, se conecte a Internet, aloje un servidor web e implemente aplicaciones IoT completas habilitadas para Wi-Fi.

Cuando se autohospeda una aplicación integrada/IoT, el SoC requiere una memoria flash externa para iniciarlo directamente. Cuando se utiliza como adaptador Wi-Fi, el chip se puede conectar a un microcontrolador de placa única o a una computadora de placa única mediante SPI, I2C o UART.

El SoC ESP8266 está diseñado para tecnología de consumo de energía ultrabaja. Fue diseñado considerando aplicaciones en electrónica portátil, dispositivos móviles e Internet de las cosas. El chip puede funcionar en tres modos: activo, inactivo y profundo. En modo de suspensión profunda, el chip consume solo 60 uA, y en modo de suspensión consume menos de 1,0 mA y 0,5 mA mientras permanece conectado a un punto de acceso Wi-Fi. El SoC tiene un temporizador real incorporado y un perro guardián. temporizador, que permanecen activos en el modo de suspensión. El RTC incorporado se puede programar para activar el ESP8266 en cualquier intervalo requerido o cuando se detecta una condición específica. De esta manera, se puede programar un dispositivo basado en ESP8266 para que permanezca en modo de espera de bajo consumo de energía hasta que se necesite Wi-Fi.

ESP8266, una solución de microcontrolador habilitado para WiFi de bajo consumo, es perfecta para diseñar dispositivos electrónicos portátiles y móviles que funcionan con baterías y dispositivos IoT portátiles/móviles.

Características de ESP8266

Algunas de las características más notables del SoC ESP8266 son las siguientes.

  • 11 b/g/n
  • Wi-Fi de 2,4 GHz con seguridad WPA/WPA2
  • Wi-Fi Direct (estación P2P), SoftAP, estación SoftAP+
  • Pila de protocolo TCP-IP integrada
  • Admite protocolos de red IPv4, TCP/UDP/HTTP/FTP
  • Diversidad de antena (externa, traza de PCB, chip cerámico, conector IPEX)
  • Admite modos operativos STA/AP/STA+AP
  • GPIO, SDIO 2.0, SPI, I2C, UART, I2S, control remoto por infrarrojos, PWM
  • ADC integrado de 10 bits
  • Conmutador TR integrado, balun, LNA, amplificador de potencia y red correspondiente
  • Regulador de potencia integrado, PLL y unidades de administración de energía.
  • Admite enlace inteligente para dispositivos Android e iOS
  • Configurable a través del conjunto de instrucciones AT, servidor en la nube y aplicaciones de Android e iOS
  • Soporte de desarrollo de servidores en la nube, así como SDK para desarrollo de firmware personalizado
  • El firmware se puede actualizar mediante descarga UART y también OTA (a través de red Wi-Fi)
  • Admite cifrado WEP/TKIP/AES
  • Microcontrolador integrado de bajo consumo de 32 bits
  • Bajo consumo de energía, menos de 10uA en sueño profundo y punto de acceso vacío
  • Activa y transmite paquetes en menos de 2 ms
  • Amplio rango de temperatura de funcionamiento -40˚C a 125˚C

Módulos ESP8266

Hay varios módulos basados ​​en ESP8266. Estos son módulos independientes o placas de desarrollo completas. Los módulos independientes normalmente contienen solo el SoC ESP8266 y los componentes necesarios para ejecutarlo. La mayoría de los módulos independientes están disponibles como serie ESP-NN (ESP01 a ESP14) del proveedor AI-Thinkers. Un módulo ESP-WROOM-02 independiente está disponible en el propio Espressif. Otros módulos independientes están disponibles de otros proveedores, como Wireless-tag, Olimex, Smarttime y Qilianer. La siguiente tabla enumera y compara los módulos ESP8266 independientes disponibles.

Estos módulos independientes sirven solo como adaptador de Wi-Fi o placa de desarrollo de microcontrolador habilitado para Wi-Fi. Estos módulos varían en tamaño, pines rotos, características expuestas en el chip, tipo de antena y memoria flash. Un SoC ESP8266 básico requiere una memoria flash externa, circuitos de reinicio y programación, circuitos de habilitación de chip, fuente de alimentación del regulador de voltaje 3.3 y un adaptador USB a serie. Todas estas características requeridas se pueden integrar en un módulo o algunas se pueden proporcionar externamente.

Las placas de desarrollo basadas en ESP8266 tienen todos los circuitos necesarios con o sin interfaz USB para la programación. Algunas placas de desarrollo ESP8266 populares están disponibles en Adafruit, SparkFun, NodeMCU y AI Thinkers. Las siguientes tablas enumeran características notables de algunas de estas placas de desarrollo ESP8266.

Las placas de desarrollo ESP8266 se pueden dividir en dos categorías:

  1. Placas de Desarrollo ESP8266 con Interfaz USB : Estas placas de desarrollo tienen una interfaz USB para programación. Tienen todos los circuitos necesarios integrados y no requieren ninguna configuración de circuito externo. Algunos ejemplos de este tipo de placas de desarrollo incluyen SparkFun ESP8266 Thing, Adafruit Feather HUZZA, SparkFun Blynk Board y algunas de las placas AI Thinker ESP-NN. Cuando estas tarjetas se conectan a una computadora de escritorio mediante un cable USB, aparecen en el administrador de dispositivos en una PC con Windows o en lsusb en un sistema Linux. Tienen un regulador integrado de 3,3 V y se pueden programar directamente a través de una interfaz USB. Estas placas de desarrollo no requieren ningún circuito externo para su configuración y funcionamiento. Como máximo puede ser necesario soldar los pines del cabezal o dejar el cabezal ya soldado.
  2. Placas de desarrollo ESP8266 sin interfaz USB : Estas placas de desarrollo requieren un adaptador USB a serie para su programación. La placa puede tener un regulador de 3,3 V o no tenerlo. Además del regulador de 3,3 V y el adaptador USB a serie, la placa requiere circuitos externos para habilitar el chip y agregar un botón de reinicio y programación.

El convertidor de USB a serie debe funcionar a 3,3 V. Si el adaptador USB a serie funciona a 5 V, dañará la placa de desarrollo ESP8266. El adaptador USB a serie más popular utilizado con las placas de desarrollo ESP8266 es el FTDI FT232RL, ya que se puede cambiar entre funcionamiento de 5 V y 3 V3.

Para conectar el adaptador USB a serie con la placa de desarrollo ESP8266, conecte la tierra, el pin RX, el pin TX y el pin DTR (si está disponible) del adaptador USB a serie a los pines de tierra, TX, RX y DTR del ESP8266. Chip.

Si la placa de desarrollo ESP8266 no tiene un regulador incorporado de 3,3 V, se puede suministrar energía de 3,3 V a través de la salida de 3,3 V del Arduino o utilizando LM1117-3.3. La salida de 3,3 V de la mayoría de las placas Arduino no es lo suficientemente potente como para impulsar una placa de desarrollo ESP. Por lo tanto, es mejor suministrar energía a través de LM1117-3.3. El LM1117-3.3 debe conectarse de la siguiente manera para suministrar energía a una placa ESP8266.

Diagrama de circuito del regulador de voltaje LM1117 de 3,3 V para placa ESP8266.

Diagrama de circuito para resetear, habilitar y programar el ESP8266.

Para habilitar el chip ESP8266, conecte el pin CH_PD (Chip Enable/Chip Power Down) a VCC a través de una resistencia de 10K. Deshabilite la inicialización de la tarjeta SD conectando GPIO15 a tierra mediante una resistencia de 10K. Seleccione el modo de arranque normal conectando GPIO0 a VCC mediante una resistencia de 10K. Para evitar un reinicio aleatorio, conecte el pin RST a VCC a través de la resistencia de 10K. GPIO2 debe permanecer desconectado. Conecte un botón entre el pin RST y tierra para agregar un botón de reinicio. Conecte GPIO0 a tierra a través de la resistencia de 470 Ω para agregar un botón de programa. GPIO0 debe reducirse al programar el ESP8266. A continuación se muestra el circuito de programación, reinicio y habilitación del chip para la placa de desarrollo ESP8266.

Programación de placas de desarrollo ESP8266

Para programar la placa de desarrollo ESP8266 es necesario cargar firmware en ella. Existen principalmente tres métodos para programar placas de desarrollo ESP8266. No existe una, sino varias formas en las que se puede programar la placa de desarrollo ESP8266.

  1. Uso de Arduino IDE: Arduino proporciona un complemento de terceros para usar Arduino IDE para diferentes CPU. Utiliza la cadena de herramientas Xtensa GCC, disponible en Github como esp8266/Arduino. También proporciona ESPTool para cargar archivos hexadecimales (bocetos/códigos de aplicación) al SoC ESP8266. Después de agregar la URL del administrador de la placa al menú de configuración de preferencias del IDE y de instalar la placa ESP8266 desde Herramientas->Tableros->Administrador de placas, el código de la placa de desarrollo ESP8266 se puede escribir, editar, compilar y cargar desde el IDE de Arduino. como se hace con las placas Arduino.
  2. Configure la cadena de herramientas GCC y el SDK manualmente: una cadena de herramientas de código abierto para placas de desarrollo ESP8266 está disponible en Github. Este conjunto de herramientas se puede utilizar para crear un archivo de firmware personalizado para usted. La cadena de herramientas se ejecuta solo en un host Linux o puede ejecutarse en otros sistemas de escritorio utilizando una máquina virtual Linux.
  3. Uso de conjuntos de herramientas personalizados prediseñados: algunos conjuntos de herramientas personalizados prediseñados están disponibles y se pueden descargar directamente como firmware ESP8266 y luego los bocetos (códigos de aplicación) se pueden actualizar a ESP8266 para ese firmware. Algunas de las herramientas populares para las placas de desarrollo ESP8266 son las siguientes:
  • Fuente de firmware de Espressif
  • Firmware del comando Electrodragon ESP8266 AT
  • Firmware del controlador Espressif AT
  • Firmware NodeMCU para ejecutar scripts LUA en ESP8266
  • Firmware MicroPython, para ejecutar scripts Python 3 en ESP8266 y varios otros microcontroladores
  • SDK modificable para ejecutar Javascript estándar 2020 en ESP8266, ESP32 y algunos otros microcontroladores
  • ESP8266Basic, un intérprete básico para el desarrollo basado en navegador en el ESP8266

Aplicaciones ESP8266

ESP8266 es una potente solución de red Wi-Fi con capacidades de microcontrolador de placa única. Es más adecuado para dispositivos móviles, portátiles y de IoT. Hay varias placas de desarrollo ESP8266 disponibles y se pueden programar utilizando diferentes conjuntos de herramientas. Diferentes conjuntos de herramientas le permiten programar placas de desarrollo ESP8266 en varios lenguajes de programación, como C, Python, Javascript, script LUA y comandos AT. Algunas de las posibles aplicaciones de IoT que utilizan placas de desarrollo ESP8266 son automatización del hogar, redes de malla, cámaras IP, monitores para bebés, electrónica portátil, control inalámbrico industrial, etiquetas de identificación de seguridad, redes de sensores, dispositivos Wi-Fi con reconocimiento de ubicación, Wi-Fi. sistema de posición de faros, enchufes y luces inteligentes, electrodomésticos controlados por Internet, etc.

Consideraciones de diseño con ESP8266

Hay algunos factores que se deben considerar antes de seleccionar placas de desarrollo ESP8266 para aplicaciones de IoT habilitadas para WiFi:

  1. ESP8266 funciona a 3,3 V, incluso un suministro de 5 V puede desactivar el SoC. El GPIO del ESP8266 solo puede suministrar o absorber 12 mA por pin de salida. Por lo tanto, el ESP8266 sólo es adecuado para aplicaciones de IoT de bajo consumo.
  2. El rango de voltaje del convertidor analógico a digital del ESP8266 es de solo 0~1V. Esto limita el uso de ESP8266 en el campo de la detección analógica.
  3. El ESP8266 comparte tiempo de CPU y recursos del sistema con el transceptor Wi-Fi. Por lo tanto, el código de la aplicación no debe tener bucles largos que nunca completen su ejecución. Por lo tanto, el ESP8266 debe usarse para aplicaciones de IoT específicas.
  4. El PWM y el I2C en el ESP8266 se emula en software. No hay hardware dedicado para ellos.

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.