Programar fácil con Arduino

Programar fácil con Arduino, entiende cómo funciona el mundo.

  • Inicio
  • Cursos
  • Blog
  • Podcast
  • ¿Quién soy?
  • Contactar
  • Acceder
Usted está aquí: Inicio / Podcast / ESP8266 todo lo que necesitas saber del módulo WiFi para Arduino

ESP8266 todo lo que necesitas saber del módulo WiFi para Arduino

Comentarios(45)
Luis del Valle Hernández

Cuando estamos inmersos en nuestro mundo, muchas veces no nos damos cuenta de lo que sucede a nuestro alrededor. Esto es precisamente lo que me ha pasado con el ESP8266. Siempre he estado rodeado de Arduino y soy un fiel defensor de esta placa.

Hace ya algún tiempo cayó en mis manos un módulo ESP-01. Estuve trasteando con él varios meses y jugando con los comandos AT. Pero realmente cuando he visto el potencial que tiene, ha sido preparando este capítulo del podcast.

Ya hay dispositivos comerciales que lo utilizan como el relé WiFi Sonoff. Gracias a este hecho, somos capaces de hackearlo y poder comunicarlo con una plataforma del IoT. Incluso hacer nuestro propio sistema de gestión con el protocolo MQTT y Node-RED.

Las opciones son infinitas :)

Gracias a Germán Martín, un fiel seguidor de Programarafacil, he podido descubrir el abanico de posibilidades que nos brinda. Hoy vamos a hablar de todo esto. Analizaremos la actualidad de este microcontrolador y pondremos todas las cartas sobre la mesa.

Si en estos años ha conseguido crear diferentes módulos destinados a diferentes fines, lo mejor está todavía por llegar. Comenzaremos hablando de sus orígenes y sus posibles usos. Luego veremos detalladamente sus especificaciones técnicas.

Por último analizaremos los diferentes módulos que podemos encontrar en el mercado y los diferentes métodos para programar el ESP8266.

Indice de contenidos

  • 1 Qué es el ESP8266
  • 2 Un poco de historia
  • 3 Posibles usos del ESP8266
  • 4 Especificaciones del chip ESP8266
  • 5 Módulos ESP-XX
  • 6 Programación del ESP8266
  • 7 Conclusión
Guia esp8266

Qué es el ESP8266

Cuando salió el Arduino MKR1000, afirmé que revolucionaría el mundo de los objetos conectados, sobre todo por la facilidad de uso que caracteriza a estas placas. Acercaba de una manera sencilla el IoT a la población civil. Pero lo que está ocurriendo con el ESP8266, puede reventar las nuevas tendencias de muchos sectores. Se trata de un chip integrado con conexión WiFi y compatible con el protocolo TCP/IP. El objetivo principal es dar acceso a cualquier microcontrolador a una red.

En este artículo haré referencia en varias ocasiones a Arduino y es que, sin duda alguna, es la competencia del Shield WiFi para esta placa. Pero no solo eso, Atmel, el fabricante que provee de microcontroladores a Arduino, sacó al mercado el ATSAMW25, competencia directa del ESP8266. Este microcontrolador es el que incorpora el Arduino MKR1000.

La gran diferencia entre el ESP8266 y el ATSAMW25 es el precio. Mientras que podemos encontrar módulos con el chip ESP por 3€, el Arduino MKR1000 sale por unos 40€ con gastos de envío.

Descarga la guía del ESP-01

Tutorial paso a paso para configurar este módulo

El ESP-01 es el módulo más famoso y económico que lleva integrado un ESP8266. Descarga la guía completa paso a paso en PDF.

La diferencia es abismal aunque tiene su sentido. La versión más básica del ESP es la 01 y dista mucho de la facilidad de uso que tiene el Arduino MKR1000, aunque el objetivo de este artículo no es hacer una comparativa entre ellos.

La gran ventaja del ESP8266 es su bajo consumo. Es el producto ideal para wereables y dispositivos del IoT.

Un poco de historia

No voy a profundizar en la historia detrás de este chip. Puedes encontrar mucha información en la red. La empresa que lo creo y lo fabrica es Espressif, una empresa China situada en Shangai.

Aunque parece que lleva con nosotros mucho tiempo, lo cierto es que vio la luz en agosto del 2014, en su versión básica el módulo ESP-01 de la mano de AI-Thinker. Ese mismo mes comenzó la era de reinado del ESP. Todos aquellos que pudieron hacerse con uno quedaron fascinados por su bajo precio y las posibilidades que tenía. En aquella época el gran problema era la documentación, estaba toda en Chino.

esp8266

Poco a poco, la gran comunidad que hay detrás, comenzó a traducir la documentación y crear firmwares pare el ESP8266. Un firmware no es más que el software de bajo nivel, la lógica que controla los circuitos electrónicos. Todo empezó a crecer y las aplicaciones se multiplicaron. En la actualidad podemos encontrar multitud de módulos que incorporan este microcontrolador.

A mediados de este año (2016), la empresa anunció una nueva versión, el ESP8285. Parecía un clon de su predecesor. La gran diferencia es que incorpora una memoria Flash de 1MB integrada dentro del propio chip. El ESP8266 no dispone de esta memoria y necesita de un módulo externo para almacenar los programas. Esto va a permitir crear dispositivos del IoT, o de otro tipo, del tamaño de una tecla de un teclado, todo un reto. Todo gracias a la conectividad y a la memoria Flash que incorpora.

Posibles usos del ESP8266

En este punto debemos de distinguir entre los módulos y los microcontroladores. El ESP8266 y el ESP8285 son microcontroladores. Podemos trabajar con ellos sueltos o podemos comprarlo integrado dentro de un PCB (Printed Circuit Board o Circuito Impreso).

Ocurre lo mismo que con Arduino. Tenemos la posibilidad de comprar un microcontrolador Atmel o comprar la placa de Arduino donde ya viene integrado.

esp8266ex

Dicho todo esto, el uso que le demos dependerá de si lo tenemos como chip o como módulo. Dentro de la gran cantidad de usos caben destacar los siguientes:

  • Electrodomésticos conectados.
  • Automatización del hogar.
  • Casas inteligente. ITEAD es puntera en este sector.
  • Automatización de la industria.
  • Monitor de bebés.
  • 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)

Y cualquier aplicación donde se requiera conexión a una red o a Internet. Puedes leer el artículos donde te explicamos 6 proyectos con el ESP8266 para el IoT.

Especificaciones del chip ESP8266

No me cansaré de repetir que lo primero que debemos hacer cuando adquirimos un nuevo componente es mirar la hoja de especificaciones técnicas. La empresa Espressif nos facilita dicha hoja en Inglés. A continuación haré un resumen de lo más importante.

Hardware

  • Utiliza una CPU Tensilica L106 32-bit
  • Voltaje de operación entre 3V y 3,6V
  • Corriente de operación 80 mA
  • Temperatura de operación -40ºC y 125ºC

Conectividad

  • Soporta IPv4 y los protocolos TCP/UDP/HTTP/FTP
  • No soporta HTTPS en un principio. Si que lo hace mediante software tanto en cliente como servidor TLS1.2. La primera implementación está todavía en desarrollo.

Puertos GPIO (de propósito general)

Pines esp01
  • Tiene 17 puertos GPIO pero solo se pueden usar 9 o 10. El GPIO16 es especial ya que está conectado al RTC (Real Time Clock).
  • Pueden ser configurados con resistencia Pull-up o Pull-down.
  • Soporta los principales buses de comunicación (SPI, I2C, UART).

Características eléctricas

  • Voltaje de trabajo entre 3V y 3,6V.
  • Según noticias del propio CEO de Espressif, admite tensiones de entrada de 5V e los puertos GPIO.

Consumos

Dependerá de diferentes factores como el modo en el que esté trabajando el ESP8266, de los protocolos que estemos utilizando, de la calidad de la señal WiFi y sobre todo de si enviamos o recibimos información a través de la WiFi. Oscilan entre los 0,5 μA (microamperios) cuando el dispositivo está apagado y los 170 mA cuando transmitimos a tope de señal.

Modos de operación

Debido a los sectores a los que va enfocado, wereables, dispositivos del IoT y móviles, el ESP8266 requiere de una gestión de energía eficaz. Dispone de una arquitectura de bajo consumo que trabaja en 3 modos.

  • Active mode o modo activo: a pleno rendimiento.
  • Sleep mode o modo dormido: solo el RTC (Real Time Clock) está activo para mantener la sincronización. Se queda en modo alerta de los posibles eventos que le hagan despertar. Mantiene en memoria los datos de conexión y así no hace falta volver a establecer la conexión con la WiFi. Consume entre 0,6 mA y 1 mA.
  • Deep sleep o modo en sueño profundo: el RTC está encendido pero no operativo. Debe pasar por el modo dormido antes de despertar. Hay que llevar especial cuidado con los datos ya que en este estado es como si estuviera apagado y todos los datos que no estén almacenados se pierden. Consume alrededor de 20 μA.

Módulos ESP-XX

Al igual que con Arduino, donde trabajamos con la placa o circuito integrado, con el ESP8266 ocurre exactamente lo mismo. El fabricante AI-Thinker proporciona la serie ESP con diferentes modelos para diferentes usos. A parte han ido surgiendo diferentes placas que incorporan algún módulo ESP como el NodeMCU.

ESP-01

Se trata del módulo más popular aunque en muchas ocasiones, no es el más conveniente. El módulo ESP-01 tiene un precio muy reducido.. En la actualidad no es el más utilizado, ha sido desbancado por el ESP-12 del cual hablaré más tarde. Tiene disponible dos pines GPIO digitales para controlar sensores y actuadores.

Puedes seguir la guía completa para configurar el módulo ESP01 que publiqué.

También se puede llegar a utilizar para este uso los pines Rx y Tx si no se utilizan para la comunicación a través del puerto serie. Se puede programar a través de un adaptador serie/USB o con el cableado adecuado, a través de Arduino. Los conectores que vienen por defecto, no permiten conectarlo a la protoboard.

Esto dificulta prototipar con este módulo. Sin embargo, podemos utilizar unos conectores en forma de L para conectarlo a la placa de prototipado. Lo podemos usar como un dispositivo autónomo o como complemento con Arduino.

ESP01 partes más importantes

ESP-05

Quizás sea el módulo más simple de toda la gama. Está destinado a ser un Shield WiFi para Arduino. La disposición de los pines nos permiten un fácil conexionado con la protoboard. Por el contrario no dispone de ningún puerto GPIO accesible.

esp-05

ESP-12

Este módulo se está convirtiendo en el buque insignia de la empresa. Permite hacer bastantes más cosas que los módulos anteriores. Lo puedes conseguir por un precio muy reducido. Tenemos acceso a 11 puertos GPIO de los cuales uno, es analógico con una resolución de 10-bit (1024 valores posibles). La configuración en modo dormido es muy sencilla. Esto nos permitirá ahorrar mucha energía. Por el contrario, la conexión con la protoboard no es muy amigable. Necesitamos soldar los pines o comprar un adaptador por 0,20€, aunque también hay que soldar. Quizás está sea la mejor opción si queremos hacerlo funcionar de forma autónoma.

esp-12

ESP-201

Es el módulo preferido por los Makers para prototipar. Su precio ronda los 6€. En principio solo podemos acceder a 11 puertos GPIO pero tras unas modificaciones, podríamos acceder a un par más de ellos. Lo podemos encajar fácilmente en una protoboard y permite el acople de una antena externa para tener más alcance.

esp-201

NodeMCU

El NodeMCU es el módulo más característico de este tipo. Su precio ronda los 6€. A diferencia de los otros módulos, viene con todo lo necesario para empezar a trabajar de forma autónoma. Incluye un adaptador serie/USB y se alimenta a través del microusb. Está basado en el ESP-12 y la última versión oficial es la 2. Lo más interesante de este módulo es que puedes descargar un firmware que te permite programar en lenguajes como LUA, Python, Basic o JavaScript. Sin duda alguna este módulo es la mejor opción si queremos adentrarnos en el mundo del ESP8266.

nodemcu

Programación del ESP8266

Cuando salió la placa en el año 2014, su objetivo era la conectividad de los microcontroladores como Arduino. Hasta ese momento, solo se disponía del Shield WiFi para conectar Arduino de forma inalámbrico. Pero el gran problema era el alto coste que suponía. El ESP8266 suplía estas carencias, permitía conectar cualquier microcontrolador por un bajo precio y consumo.

Según pasaba el tiempo, los Makers y Hackers comenzaron a ver las grandes posibilidades que ofrecía debido a la CPU que venía integrada. Ya el primer módulo, el ESP-01, podía funcionar de forma autónoma.

 Al principio, era difícil su programación. Requería conocer muy bien los comandos AT e incluso el Chino, ya que la documentación no estaba traducida. Según avanzaban los meses todo eso se solucionó. Pronto salieron diferentes firmwares y traducciones de la documentación oficial. En la actualidad es relativamente sencillo programar un ESP8266.

Descarga la guía del ESP-01

Tutorial paso a paso para configurar este módulo

El ESP-01 es el módulo más famoso y económico que lleva integrado un ESP8266. Descarga la guía completa paso a paso en PDF.

Respecto al hardware ya hemos visto que dependerá del modelo que estemos utilizando, si incorpora o no el adaptador serie/USB. Aún así, cabe la posibilidad de programarlo a través de un Arduino. La versión del firmware que viene por defecto soporta comandos AT (conjunto de comandos estándar). En la actualidad podemos programar a través del IDE oficial de Arduino con una sintaxis muy parecida gracias al firmware que nos proporciona NodeMCU.

En GitHub encontramos una infinidad de librerías que nos facilitarán la vida con el ESP8266. Germán Martín ha creado ya varias y las puedes ver en su repositorio de GitHub.

Conclusión

Espero que este artículo te haya aclarado qué es y para qué utilizar el ESP8266. En los próximos años será un chip que tendremos que tener muy en cuenta en el desarrollo del IoT, IIoT y la Industria 4.0. Todo gracias a su bajo coste, su bajo consumo y, cada vez más, su facilidad de uso.

En Programarfacil lo tenemos claro, poco a poco iré subiendo más contenido de este microcontrolador. Veremos diferentes ejemplos de uso y cómo sacar el máximo partido a este dispositivo.

Si quieres contactar con Germán puedes hacerlo a través de los siguientes métodos:

  • Twitter (@gmag12)
  • Email ([email protected])
  • GitHub (gmag11)

Puedes escuchar este programa en,  iVoox, iTunes y en Spreaker. Si lo haces, por favor valora y comenta, así podremos llegar a más gente.

Conocer como funciona el mundo es la única manera de poder cambiarlo.

curso programacion de arduino desde cero

Tutoriales de Arduino


Curso de Arduino
Proyectos con Arduino
Arduino UNO R3
Arduino MEGA 2560
Servomotor con Arduino
Sensor de temperatura DHT11
Sensor temperatura Arduino
Tutorial pulsadores
Tutorial RTC reloj Arduino
Tutorial potenciómetro Arduino
Tutorial display 7 Arduino
Tutorial motor paso a paso Arduino
Tutorial librerías Arduino
Tutorial ultrasonidos Arduino
Tutorial I2C Arduino
Tutorial consumo Arduino
Tutorial weareable Arduino
Tutorial interrupciones Arduino
Tutorial ADS1115 ADC Arduino
Tutorial pilas Arduino
Tutorial riego Arduino
Arduino Shield EchidnaShield
Tutorial if else Arduino

Tutoriales ESP8266


Introducción ESP8266
Tutorial NodeMCU
IDE Arduino NodeMCU
Tutorial ESP-01
Relé WiFi Sonoff

Tutoriales IoT


Proyectos IoT con Arduino
MQTT ESP8266 Raspberry Pi
Redes LPWAN Arduino
IFTTT Arduino
Geolocalización Arduino
Arduino MKRFOX1200 Sigfox
Tutorial Node-RED

Tutoriales Visión Artificial


Instalación OpenCV y Python
Introducción Vision Artificial
Detección movimiento OpenCV
Introducción OpenCV
Qué es Machine Learning
Sensor Kinect
Realidad Aumentada
Detector Canny OpenCV
Big Data Visión Artificial
Kinect y Processing
Deep Learning

Tutoriales Raspberry Pi


Tutorial Raspberry Pi
Proyectos Raspberry Pi
Vídeo Raspberry Pi
Servidor web Raspberry Pi
Servidor Raspberry Pi
Flask Raspberry Pi
Monitor bebé Raspberry Pi

Podcast


Entrevista Obijuan
Entrevista BricoGeek
Entrevista David Cuartielles
Entrevista Rinconingenieril
Entrevista Staticboards
Entrevista La Hora Maker
Entrevista OSHWDem
Entrevista Colepower
Entrevista Aprendiendoarduino
Entrevista BitFab
Protocolo i2c imagen destacada

Comunicación I2C con Arduino lo mejor de dos mundos

El protocolo de comunicación I2C con Arduino es ampliamente utilizado en multitud de sensores y actuadores. Esto se debe principalmente a dos … [+ info...]

Introducion-a-git-y-git-hub-github tutorial paso a paso

Git y GitHub tutorial paso a paso

¿Qué es Git y GitHub? En este artículo vas a entender cómo utilizar Git y GitHub, la famosa red social del código basada en Git, orientada a … [+ info...]

Arduino IDE entorno de desarrollo oficial

El entorno de desarrollo integrado Arduino IDE representa el software básico ideal para principiantes y expertos. Cuando decides implementar un … [+ info...]

Copyright © 2021 · Programar Fácil · Aviso legal

Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando, consideramos que acepta su uso.Aceptar Política de privacidad y cookies
Política de cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necesarias
Siempre activado

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

No necesarias

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.

close

Te ayudo a dar los primeros pasos con Arduino

Si quieres aprender programación de electrónica con Arduino utilizando un método serio, prueba el curso que te ofrezco.


Es muy sencillo, te apuntas en este formulario y accedes a los 3 primeros módulos.


Que te gusta, sigues con el curso completo.


Que no te gusta, sin problema, te das de baja y tan amigos.


Solo para gente seria que esté cansada de copiar y pegar código sin saber lo que hace.

x