Actualidad electrónica: ESP8266
Que mejor para comenzar con las entradas de actualidad electrónica que hablando de este pequeño pero imparable modulo electrónico que ha revolucionado a toda la comunidad de aficionados, entusiastas, makers e ingenieros.
El ESP8266 es un módulo conversor serie a wifi compuesto por un SoC (System on Chip) que integra el "Core" del potente procesador de 32 bits, Xtensa LX106, de Tensilica (Actual Cadence), que trabaja en modo normal a 80MHz (pudiendo alcanzar los 160MHz). El módulo fue desarrollado por Espressif Systems y es definido por sus creadores como un chip altamente integrado diseñado para satisfacer las necesidades de un nuevo mundo de interconexión (Refiriéndose claramente a IoT, "Internet de las cosas").
Pero independientemente de cómo este desarrollado, ¿qué es lo que hace al ESP8266 tan especial?, No es que sea un sistema novedoso ya que desde mucho antes de su aparición existían otras soluciones wifi como son, entre otras, las siguientes:
Como os habréis dado cuenta existe un factor común en todas las soluciones anteriores: el precio.
Permitidme la crítica sobre aquellos que en su día publicitaban estos sistemas como las plataformas que solucionarían el desarrollo del mundo de Internet de las cosas, como en el caso del Arduino Yun. Es obvio que un usuario/consumidor que quiera saber si una bombilla de su casa se encuentra encendida o apagada no gastará la friolera cantidad de 50$ por bombilla.
Es por ello que el ESP8266 ha llegado tan lejos, pues cumple la misma función que las plataformas anteriores por un precio inferior a 3$. Esto lo convierte, en mi opinión, en el dispositivo perfecto para el crecimiento de IoT (no es solo el producto en sí, sino la competencia en el mercado que supone, lo que puede provocar la caída de precio de este tipo de dispositivos y, consecuentemente, la aparición de nuevos sistemas).
El SoC del ESP8266 fue desarrollado entre diciembre de 2013 y enero de 2014, pero no fue hasta junio de 2014 que el módulo fue dado a conocer en mayor medida, ya que se puso a la venta en Seeedstudio (http://www.seeedstudio.com/depot). Un mes más tarde (en julio) el módulo había llegado a oidos de toda la comunidad gracias a blogs, webs y canales de youtube de gran reconocimiento: Hackaday, Dangerous Prototypes...
El módulo presenta implementado en sí, una pila de protocolo TCP/IP, esto implica que el desarrollador no tendrá que preocuparse de los protocolos de red ni de su implementación. La comunicación con el módulo se realiza mediante comandos AT (típicos de otros dispositivos, como el bluetooth) enviados por el puerto serie. Esto permite una comunicación entre un microcontrolador e internet, pero como ya hemos dicho, el SoC del módulo es un micro de 32 bits con puertos de entrada/salida GPIO, I2C y SPI; por tanto ¿por qué no utilizarlo como único sistema directo en nuestros proyectos? (prescindiendo de otro micro que lo controlará), de ahí surgió la idea de crear un compilador GCC del mismo módulo, todo ello gracias a la iniciativa que tomo el foro de la comunidad ESP8266 y que culminó con la aparición de un SDK completo por parte de Espressif.
A parte del SDK que permite la programación del módulo en C, cabe mencionar la aparición de distintos firmware que remplazaban el típico proveniente en los módulos y permitían, por ejemplo, la programación de estos en LUA, como en el caso del firmware NodeMCU, en Python, con un firmware Micropython e incluso mediante el propio código de Arduino, mediante un firmware para Arduino.
El ESP8266 apareció, en primera instancia, como lo que luego se denominó ESP-01 (figura 1), un módulo pensado para la comunicación vía serie con otro microcontrolador y con una conexión de pines poco amigable (no permite su conexión directa en una protoboard/breadboard), pero habiendo surgido la idea del SDK, se precisaba de otros módulos que dieran mayor acceso a los distintos pines del SoC.
Existen una cantidad de hasta 12 módulos oficiales distintos, yendo desde el ESP-01 hasta el ESP-12, cada uno con una particularidad distinta (con antena o sin ella, con más acceso a los pines o menos, pines through-hole o smt...):
La aparición del SDK supuso todo un avance para este módulo ya que lo transformaba del mero conversor serie-wifi a una plataforma completa para el IoT. No obstante el uso de la SDK va más allá de lo que un maker/aficionado a la electrónica está acostumbrado: la simpleza. Por ello una de las últimas noticias de este módulo, que no deja de sorprender, es la aparición de todo un IDE de Arduino que permite programar al ESP8266 de la misma forma que se haría con un Arduino.
Al mismo tiempo que se mejoró el soporte software con la aparición de diferentes firmware, también se fueron implementando placas de desarrollo completas que facilitan el uso de los módulos, permitiendo acceder a todo el potencial de estos. Entre ellos, se pueden encontrar la NodeMCU (que comparte el nombre del firmware para el que fue destinado, LUA, pero no implica que se tenga que utilizar dicho firmware en ella) y la Wemos D1.
Existen infinidad de usos distintos que pueden darse a estos módulos; desde crear un punto de acceso (AP) para conectarte al mismo (tener como una "red local"), enviar información de una mota crear un nodo de red, implementar un servidor web, realizar la función de cliente web (y poder acceder al contenido de una web)...
Para acabar recopilo enlaces de videos interesantes sobre el módulo:
Pero independientemente de cómo este desarrollado, ¿qué es lo que hace al ESP8266 tan especial?, No es que sea un sistema novedoso ya que desde mucho antes de su aparición existían otras soluciones wifi como son, entre otras, las siguientes:
- El Arduino Yun con un precio superior a los 50$.
- El Spark Core con un precio de entre 20$ a 40$ según el modelo.
- El CC3000 de Texas Instrument con un precio superior a los 20$.
- El HLK-RM04 de Hi-Link con un precio en torno a los 15$.
Como os habréis dado cuenta existe un factor común en todas las soluciones anteriores: el precio.
Permitidme la crítica sobre aquellos que en su día publicitaban estos sistemas como las plataformas que solucionarían el desarrollo del mundo de Internet de las cosas, como en el caso del Arduino Yun. Es obvio que un usuario/consumidor que quiera saber si una bombilla de su casa se encuentra encendida o apagada no gastará la friolera cantidad de 50$ por bombilla.
Es por ello que el ESP8266 ha llegado tan lejos, pues cumple la misma función que las plataformas anteriores por un precio inferior a 3$. Esto lo convierte, en mi opinión, en el dispositivo perfecto para el crecimiento de IoT (no es solo el producto en sí, sino la competencia en el mercado que supone, lo que puede provocar la caída de precio de este tipo de dispositivos y, consecuentemente, la aparición de nuevos sistemas).
El SoC del ESP8266 fue desarrollado entre diciembre de 2013 y enero de 2014, pero no fue hasta junio de 2014 que el módulo fue dado a conocer en mayor medida, ya que se puso a la venta en Seeedstudio (http://www.seeedstudio.com/depot). Un mes más tarde (en julio) el módulo había llegado a oidos de toda la comunidad gracias a blogs, webs y canales de youtube de gran reconocimiento: Hackaday, Dangerous Prototypes...
El módulo presenta implementado en sí, una pila de protocolo TCP/IP, esto implica que el desarrollador no tendrá que preocuparse de los protocolos de red ni de su implementación. La comunicación con el módulo se realiza mediante comandos AT (típicos de otros dispositivos, como el bluetooth) enviados por el puerto serie. Esto permite una comunicación entre un microcontrolador e internet, pero como ya hemos dicho, el SoC del módulo es un micro de 32 bits con puertos de entrada/salida GPIO, I2C y SPI; por tanto ¿por qué no utilizarlo como único sistema directo en nuestros proyectos? (prescindiendo de otro micro que lo controlará), de ahí surgió la idea de crear un compilador GCC del mismo módulo, todo ello gracias a la iniciativa que tomo el foro de la comunidad ESP8266 y que culminó con la aparición de un SDK completo por parte de Espressif.
A parte del SDK que permite la programación del módulo en C, cabe mencionar la aparición de distintos firmware que remplazaban el típico proveniente en los módulos y permitían, por ejemplo, la programación de estos en LUA, como en el caso del firmware NodeMCU, en Python, con un firmware Micropython e incluso mediante el propio código de Arduino, mediante un firmware para Arduino.
El ESP8266 apareció, en primera instancia, como lo que luego se denominó ESP-01 (figura 1), un módulo pensado para la comunicación vía serie con otro microcontrolador y con una conexión de pines poco amigable (no permite su conexión directa en una protoboard/breadboard), pero habiendo surgido la idea del SDK, se precisaba de otros módulos que dieran mayor acceso a los distintos pines del SoC.
Existen una cantidad de hasta 12 módulos oficiales distintos, yendo desde el ESP-01 hasta el ESP-12, cada uno con una particularidad distinta (con antena o sin ella, con más acceso a los pines o menos, pines through-hole o smt...):
Figura 2. Módulos ESP8266.
La aparición del SDK supuso todo un avance para este módulo ya que lo transformaba del mero conversor serie-wifi a una plataforma completa para el IoT. No obstante el uso de la SDK va más allá de lo que un maker/aficionado a la electrónica está acostumbrado: la simpleza. Por ello una de las últimas noticias de este módulo, que no deja de sorprender, es la aparición de todo un IDE de Arduino que permite programar al ESP8266 de la misma forma que se haría con un Arduino.
Al mismo tiempo que se mejoró el soporte software con la aparición de diferentes firmware, también se fueron implementando placas de desarrollo completas que facilitan el uso de los módulos, permitiendo acceder a todo el potencial de estos. Entre ellos, se pueden encontrar la NodeMCU (que comparte el nombre del firmware para el que fue destinado, LUA, pero no implica que se tenga que utilizar dicho firmware en ella) y la Wemos D1.
Existen infinidad de usos distintos que pueden darse a estos módulos; desde crear un punto de acceso (AP) para conectarte al mismo (tener como una "red local"), enviar información de una mota crear un nodo de red, implementar un servidor web, realizar la función de cliente web (y poder acceder al contenido de una web)...
Para acabar recopilo enlaces de videos interesantes sobre el módulo:
Comentarios
Publicar un comentario