Está en la página 1de 22

Qué es ESP8266

2 respuestas

El ESP8266 es un chip Wi-Fi de bajo coste con pila TCP/IP completa y capacidad de MCU (Micro
Controller Unit) producida por el fabricante chino Espressif Systems, con sede en Shanghai.

El chip primero llegó a la atención de los fabricantes occidentales en agosto de 2014 con el módulo
ESP-01. Este pequeño módulo permite a los microcontroladores conectarse a una red Wi-Fi y
realizar conexiones TCP/IP sencillas utilizando comandos de tipo Hayes. Sin embargo, en ese
momento casi no había documentación en inglés sobre el chip y los comandos que aceptaba. El
precio muy bajo y el hecho de que había muy pocos componentes externos en el módulo que sugiere
que podría ser muy barato en el volumen, atrajo a muchos hackers para explorar el módulo, el chip y
el software en él, así como para traducir La documentación china.

Web del producto: http://espressif.com/en/products/hardware/esp8266ex/overview

Módulo con memoria flash: http://espressif.com/en/products/hardware/esp-wroom-02/overview

Recursos: http://espressif.com/en/products/hardware/esp8266ex/resources

Datasheet: http://espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf

Wikipedia:

 https://es.wikipedia.org/wiki/ESP8266
 https://en.wikipedia.org/wiki/ESP8266
 System on chip (SOC) https://en.wikipedia.org/wiki/System_on_a_chip
Artículos a leer para nuevos en ESP8266:

 4 cosas que hay que saber del ESP8266: https://www.baldengineer.com/four-esp8266-


gotchas.html
 5 razones para usar ESP8266: https://www.baldengineer.com/esp8266-5-reasons-to-use-
one.html

El ESP8285 es un ESP8266 con 1 MB de flash incorporado, lo que permite dispositivos de un solo


chip capaces de conectarse a Wi-Fi. Muchos encapsulados del ESP8266 viene con 1 MB de flash.

Foro de la comunidad de ESP8266: http://www.esp8266.com/

Más información:

 http://programarfacil.com/podcast/esp8266-wifi-coste-arduino/
 http://makezine.com/2015/04/01/esp8266-5-microcontroller-wi-fi-now-arduino-compatible/

SDK ESP8266

A finales de octubre de 2014, Espressif lanzó un kit de desarrollo de software (SDK) que permite
programar el chip, eliminando la necesidad de un microcontrolador por separado.Desde entonces, ha
habido muchos lanzamientos oficiales de SDK; Espressif mantiene dos versiones del SDK – una
basada en RTOS y la otra basada en callbacks mediante comadnos AT:.

 NONOS SDK: https://github.com/espressif/ESP8266_NONOS_SDK


 RTOS SDK: https://github.com/espressif/ESP8266_RTOS_SDK

Una alternativa al SDK oficial de Espressif es el open source esp-open-sdk que se basa en la cadena
de herramientas (toolchain) GCC. ESP8266 utiliza el microcontrolador Cadence Tensilica LX106 y
la cadena de herramientas GCC que es de código abierto y mantenida por Max Filippov. Otra
alternativa es “Unofficial Development Kit” de Mikhail Grigorev.

Otros SDK de código abierto para el ESP8266:

 esp-open-sdk: https://github.com/pfalcon/esp-open-sdk
 Unofficial Development Kit for Espressif ESP8266 http://www.programs74.ru y
github https://github.com/CHERTS/esp8266-devkit
 NodeMCU: un firmware basado en Lua. https://github.com/nodemcu/nodemcu-firmware
 Arduino: un firmware basado en C ++. Este núcleo permite que la CPU del ESP8266 y sus
componentes Wi-Fi sean programados como cualquier otro dispositivo Arduino. El Arduino
Core ESP8266 está disponible a través de GitHub: https://github.com/esp8266/Arduino y
cuyo wiki es https://github.com/esp8266/esp8266-wiki/wiki
 MicroPython: una implementación de Python para dispositivos embebidos a la plataforma
ESP8266. https://docs.micropython.org/en/latest/esp8266/index.html
 ESP8266 BASIC: Un intérprete básico de código abierto específicamente diseñado para el
Internet de las cosas. http://www.esp8266basic.com/
 Mongoose Firmware: Un firmware de código abierto con servicio gratuito en la
nube: https://github.com/cesanta/mongoose-iot

ESP8266 core for Arduino: https://github.com/esp8266/Arduino mantenido por al comunidad.

Más información:

 SDK: http://hackaday.com/2014/10/25/an-sdk-for-the-esp8266-wifi-chip/
 esp-open-sdk: https://github.com/pfalcon/esp-open-sdk
 http://www.esp8266.com/
 https://github.com/esp8266/esp8266-wiki/wiki

Características

El esp8266 es un módulo muy de moda que va alimentado a 3.3V y que hay mucha documentación
en internet. EL ESP8266 no tiene ROM y usa una ROM externa SPI y soporta hasta 16MB.

Características:

 32-bit RISC CPU: Tensilica Xtensa LX106 running at 80 MHz*


 64 KiB of instruction RAM, 96 KiB of data RAM
 External QSPI flash – 512 KiB to 4 MiB* (up to 16 MiB is supported)
 IEEE 802.11 b/g/n Wi-Fi
 Integrated TR switch, balun, LNA, power amplifier and matching network
 WEP or WPA/WPA2 authentication, or open networks
 16 GPIO pins
 SPI, I²C,
 I²S interfaces with DMA (sharing pins with GPIO)
 UART on dedicated pins, plus a transmit-only UART can be enabled on GPIO2
 1 port 10-bit ADC
* Both the CPU and flash clock speeds can be doubled by overclocking on some devices. CPU can
be run at 160 MHz and flash can be sped up from 40 MHz to 80 MHz.

Datos de ESP8266 de datasheet:

 802.11 b/g/n
 Integrated low power 32-bit MCU
 Integrated 10-bit ADC • Integrated TCP/IP protocol stack
 Integrated TR switch, balun, LNA, power amplifier and matching network
 Integrated PLL, regulators, and power management units
 Supports antenna diversity
 WiFi 2.4 GHz, support WPA/WPA2
 Support STA/AP/STA+AP operation modes
 Support Smart Link Function for both Android and iOS devices
 SDIO 2.0, (H) SPI, UART, I2C, I2S, IR Remote Control, PWM, GPIO
 STBC, 1×1 MIMO, 2×1 MIMO
 A-MPDU & A-MSDU aggregation & 0.4s guard interval
 Deep sleep power <10uA, Power down leakage current < 5uA
 Wake up and transmit packets in < 2ms
 Standby power consumption of < 1.0mW (DTIM3) • +20 dBm output power in 802.11b
mode
 Operating temperature range -40C ~ 125C
 FCC, CE, TELEC, WiFi Alliance, and SRRC certified

Datos de la MCU Tensilica LX106 que lleva el ESP8266:

 https://en.wikipedia.org/wiki/Tensilica
 https://ip.cadence.com/uploads/white_papers/Diamond_Tensilica.pdf

Dentro de la gran cantidad de usos para este módulo caben destacar los siguientes:

 Electrodomésticos conectados.
 Automatización del hogar.
 Automatización de la industria.
 Cámaras IP.
 Redes de sensores.
 Wereables.
 IoT (Internet of Things o Internet de las Cosas)
 IIoT (Industrial Internet of Things o Internet de las Cosas para el sector Industrial)

Pinout ESP8266:
Pinout placas: http://www.pighixxx.com/test/portfolio-items/esp8266/?portfolioID=360

Diagrama de bloques

Buenísimos tutoriales: http://www.prometec.net/indice-tutoriales-esp8266/


Consumo ESP8266

Tabla de consumo del módulo ESP8266:

Si queremos alimentar el módulo ESP8266 con Arduino debemos ver las limitaciones de Arduino:
pin power limitations: http://playground.arduino.cc/Main/ArduinoPinCurrentLimitations, a 5V la
limitación es de 1A del regulador de tensión. Como va alimentado a 3.3V la limitación es de 150mA
limitado por el regulador de tensión. Regulador http://www.ti.com/lit/ds/symlink/lp2985-33.pdf, por
lo tanto alimentar el ESP8266 desde el pin de 3.3V puede dar problemas y es recomendable usar otra
fuente de alimentación.

Valores de HIGH y LOW en ESP8266 http://henrysbench.capnfatz.com/henrys-bench/arduino-


projects-tips-and-more/esp8266ex-gpio-high-and-low-input-thresholds/

Módulos ESP8266
El ESP8266 se presenta con muchos encapsulados: http://www.esp8266.com/wiki/doku.php?
id=esp8266-module-family

Los módulos ESP8266 los podemos encontrar en diferentes encapsulados y placas:


Características de los módulos:

Active dimensions

Name pins Pitch Form factor LEDs Antenna Shielded? (mm) Notes

ESP-

01 6 0.1″ 2×4 DIL Yes PCB trace No 14.3 × 24.8

ESP- 2×4 U-FL

02 6 0.1″ castellated No connector No 14.2 × 14.2


ESP- 2×7

03 10 2 mm castellated No Ceramic No 17.3 × 12.1

ESP- 2×4

04 10 2 mm castellated No None No 14.7 × 12.1

ESP- U-FL

05 3 0.1″ 1×5 SIL No connector No 14.2 × 14.2

ESP-

06 11 misc 4×3 dice No None Yes 14.2 × 14.7 Not FCC approved

ESP- Ceramic + U-

07 14 2 mm 2×8 pinhole Yes FL connector Yes 20.0 × 16.0 Not FCC approved

ESP- 2×7

08 10 2 mm castellated No None Yes 17.0 × 16.0 Not FCC approved

ESP-

09 10 misc 4×3 dice No None No 10.0 × 10.0

ESP- 2 1×5

10 3 mm? castellated No None No 14.2 × 10.0

ESP-

11 6 0.05″ 1×8 pinhole No Ceramic No 17.3 × 12.1

ESP- 2×8

12 14 2 mm castellated Yes PCB trace Yes 24.0 × 16.0 FCC and CE approved[14]

ESP- 2×8

12E 20 2 mm castellated Yes PCB trace Yes 24.0 × 16.0 4 MB Flash

ESP- 2×8 FCC and CE approved. Improved

12F 20 2 mm castellated Yes PCB trace Yes 24.0 × 16.0 antenna performance. 4 MB Flash

Marked as ″FCC″. Shielded

ESP- 1.5 2×9 W18.0 x module is placed sideways, as

13 16 mm castellated No PCB trace Yes L20.0 compared to the ESP-12 modules.


2×8

ESP- castellated

14 22 2 mm +6 No PCB trace Yes 24.3 x 16.2

Interesante artículo sobre que módulo wifi ESP8266 elegir: http://polaridad.es/esp8266-modulo-


wifi-elegir-caracteristicas/

Buena explicación de los módulos: http://visystem.ddns.net:7442/ESP8266-modulos/

ESP WROOM otro encapsulado ya trae una memoria Flash SPI y con certificación FCC y CE:

 http://www.espressif.com/en/products/hardware/esp-wroom-02/overview
 https://espressif.com/en/products/hardware/esp-wroom-02/overview
 http://www.cnx-software.com/2015/05/05/espressif-vroom-wifi-esp8266-modules-are-fcc-
and-ce-certified/

Datasheet: http://www.espressif.com/sites/default/files/documentation/esp-wroom-
s2_datasheet_en.pdf

ESP-01

En nuestro caso vamos a usar el módulo ESP-01:

Esquemático:
Wiki: https://nurdspace.nl/ESP8266

Esquemáticos ESP01: http://henrysbench.capnfatz.com/henrys-bench/arduino-projects-tips-and-


more/esp8266-esp-01-pin-outs-and-schematics/

Módulo usado:

 https://www.seeedstudio.com/WiFi-Serial-Transceiver-Module-w%26-ESP8266-1MB-
Flash-p-2485.html
 https://www.sparkfun.com/products/13678

Anuncios
Report this ad

Report this ad

Compártelo:

 Twitter
 Facebook4
 Google

Relacionado
Video. Iniciación a ESP8266. HardwareEn "Arduino"
Programación ESP8266 con IDE ArduinoEn "Arduino"
ESP8266 y ArduinoEn "Arduino"

Esta entrada se publicó en Arduino, Curso Avanzado 2017, ESP8266 y está etiquetada
con Arduino, Curso Avanzado 2017, equematicos, ESP-01, ESP8266, WROOM en 12 septiembre,
2017.
Navegador de artículos
← Manejo de Conexiones HTTP ArduinoESP8266 y Arduino →
2 pensamientos en “Qué es ESP8266”
1. Pingback: Saber Más Avanzado 2017 | Aprendiendo Arduino
2. Pingback: Saber más Arduino Avanzado 2018 | Aprendiendo Arduino

ESP8266 ESP-01 Pin Outs and


Schematics
Contents [show]

ESP-01 Quick Reference


This short page offers some handy graphics for those using the ESP8266 ESP-01 WiFi
Board.

Keep in mind, the boards have more than one revision and this solely represents the
boards in my possession.

ESP-01 Schematic
There are other schematics on the internet. I found them a little cumbersome and
ambiguous. Therefore I created my own. I cleared up the ambiguities by actually
metering the circuit out.
ESP8266 ESP-01 Pin Outs
The illustration below shows the Pin Outs of the ESP-01 pin outs. These pins can serve
different functions that are discussed in other articles.
ESP
8266 SOC Pinouts
At the heart of the Chip is the ESP8266 System On a Chip. The illustration below
shows the pin numbering. A more complete explanation of the pin functions can be
found here.
Description
We release a tutorial for ESP8266.
This is WiFi serial transceiver module, based on ESP8266 SoC.
The SOC has Integrated TCP/IP protocol stack
We have a set of documents in Chinese. We are preparing tutorials and demo
software to showcase utility of this module.
Please buy this module only when you understand the existing documents.
ESP8266 is a highly integrated chip designed for the needs of a new connected
world. It offers a complete and self-contained Wi-Fi networking solution,
allowing it to either host the application or to offload all Wi-Fi networking
functions from another application processor.
ESP8266 has powerful on-board processing and storage capabilities that allow
it to be integrated with the sensors and other application specific devices
through its GPIOs with minimal development up-front and minimal loading
during runtime. Its high degree of on-chip integration allows for minimal external
circuitry, and the entire solution, including front-end module, is designed to
occupy minimal PCB area.
Corresponding Interface
 Upgrade 1M Flash
 SDIO 2.0, SPI, UART
 32-pin QFN package
 Integrated RF switch, balun, 24dBm PA, DCXO, and PMU
 Integrated RISC processor, on-chip memory and external memory interfaces
 Integrated MAC/baseband processors
 Quality of Service management
 I2S interface for high fidelity audio applications
 On-chip low-dropout linear regulators for all internal supplies
 Proprietary spurious-free clock generation architecture
 Integrated WEP, TKIP, AES, and WAPI engines

Specification
 1M Flash
 802.11 b/g/n
 Wi-Fi Direct (P2P), soft-AP
 Integrated TCP/IP protocol stack
 Integrated TR switch, balun, LNA, power amplifier and matching network
 Integrated PLLs, regulators, DCXO and power management units
 +19.5dBm output power in 802.11b mode
 Power down leakage current of<10uA
 Integrated low power 32-bit CPU could be used as application processor
 SDIO 1.1/2.0, SPI, UART
 STBC, 1×1 MIMO, 2×1 MIMO
 A-MPDU & A-MSDU aggregation & 0.4ms guard interval
 Wake up and transmit packets in < 2ms
 Standby power consumption of < 1.0mW (DTIM3)

Part List
 1x Esp8266 module
Resource
 Catalog of ESP8266 Documents

Documents
Please visit our wiki page for more info about this product. It will be appreciated
if you can help us improve the documents, add more demo code or tutorials.
For technical support, please post your questions to our forum
Technical Details
Weight G.W 30g

Battery Exclude

Part List

WiFi Serial Transceiver Module w& ESP8266 - 1MB Flash


Cómo puedo hacer que los pines Tx y
Rx en un ESP-8266-01 en los pines
GPIO?
esp8266 ide
Cuando la programación de un controlador ESP-01 con Arduino IDE, ¿cómo
puedo hacer que el Tx y Rx en un genérico de terminales de e/S de forma
fiable? Creo que hay un comando para cambiar el Tx y Tx con otros pines.
Traté de serie.swap() pero no funcionó. Entonces, ¿cómo conseguir hecho con
Arduino IDE o es incluso posible?. Estoy utilizando un controlador ESP-01, lo
que significa que habrá cuatro pines GPIO de una vez esta pregunta respondió.

Quiero lograr el mismo que en el video, de Cómo agregar más GPIOs a ESP8266
(ESP-01), pero sin necesidad de soldadura de alambre.

@vzxc, 👍9

5 respuestas
▲4
Tx = GPIO 1

Rx = GPIO 3

Debería funcionar, pero tenga cuidado, porque si se queman, usted no será


capaz de programa o incluso hablar con el ESP ya.

7 oct. 16, @Dat Ha


No estoy seguro de que he entendido tu respuesta - así que con tu código de arduino en
su respuesta va a intercambiar el tx, rx pines con los demás que no se puede acceder
(excepto sin soldadura de alambre), de modo que el previamente inaccesibles pins , a la
que se refieren como gpio 3 y gpio 1 puede ser utilizado como gpio 0 y gpio 2 como
entrada o salida de los pines, @vzxc

Me refiero a que si usted desea utilizar el pin Tx como una ENTRADA / SALIDA, lo declaro
y lo consideran como GPIO 1. Mismo se aplica para el pin Rx., @Dat Ha

De modo que funciona como el video que se hace referencia en la pregunta?-excepto sin
soldadura de curso. y significaría la serie de los pines de tx y rx no pueden ser utilizados
para la comunicación en serie-que es ok, @vzxc

verdad, solo hay que tener CUIDADO para no corto los 2 pines, @Dat Ha

▲1
Tal vez un poco tarde, pero es posible que ayude a alguien más.

ESP-01 pines GPIO (1 y 3)

10 abr. 17, @Ernst


No solo enlace a una página externa, especialmente cuando la respuesta está enterrado
en algún lugar. (Páginas externas cambian y desaparecen.) En su lugar, escriba aquí una
respuesta que responde directamente a la pregunta, utilizando la información de la
página (y todavía vínculo con la mención de que es de donde se obtuvo la
información)., @cjs

Bastante largo e interesante artículo, difícil de resumir aquí... me voy de un [mirror]


(https://web.archive.org/web/20190418071504/http://www.forward.com.au/pfod/
ESP8266/GPIOpins/ESP8266_01_pin_magic.html) en caso de que el original
desaparece., @brasofilo

▲ 18
Agregue esto a su código en el inicio de establecer void setup():

//********** CHANGE PIN FUNCTION TO GPIO **********


//GPIO 1 (TX) swap the pin to a GPIO.
pinMode(1, FUNCTION_3);
//GPIO 3 (RX) swap the pin to a GPIO.
pinMode(3, FUNCTION_3);
//**************************************************
Usted no será capaz de utilizar el Monitor Serial como TX será ahora un pin
GPIO y no la transmisión de datos en Serie. Usted todavía puede el Flash de su
dispositivo cuando usted arrancar el dispositivo en modo de flash se convierte
GPIO1 y GPIO3 de vuelta a TX/RX. Una vez que se reinicie en modo de ejecución
GPIO1 y GPIO3 va a volver a ser pines GPIO.

Para cambiar GPIO1 y GPIO3 volver a ser TX/RX para regular el Serial Monitor
de uso agregar esto a su código en el inicio de establecer void setup():

//********** CAMBIAR PIN DE TX/RX **********


//GPIO 1 (TX) intercambiar el pin de TX.
pinMode(1, FUNCTION_0);
//GPIO 3 (RX) de intercambio de la clavija a una RX.
pinMode(3, FUNCTION_0);
//***************************************************
Si entiendo que el ESP-01 correctamente los pines NO puede ser de TX/RX y
pines GPIO al mismo tiempo.

10 ene. 18, @Isaias Munguia


Para obtener más información acerca de las funciones de pin ver
https://www.esp8266.com/wiki/doku.php?id=esp8266_gpio_pin_allocations, @kleptog

Y no olvide que " pinMode(1/3, SALIDA/ENTRADA)', @LaborEtArs

▲1
Una cosa que he notado es que si estás tratando de usar el Tx/Rx de pines para
el principal serial comm (1 y 3) como un GPIO, a continuación, usted no debe
utilizar ninguna Serie de comandos en el código, como la Serie.de comenzar.

Yo estaba teniendo mi GPIO digital lee al azar una lectura alta (tenían su modo
de establecer como INPUT_PULLUP), mientras que yo tenía un origen tirando a
bajo (he comprobado que la entrada de la era de hecho sacó bajo, mientras que
el ESP8266 digitalRead fue la lectura de alta)

La eliminación de todos los comandos Serie (comenzar, print y println) fija que
para mí.

3 jul. 19, @maddios

▲2
Para trabajar TX RX como GPIO de Serie.begin() debe ser eliminado de código.

27 may. 21, @Dima


Sólo la eliminación de la Serie.begin() es suficiente, trabajó como un encanto.
Gracias!, @Hemant Yadav
Ver también:

 ESP8266 no se conecta a WiFi


 Arduino salidas valores de basura en el monitor serial con ESP8266
 Arduino Uno 3: Atrapado en el 'cargando...' sketches
 error fatal ESP8266WiFi.h: No existe el fichero o el directorio
 Esp8266 actualización de firmware con uno "chip error de sincronización"
 Los cambios de voltaje, pero digitalRead siempre ALTA
 Recibiendo el error ets 8 de enero de 2013,primera causa:4,modo de
arranque(1,6) wdt reset
 Lista de Arduino junta directiva de preprocesador #define

También podría gustarte