¿Puede ser ESP8266 un habilitador de Internet de la cosas?

(A la memoria de Ian Ashley Murdock, en solidaridad con Debian.)

Hace unos meses buscando algún dispositivo que permitiese comunicar un puerto serie UART sencillo a través de WiFi, me topé entre otros con una familia de módulos, que tenían todos en común el chip-set EPS8266 del fabricante Espressif de origen asiático (http://espressif.com). Estos dispositivos, que fueron lanzados en 2014, en un principio tenía unas características bastante prometedoras, pero había una clara falta de herramientas y librerías para poder contruir desarrollos sobre él. La utilidad se reducía a poder realizar comunicaciones UART a través de WiFi mediante una variante del protocolo Hayes (Comandos “AT”) típico de los módems.

Tras varias pruebas satisfactorias de envío de paquetes IP entre una máquina Linux y dos de estos dispositivos, deje el proyecto temporalmente aparcado unos meses a la espera de decidir cómo integrarlo en aplicaciones de control domótico.

Al volver a retomar la idea original, esos meses que habían transcurrido habían dado mucho de sí en la red. El número de variantes de módulos basados en ESP8266 había aumentado considerablemente (unas 12 variantes) que se adaptan a diversos factores de forma, conexiones disponibles, señales de control de Entrada salida, etc. Además se había desencadenado una gran actividad en torno a las aplicaciones y plataformas de desarrollo, la mayoría recogidas en el foro: http://www.esp8266.com/index.php.

Una de las primeras cosas que me llamaron la atención fue que ya no era estrictamente necesario controlar los módulos ESP8266 desde un procesador externo, sino que era posible programarlo directamente para que ejecutase pequeñas aplicaciones. Las plataformas de desarrollo del fabricante eran muy efectivas para programar los dispositivos en C con infinidad de librerías, pero también se habían abierto varias líneas paralelas basadas en intérpretes residentes en los módulos, por ejemplo:
- Un intérprete de leguaje BASIC
- Un intérprete de lenguaje Lua (que concentra una buena parte de la actividad en la comunidad)
- Plataforma de desarrollo Sming nativa de código abierto
- Sevidores HTTP
- Interfaces J.son.
- Etc.

Con esta explosión de actividad, con base en código abierto sobre estos módulos, parece que estén llamados a desempeñar un papel relevante en la conectividad local de Internet de las Cosas.