Trabajando con el ESP8266-01
La ESP8266 es una familia de controladores basados en Arduino muy popular para los proyectos debido a su bajo costo, conectividad inalámbrica integrada y pines de GPIO, es posible incluso hacer actualización de firmware de forma inalámbrica. Existen módulos completos como los NodeMCU que son una popular plataforma de IoT, estos módulos vienen con múltiples pines e incluyen soporte para conectarlos directamente por medio de cable usb para su programación, en otra ocasión hablaré de estos módulos.
De la familia, el más pequeño de los integrantes es el ESP8266-01, este llamó mi atención hace un tiempo y decidí conseguir uno para empezar a jugar con él, este es un módulo que no cuenta con ninguna interfaz directa para programarlo y me tomó un par de intentos configurar correctamente la conexión y descarga mi primer sketch; en este artículo quiero compartirles cómo pueden trabajar con este controlador, para que puedan iniciar sus proyectos basados en este.
El primer punto a solventar es la comunicación, para poder conectarse con el microcontrolador es necesario utilizar una interfaz USB a Serial, existen varios componentes que pueden ayudar a este propósito: cables USB a Serial, un "componente FTDI" e incluso se ha discutido mucho el poder utilizar un Arduino UNO como interfaz USB a Serial; todas estas opciones están basadas de una u otra forma en la tecnología de FTDI. En mi caso estoy usando utilizando un componente FTDI para poder subir mi sketch al controlador
El problema principal a la hora de trabajar con este controlador es que algunos de sus pines tienen funciones especiales, cambiando el modo de operación a partir de la presencia o ausencia de voltage en dichos pines, la configuración mínima para poder operar el controlador es la siguiente:
VCC | 3.3v |
CH_PD | Alto |
GND | Bajo |
GPIO0 | Alta => Operación NormalBaja => Flash Upload |
Como puede verse, el pin GPIO0 es el encargado de habilitar los modos de operación al iniciar el microcontrolador, si CH_PD no está conectado el controlador no trabajará y finalmente tenemos GND y VCC que son los encargados de proveer energía, una vez que tenemos claro esto sólo debemos conectar apropiadamente las líneas TX y RX y podremos empezar a usar nuestro controlador desde el Arduino IDE o desde Visual Studio. El diagrama final de nuestra configuración se muestra a continuación, el cable naranja muestra la conexión del GPIO0, recuerden que deberán conectar este de forma diferente si están programando el controlador o si desean dejar que opere normalmente.
En el proceso de desarrollo muchas veces el controlador no responde cuando quieres subir el sketch por segunda ocasión, si esto ocurre simplemente puedes reiniciarlo con el CH_PD, pasando de alta a baja, luego regresando a alta y estará listo, la descripción completa de los pines la pueden revisar en el siguiente enlace: https://www.esp8266.com/wiki/doku.php?id=esp8266-module-family#esp-01
Eso es todo por el momento, ahora que ya mostré como subir el sketch, voy a mostrarles en próximos artículos cómo pueden conectarse a una red WIFI, como utilizar un sensor de temperatura, cómo conectar la telemetría con los IoT Hubs y finalmente cómo podemos visualizarla en tiempo real por medio de PowerBI
Hasta la próxima!
--Rp