Articulo de referencia

ESP8266

Módulo ESP-01 de Ai-Thinker con SoC ESP8266EX El ESP8266 es un microcontrolador Wi-Fi de bajo costo , con software de red TCP/IP incorporado y capacidad de microcontrolador , pr...

Módulo ESP-01 de Ai-Thinker con SoC ESP8266EX

El ESP8266 es un microcontrolador Wi-Fi de bajo costo , con software de red TCP/IP incorporado y capacidad de microcontrolador , producido por Espressif Systems [1] en Shanghai, China.

El chip se popularizó en la comunidad de fabricantes de habla inglesa en agosto de 2014 a través del módulo ESP-01 , fabricado por un fabricante externo, Ai-Thinker. Este pequeño módulo permite que los microcontroladores se conecten a una red Wi-Fi y realicen conexiones TCP/IP simples utilizando comandos de estilo Hayes . Sin embargo, al principio, casi no había documentación en inglés sobre el chip y los comandos que aceptaba. [2] El precio muy bajo y el hecho de que hubiera muy pocos componentes externos en el módulo, lo que sugería que eventualmente podría ser muy económico en volumen, atrajo a muchos piratas informáticos a explorar el módulo, el chip y el software que contiene, así como a traducir la documentación china. [3]

El ESP8285 es un chip similar con una memoria flash incorporada de 1 MiB, lo que permite el diseño de dispositivos de un solo chip capaces de conectarse a través de Wi-Fi. [4]

Estos chips microcontroladores han sido reemplazados por la familia de dispositivos ESP32 .

Características

Dibujo de estructura alámbrica del módulo ESP-01

Distribución de pines del ESP-01

Distribución de pines del módulo ESP-01

La distribución de pines es la siguiente para el módulo ESP-01 común:

  1. GND, Tierra (0 V)
  2. GPIO 2, Entrada/salida de propósito general n.º 2
  3. GPIO 0, Entrada/salida de propósito general n.º 0
  4. RX, Recibir datos en, también GPIO3
  5. VCC, voltaje (+3,3 V; puede manejar hasta 3,6 V)
  6. RST, Reiniciar
  7. CH_PD, Apagado del chip
  8. TX, transmisión de datos de salida, también GPIO1
ESP8266 Disparo a troquel

Kits de desarrollo de software (SDK)

En octubre de 2014, Espressif Systems lanzó un kit de desarrollo de software (SDK) para programar el chip directamente, lo que eliminó la necesidad de un microcontrolador separado. [9] Desde entonces, ha habido muchos lanzamientos oficiales de SDK de Espressif; Espressif mantiene dos versiones del SDK: una que se basa en FreeRTOS y la otra basada en devoluciones de llamadas . [10]

Una alternativa al SDK oficial de Espressif es el ESP-Open-SDK de código abierto [11] que se basa en la cadena de herramientas GNU Compiler Collection (GCC), mantenida por Max Filippov. [12] Otra alternativa es el "Unofficial Development Kit" de Mikhail Grigorev. [13] [14]

Otros SDK, en su mayoría de código abierto, incluyen:

  • Arduino  : un firmware basado en C++. Con este núcleo, la CPU ESP8266 y sus componentes Wi-Fi se pueden programar como cualquier otro dispositivo Arduino. El núcleo Arduino ESP8266 está disponible a través de GitHub.
  • ESP8266 BASIC: un intérprete de código abierto similar a BASIC diseñado específicamente para la Internet de las cosas (IoT). Entorno de desarrollo basado en navegador y autoalojado.
  • ESP Easy  : desarrollado por entusiastas de la automatización del hogar .
  • ESPHome — ESPHome es un sistema para controlar su ESP8266/ESP32 mediante archivos de configuración simples pero potentes y controlarlos de forma remota a través de sistemas de automatización del hogar.
  • Tasmota - firmware de código abierto para automatización del hogar.
  • ESP-Open-RTOS: marco de software ESP8266 de código abierto basado en FreeRTOS.
  • ESP-Open-SDK: SDK integrado gratuito y abierto (en la medida de lo posible) para chips ESP8266/ESP8285.
  • Espruino  : un SDK y firmware de JavaScript que se mantiene en forma activa y que emula Node.js de manera precisa . Admite algunos MCU, incluido el ESP8266.
  • ESPurna: firmware ESP8285/ESP8266 de código abierto.
  • Forthright: puerto de Jones Forth al microcontrolador ESP8266.
  • MicroPython: un puerto de MicroPython (una implementación de Python para dispositivos integrados) para la plataforma ESP8266.
  • SDK modificable: incluye compatibilidad con el lenguaje JavaScript y la biblioteca para ESP8266
  • Mongoose OS  : un sistema operativo de código abierto para productos conectados. Compatible con ESP8266 y ESP32. Desarrollado en C o JavaScript. [15]
  • NodeMCU  : un firmware basado en Lua .
  • PlatformIO: un IDE multiplataforma y un depurador unificado, que se basa en el código y las bibliotecas de Arduino.
  • Punyforth: lenguaje de programación inspirado en Forth para el ESP8266.
  • Sming: un marco C/C++ asincrónico desarrollado activamente con un rendimiento excelente y múltiples funciones de red.
  • uLisp: una versión del lenguaje de programación Lisp diseñada específicamente para ejecutarse en procesadores con una cantidad limitada de RAM.
  • ZBasic para ESP8266: un subconjunto del ampliamente utilizado Visual Basic 6 de Microsoft, que ha sido adaptado como lenguaje de control para la familia de microcontroladores ZX y el ESP8266.
  • Zerynth  : marco de IoT para programar ESP8266 [16] y otros microcontroladores en Python .
  • IOTBAH: es un sistema operativo (OS) para Espressif ESP8266
  • Servidor web EspOS, solución IoT sencilla.

Módulos Espressif

ESP-WROOM-02

Esta es la serie de módulos basados ​​en ESP8266 fabricados por Espressif:

En la tabla anterior (y las dos tablas que siguen), los "pines activos" incluyen los pines GPIO y ADC con los que se pueden conectar dispositivos externos al MCU ESP8266. El "paso" es el espacio entre los pines del módulo ESP8266, que es importante saber si el dispositivo se utilizará en una placa de pruebas. El "factor de forma" también describe el empaquetado del módulo como "2 × 9 DIL", lo que significa dos filas de 9 pines dispuestos "Dual In Line", como los pines de los circuitos integrados DIP. Muchos módulos ESP-xx incluyen un pequeño LED integrado que se puede programar para que parpadee y, por lo tanto, indique actividad. Hay varias opciones de antena para las placas ESP-xx, incluida una antena de seguimiento, una antena de cerámica integrada y un conector externo que permite conectar una antena Wi-Fi externa. Dado que las comunicaciones Wi-Fi generan una gran cantidad de RFI (interferencia de radiofrecuencia), los organismos gubernamentales como la FCC prefieren la electrónica protegida para minimizar la interferencia con otros dispositivos. Algunos de los módulos ESP-xx vienen alojados en una caja de metal con el sello de aprobación de la FCC estampado en ella. Los mercados del primer y segundo mundo probablemente exigirán la aprobación de la FCC y dispositivos Wi-Fi blindados. [ cita requerida ]

Módulos de Ai-Thinker

Módulo ESP-01
Módulos Ai-Thinker ESP8266 (ESP-12F, color negro) soldados a placas de expansión (color blanco)

Esta es la primera serie de módulos fabricados con el ESP8266 por el fabricante externo Ai-Thinker y sigue siendo la más ampliamente disponible. [20] Se los conoce colectivamente como "módulos ESP-xx". Para formar un sistema de desarrollo viable, requieren componentes adicionales, especialmente un adaptador serial TTL a USB (a veces llamado puente USB a UART) y una fuente de alimentación externa de 3,3 voltios. Se recomienda a los desarrolladores novatos de ESP8266 que consideren placas de desarrollo Wi-Fi ESP8266 más grandes como NodeMCU que incluye el puente USB a UART y un conector Micro-USB acoplado con un regulador de potencia de 3,3 voltios ya integrado en la placa. Cuando se completa el desarrollo del proyecto, esos componentes no son necesarios y estos módulos ESP-xx más económicos son una opción de menor consumo y menor tamaño para las tiradas de producción.

En la columna Notas, los tamaños de memoria Flash se aplican al módulo indicado y a todos los que se encuentran debajo de él en la tabla. Las excepciones que se aplican a un solo módulo se muestran entre paréntesis ().

Otros tableros

Dispositivo SparkFun ESP8266

La razón de la popularidad de muchas de estas placas en comparación con los módulos ESP-xx anteriores es la inclusión de un puente USB a UART integrado (como el CP2102 de Silicon Labs o el WCH CH340G) y un conector Micro-USB, junto con un regulador de 3,3 voltios para proporcionar energía a la placa y conectividad con el ordenador anfitrión (desarrollo de software), comúnmente conocido como la consola, lo que la convierte en una plataforma de desarrollo sencilla. Con los módulos ESP-xx anteriores, estos dos elementos (el adaptador USB a serie y el regulador) tenían que comprarse por separado y conectarse al circuito ESP-xx. Las placas ESP8266 modernas como la NodeMCU son más fáciles de usar y ofrecen más pines GPIO. La mayoría de las placas enumeradas aquí se basan en el módulo ESP-12E, pero aparentemente se introducen nuevos módulos cada pocos meses.

ESP32-C3

En 2020, Espressif anunció un nuevo chip, ESP32-C3, que es compatible con ESP8266. Se basa en una CPU RISC-V de 32 bits de un solo núcleo con una velocidad de reloj de hasta 160 MHz. Incluye 400 KiB de SRAM y 384 KiB de espacio de almacenamiento ROM integrado. [45]

Véase también

Referencias

  1. ^ "Descripción general del ESP8266". Espressif Systems . Consultado el 2 de octubre de 2017 .
  2. ^ Brian Benchoff (26 de agosto de 2014). "Alerta de nuevo chip: el módulo WiFi ESP8266 (cuesta 5 dólares)". Hackaday . Consultado el 24 de junio de 2015 .
  3. ^ Brian Benchoff (6 de septiembre de 2014). "El estado actual del desarrollo del ESP8266". Hackaday . Consultado el 24 de junio de 2015 .
  4. ^ "Espressif anuncia el chip Wi-Fi ESP8285 para dispositivos portátiles". Espressif Systems. 9 de marzo de 2016. Archivado desde el original el 25 de julio de 2016. Consultado el 10 de julio de 2016 .
  5. ^ "Referencia de API del SDK no operativo ESP8266, Capítulo 2.4. Rendimiento del sistema" (PDF) . espressif.com . Espressif Systems.
    El modo y la frecuencia del flash influyen directamente en la velocidad de ejecución del código. Configurar el flash a una frecuencia más alta y en el modo QIO puede producir los mejores resultados en términos de rendimiento, aunque esto implica un mayor consumo de energía. "Referencia de API del SDK no operativo ESP8266" (PDF) . espressif.com . Espressif Systems.
    El éxito varía de un chip a otro. [ cita requerida ]
  6. ^ "Referencia de API del SDK no operativo ESP8266, Capítulo 2.5. Memoria del sistema" (PDF) . espressif.com . Espressif Systems.
  7. ^ "Referencia técnica de ESP8266, versión 1.7" (PDF) . Espressif Systems . Consultado el 22 de abril de 2021 .
  8. ^ "Foro de discusión de la zona de desarrolladores de Espressif ESP8266: ¿El ESP8266 realmente tiene hardware I2C?". Espressif Systems. 2014-10-27 . Consultado el 2017-10-02 .
  9. ^ Brian Benchoff (25 de octubre de 2014). "Un SDK para el chip WiFi ESP8266". Hackaday . Consultado el 24 de junio de 2015 .
  10. ^ "Lanzamiento oficial del SDK de Espressif para ESP8266". Espressif Systems. 29 de julio de 2015. Consultado el 8 de agosto de 2015 .
  11. ^ Paul Sokolovsky (11 de noviembre de 2022). «esp-open-sdk: SDK integrado, libre y abierto (en la medida de lo posible) para chips ESP8266/ESP8285». GitHub .
  12. ^ Max Filippov (15 de febrero de 2015). «ESP8266 GCC Toolchain». GitHub . Consultado el 8 de agosto de 2015 .
  13. ^ Mikhail Grigorev (29 de agosto de 2022). "Kit de desarrollo no oficial para Espressif ESP8266 (repositorio de GitHub)". GitHub .
  14. ^ Mikhail Grigorev. "Proyecto Kit de desarrollo no oficial para Espressif ESP8266".
  15. ^ "Documentación de Mongoose OS". Cesanta. Archivado desde el original el 27 de enero de 2018. Consultado el 2 de octubre de 2017 .
  16. ^ Luigi F. Cerfeda (15 de junio de 2017). "Python para ESP8266 en tan solo unos clics usando Zerynth". Zerynth (Kinzica Ventures LLC).
  17. ^ "Espressif ESP-WROOM-02". Espressif Systems . Consultado el 29 de julio de 2015 .
  18. ^ ab "Hoja de datos ESP-WROOM-02D/ESP-WROOM-02U" (PDF) . Espressif Systems. Archivado desde el original (PDF) el 2017-12-01 . Consultado el 2017-11-25 .
  19. ^ "Ficha técnica del ESP-WROOM-S2" (PDF) . Espressif Systems. Archivado desde el original (PDF) el 2017-10-08 . Consultado el 2017-10-08 .
  20. ^ "Familia de módulos ESP8266". Wiki de la comunidad ESP8266 . Consultado el 24 de junio de 2015 .
  21. ^ "ESP-01 (esp8266): especificaciones y pines de alta resolución". Mischianti.
  22. ^ "ESP-01S (esp8266): especificaciones y pines de alta resolución". Mischianti.
  23. ^ "2ADUIESP-12 de Shenzhen Anxinke technology co., LTD para módulo Wi-Fi". FCC . 30 de diciembre de 2014 . Consultado el 24 de junio de 2015 .
  24. ^ "FCC ID 2AHMR-ESP12S, Shenzhen Ai-Thinker Technology co., LTD WIFI MODULE -ESP12S". FCC . 4 de agosto de 2016 . Consultado el 17 de julio de 2017 .
  25. ^ "MOD-WIFI-ESP8266". Olimex . Consultado el 25 de junio de 2015 .
  26. ^ "MOD-WIFI-ESP8266-DEV". Olimex . Consultado el 25 de junio de 2015 .
  27. ^ "Descubrimiento del HUZZAH ESP8266 de Adafruit". Adafruit Industries . Consultado el 25 de junio de 2015 .
  28. ^ "Cosa de SparkFun ESP8266". SparkFun . Consultado el 27 de junio de 2015 .
  29. ^ "KNEWRON smartWIFI". KNEWRON. Archivado desde el original el 14 de noviembre de 2016. Consultado el 4 de marzo de 2016 .
  30. ^ ESP8266 UNO (25 de abril de 2016). "Placa ArduCAM ESP8266 UNO".{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  31. ^ ESPduino. "Arduino ESPduino". GitHub .
  32. ^ SwitchDoc Labs. «Grove WeatherPlus». Archivado desde el original el 14 de abril de 2021. Consultado el 30 de junio de 2018 .
  33. ^ abcdeWeMos . "NOSOTROS". WEMOS .
  34. ^ "WeMos D1". WeMos. Archivado desde el original el 3 de septiembre de 2017. Consultado el 30 de noviembre de 2016 .
  35. ^ "WeMos D1 R2". WeMos. Archivado desde el original el 3 de septiembre de 2017. Consultado el 5 de enero de 2016 .
  36. ^ "WeMos D1 mini". WeMos. Archivado desde el original el 2017-07-02 . Consultado el 2017-06-29 .
  37. ^ "WeMos D1 mini Lite". WeMos. Archivado desde el original el 2017-06-06 . Consultado el 2017-06-29 .
  38. ^ "WeMos D1 mini Pro". WeMos. Archivado desde el original el 2017-08-27 . Consultado el 2017-06-29 .
  39. ^ "Espert". Espert . Consultado el 7 de enero de 2016 .
  40. ^ "ESPresso Lite V2.0". Espert Pte Ltd. Consultado el 2 de octubre de 2017 .
  41. ^ "Placa de desarrollo ESP-ADC DIL18". Wiki de In-Circuit . Consultado el 3 de febrero de 2016 .
  42. ^ "Watterott ESP-WROOM02-Breakout". Watterott . Consultado el 6 de noviembre de 2016 .
  43. ^ "Placa de desarrollo WiFi Geek Wave Solution ESP8266-WROOM-02-IOT". Geek Wave Solution. Archivado desde el original el 4 de septiembre de 2017. Consultado el 4 de septiembre de 2017 .
  44. ^ "Placa de doble nivel Witty ESP8266 ESP-12E". N/A . Consultado el 29 de agosto de 2019 .
  45. ^ List, Jenny (22 de noviembre de 2020). "Espressif filtra ESP32-C3: un SOC WiFi que es RISC-V y compatible con pines ESP8266". Hackaday .
  • Núcleo ESP8266 para Arduino IDE
Obtenido de "https://es.wikipedia.org/w/index.php?title=ESP8266&oldid=1223061695"