ESP8266

ESP8266, el favorito de muchos cuando se trata de realizar proyectos enfocados al internet de las cosas, en este artículo vas a encontrar mas de 17 cosas sobre este útil dispositivo.

imagen esp8266

¿QUÉ ES EL ESP8266?

El ESP8266 no es solo un módulo WiFi, en realidad es un microcontrolador que se encuentra integrado en un módulo compatible con el protocolo TCP IP.

La conexión inalámbrica es la revolución que este dispositivo trajo ya que por medio de la misma se pueden crear proyectos enfocados al Internet de las Cosas que van desde encender luces hasta el monitoreo de distintos parámetros.

Con el diagrama de bloques a continuación se puede tener una mejor comprensión del funcionamiento interno del chip ESP8266.

diagrama de bloques esp8266

Desde el 2014, con la llegada del módulo ESP-01, este chip empezó a llamar la atención de los desarrolladores ya que el módulo antes mencionado permitía que los microcontroladores se conecten a una red Wi-Fi que haya sido proporcionada en la programación. A finales del mismo año la empresa Espressif lanzó un Kit de desarrollo que permitía la programación del ESP8266 directamente en el chip, sin necesidad de hacer uso de un microcontrolador externo.

Una ESP8266 tiene ventaja sobre otros dispositivos que también nos permiten conectar nuestros proyectos a internet debido al costo que esta tiene puesto que dependiendo en la tienda que la adquieras puedes conseguirla desde $1 si tomamos cómo referencia la tienda Aliexpress.

DATASHEET

Para manejar cualquier dispositivo electrónico debes tener cerca su datasheet u hoja de datos y si es del fabricante oficial mucho mejor. Si das click en el botón a continuación te llevará directamente al Datasheet oficial del ESP8266 en formato PDF.

En el datasheet del ESP8266 encontrarás cosas como el número de pines que tiene el chip, los voltajes a los que una placa ESP8266, las corrientes y muchas de sus características.

CARACTERÍSTICAS

Aunque en el datasheet encuentras todas las características que este chip o microcontrolador posee, no está de más que conozcas algunas de las principales así no tendrás que leer toda la hoja de datos.

  • Posee una CPU con una arquitectura de 32 bits.
  • Funciona con voltajes de entre 3 V hasta los 3,6V.
  • Opera con protocolos de IPv4, TCP IP, UDP, HTTP y FTP.
  • Para que acepte HTTPS debes hacer ciertas adecuaciones en el servidor con el cual estás trabajando.
  • La corriente necesaria para operar es pequeña, son solo 80mA.
  • Puede soportar hasta 125 °C de temperatura.

PROYECTOS

Con una ESP8266 se pueden hacer proyectos que tengan que ver con el Internet de las cosas o IoT bastante interesantes esto gracias a la capacidad que tiene para enviar y recibir datos.

En internet, especialmente en youtube, existen muchos tutoriales sobre como crear proyectos o prototipos con una ESP8266. Cabe recalcar que no necesitas tener la última ESP8266 que exista en el mercado, puedes empezar con una ESP-01 para crear proyectos como el control de las luces mediante la plataforma IFTTT.

1. Cerradura Electrónica con ESP8266 y tecnología RFID.

Alguna vez debiste toparte con alguna puerta en la cual debías acercar una tarjeta magnética para poder abrirla, pues bien, combinando esa tecnología con una ESP8266 puedes mejorarla teniendo acceso a la cerradura en cuestión por medio de internet. El poder acceder a tu cerradura desde donde te encuentres tiene la ventaja de que si alguien no tiene una tarjeta de ingreso tu puedas darle acceso sin necesidad de estar cerca.

Como se ve en el tutorial anterior incluso puedes tener registro de las personas que entrar al lugar que se encuentra protegido por la cerradura en cuestión.

En video se hace uso de la plataforma Ubidots la cual tiene un costo para poder utilizarla, pero si quieres recrear este proyecto sin tener que gastar en una plataforma puedes utilizar IFTTT que es gratis y puedes vincular tus dispositivos con Alexa y Google Assistant, combinada con AdafruitIo. Lo que cambiaría si vas a usar IFTT y Adafruit con la ESP8266 es que en lugar de usar las librearía de Ubidots tendrías que cambiarlas por las de Adafruit, las cuales las puedes encontrar en la web oficial. Si quieres saber sobre como configurar las librerías o programar con el IDE de arduino, puedes ir a la sección donde te enseñamos a programar este dispositivo.

Se utilizó una placa NodeMCU para este proyecto, también displays y relés. Las conexiones del proyecto pueden ser observadas a continuación.

diagrama de conexion con pantalla display

2. SWITCH WiFi controlado por voz.

Si alguna vez tuviste la suerte de conocer un Sonoff debes saber que estos dispositivos hacen uso de una ESP para la conexión con internet, es por eso que el siguiente tutorial se trata sobre cómo crear un Interruptor o Switch el cual puedes controlarlo con tu voz enlazando el proyecto con la plataforma de tu preferencia ya sea Ubidots, cómo en el video, o también AdafruitIo con IFTTT y en conjunto con GoogleAssistant.

De seguro varias veces hemos visto dispositivos a los cuales solo con hablarles hacen una acción en específico, cómo apagar una luz. Aunque existen ya dispositivos que vienen ya totalmente desarrollados y sólo tienes que conectarlos a tu google assistant o Siri si eres usuario de iOS, pero para los que nos gusta crear las cosas y entender su funcionamiento existen proyectos como este en el cual puedes desarrollarlo desde 0 y llevarlo a cumplir su objetivo.

Para este proyecto no se utilizó la NodeMCU debido a que se buscaba hacer un dispositivo pequeño y fácil de instalar, por se escogió la ESP-01 que fue una de las primeras en salir.

3. Monitoreo de Temperatura con ESP8266

Crear proyectos electrónicos realmente no tiene muchos límites, como puedes ver con una sola placa te hemos mostrado 3 proyectos bastante útiles e interesantes.

La posibilidad de conectar un microcontrolador a internet nos permite ver los datos en tiempo real desde donde sea que nos encontremos, en el tutorial puedes verificarlo. La ESP8266 puede enviar los datos que está procesando a cualquier plataforma que sea compatible, en este caso se monitorea la temperatura de una habitación pero este proyecto también podría ser aplicado a otros campos como el de la agricultura, imagina tu automatizar un sistema de riego según la temperatura que tengan los cultivos y que si quieres ver como se encuentran puedas entrar a tu plataforma y verificar la temperatura en la que están y activar o desactivar otros procesos.

Realmente los límites los pones tú.

ESP8266 NODEMCU

¿QUÉ ES?

La ESP8266 NodeMCU es una placa de desarrollo que se fabrica para poder grabar tus códigos y utilizarlos directamente en la placa la cual pone a tu disposición un gran número de pines para llevar a cabo distintos proyectos.

pines de placa nodemcu

En sí, NodeMCU es una plataforma de código abierto que se enfoca en el desarrollo del Internet de las cosas IoT. Al ser del tipo open source esta placa puede ser programada en diferentes lenguajes de programación cómo Arduino IDE, MicroPython, C++ y Scratch, dando muchas opciones a los desarrolladores para que lo hagan en el lenguaje con el que más cómodos se sientan.

La ventaja de esta placa de desarrollo es que ya no tienes que flashear la misma para poder grabar tus códigos como lo es en el caso de la ESP-01, solo debes conectar a un ordenador, crear el código en tu entorno de desarrollo preferido y enviar hacia la ESP8266 NodeMCU.

La NodeMCU es muy parecida a arduino, incluso se puede usar el mismo IDE para crear el código la diferencia que tienen es que gracias a la ESP8266 podemos conectar nuestro dispositivo o proyecto con internet media una red WiFi.

Las placas de desarrollo ESP8266 NodeMCU tienen un precio muy accesible, por ejemplo si la compras en aliexpress puedes conseguirla desde 2$.

¿CÓMO PROGRAMAR UNA ESP8266?

Una de las partes más importantes de los proyectos que se darrollan con las ESP8266 es la programación, pero afortunadamente tenemos varias formas de grabar el código dentro de la memoria de estas placas.

programacion de placas de desarrollo esp8266 nodemcu

Para responder a la pregunta de ¿Cómo programar el módulo wifi ESP8266? preparamos 2 opciones, siéntete libre de escoger el que mas se adapte a ti.

Programar ESP8266 con Arduino IDE.

A pesar de que el entorno de desarrollo se creo principalmente para las placas arduino como su nombre lo indica la comunidad interesada en el avance de las ESP8266 es tan grande y dedicada que agregando las librerias necesarias al Arduino IDE puedes crear tus algoritmos y grabarlos directamente desde el mismo entorno de desarrollo hacia la ESP.

Para no hacerte el trabajo tan largo de leer instrucción por instrucción, buscamos un tutorial para que aprendas de manera visual la programación de las ESP8266 en el entorno de desarrollo Arduino IDE.

Programar con MicroPython

MicroPython es otra de las opciones que tienes disponibles para programar tu ESP8266. Tendrás que instalarle un firmware para que la placa acepte la sintaxis que MicroPython utiliza, el siguiente tutorial te será de ayuda para esto.

El instalar el firmware en la placa es parte de las configuraciones iniciales que debes hacerle a la ESP8266 una vez que el firmware haya sido grabado puedes realizar tus proyectos en el entorno de desarrollo con el que mejor de desenvuelvas.

Programar ESP8266 con comandos AT

La programación mediante los comandos AT para muchos puede ser un tanto complicada, fue el primer método con el que se programaba características cómo darle las credenciales de la red WiFi a la placa, entre otras cosas.

Aunque a muchos nos gusta tener los comandos AT para ESP8266 en español y a la mano en un PDF una págin web también es de utilidad, si quieres saber cuales son los comandos y como utilizarlos con solo dar click en el botón de aquí abajo irás hacia ellos.

¿CÓMO CONECTAR LA ESP8266 A INTERNET?

La conexión a internet de las ESP8266 se realiza mayormente con protocolos MQTT que son los que facilitan el monitoreo de los parametros que requieres desde un servidor cualquiera.

Para poder realizar la conexión con una red wifi y la tarjeta ESP8266 se utilizaban comandos AT, hasta que se desarrollaron mas a fondo las capacidades de este dispositivo. Ahora puedes hacerlo directamente desde el entorno de desarrollo en el que te encuentres trabajando, por ejemplo si estás haciendo uso del Arduino IDE con el siguiente código puedes conectar tu ESP y tu red WiFi.

#include <ESP8266WiFi.h> //Librería de ESP

const char* ssid = "NOMBRE-WIFI"; //Nombre de tu red
const char* password = "CONTRASEÑA-WIFI"; // Contraseña de tu red

 WiFi.begin(ssid, password); //le das los datos a la placa

Así de sencillo es conectar tu ESP8266 con tu red de internet WiFi.

CONECTAR UNA ESP8266 CON ARDUINO

Muchas veces necesitamos flashear una ESP pero no tenemos un convertidor serial a la mano pero si un Arduino, pero déjame decirte que podemos grabar programas y flashear una ESP conectándola a un Arduino, con el siguiente diagrama puedes guiarte y realizar la conexión.

arduino con esp8266

Para una mejor comprensión de lo dicho anteriormente, tienes el siguiente tutorial en Video para que puedas flashear o grabar tu ESP8266 utilizando una placa Arduino.

CONECTAR Y COMUNICAR UNA ESP8266 CON PIC16F877A

Si en tu proyecto requieres conectar tu microcontrolador PIC16F877A a una red de internet, debes realizar las siguientes conexiones.

conexion de esp con pic16f877a

Si tienes otra versión de ESP lo que debes hacer es verificar en su Datasheet los pines de RX y TX y conectarlos al PIC en los pines 25 y 26, recuerda siempre que el RX de la ESP debe ir al TX del microcontrolador.