ESPurna, Tasmota o ESPEasy para dispositivos ESP8266

Con la proliferación de dispositivos IOT, muchos de ellos están basados en el chipset ESP8266 por su bajo coste. Todos estos dispositivos están conectados a Internet y acceden a servidores de terceros que no podemos controlar. Este problema lo podemos solucionar con el firmware alternativo creado por Tarmota,  ESPurna o ESPeasy.

ESP8266

Este chip llegó a los mercados en 2014 fabricado por la empresa china Espressif. El potencial de este chipset consiste en ser un chipset de bajo coste que funciona con pila TCP/IP sobre wifi. Tiene 1Mb de memoria, lo que permite escribir código sobre él.

Dispositivos

Si hay un fabricante, al menos a mi entender, que ha hecho que este tipo de dispositivos y firmwares alternativos sea conocido ha sido ITEAD Sonoff. Sonoff ha desarrollado prácticamente todo tipo de dispositivos basados en este ESP8266 a un buen precio y con buenas calidades. No es el único fabricante de dispositivos que se basan es este tipo de chipset. Incluso tu mismo puedes hacerte tu propio dispositivo con una placa. En mi caso he usado en varias ocasiones dispositivos sonoff para Domotizar luces de casa.

Firmware

Hay distintos firmware, tanto comos dispositivos, pero lógicamente hablaremos de forma generalizada para este ESP8266.

Stock Firmware

Llamamos Stock firmware el que tiene el propio dispositivo por defecto, es aquel que el propio fabricante ha diseñado para que funcione. La forma de trabajar que tienen estos Stock Firmware es controlando los addons que el propio dispositivo dispone como pueden ser relés, sensores de temperatura, humedad, leds, medidores de consumo, … Los datos de estos dispositivos son enviados a servidores de esta compañía o de terceras que gestionan con aplicaciones estos dispositivos. Estas compañías son las que luego nos dan una capa de personalización para que estos dispositivos puedan ser compatibles con Alexa o Google Home.

ESPEasy

Fue el primer firmware alternativo, nació en 2015. Fue diseñado por Let’s Control IT  y su código está disponible en GitHub.  Marcó el inicio de los firmware alternativo y demostró  la potencia y el control que era capaz de alcanzarse con los dispositivos que hasta estaban limitados a las funcionalidades que daba el fabricante.

ESPeasy

Tasmota

Su primera versión fue la 1.0.5 en marzo de 2016 de la mano de Theo Arends y su código está disponible en GitHub. Integra en una misma imagen todos los dispositivos y es seleccionable una vez accedes el dispositivo sobre el que está. Esto ocasiona un mayor código, al tenerlo todo disponible. El que lo tenga todo integrado lo hace más versátil, ya que puedes especificarles que que sensores tienes conectados en que gpio.

Tasmota

ESPurna

Es el más joven de los tres y desde mi punto de vista el más completo. Al igual que los otros su código también está disponible en GitHub. Su creador es Xose Perez y a demás es asiduo a eventos sobre IOT. A mi gusto es el más completo y el que uso en la mayoría de mis dispositivos. Existe una imagen personalizada para cada dispositivo, con lo que es flashear y empezar a usarlo.

Espurna

Funciones comunes

MQTT

Para mí es una de las principales funcionalidades y por lo que siempre que me es posible flasheo un dispositivo. El protocolo MQTT (Message Queue Telemetry Transport) es el gran rey para dispositivos IOT. Permite enviar datos usando la menor cantidad de datos. Funciona conectando con un servidor MQTT y cada dispositivo tiene un identificador. Funciona en modo suscripción y publicación, por lo que el dispositivo acepta las ordenes que otro dispositivo le manda hacer.

Sensores

Permiten usar un gran número de sensores en dispositivos que no estaban diseñados para usarlos. Estos sensores te permiten un gran juego usando un dispositivo de bajo coste o que tu mismo te puedes fabricar a tus necesidades.

WiFi

Permiten distintos tipo de conexión, ya que el dispositivo puede conectarse a una red wifi (modo cliente) y formar parte de una red, o funcionar en modo AP (modo hotspot) funcionando de forma sola y poniendo su red wifi disponible para que otro dispositivo se conecte a él.

Control de Led

Te permite decidir tu qué funcionalidad tiene los leds.

Integración

Estos firmware alternativos permiten la integración de estos dispositivos en Home Assistant, OpenHAB, Domoticz, permitiendo que estos dispositivos se integren en un sistema que ya tengamos.

Alexa

Permiten que estos dispositivos sean controlados de forma independiente desde el propio Amazon Echo emulando un dispositivo Philips Hue o Belkin WeMo.

Gestión Web

Lógicamente permite que el dispositivo y sus sensores sean gestionados por la propia web del dispositivo.

Actualización OTA

Actualización Over The Air, te permite actualizar o re-flashear de nuevo el dispositivo y no sólo con la versión del firmware que hayáis elegido, podéis cambiar de uno a otro mediante esta actualización.

Pros y Contras

Pros

Para mí el más importante Pro es el control. El saber por dónde pasan los datos, no enviando datos a un servidor de otro que no controlas que hace con tus datos. Ya hemos visto además toda las opciones nuevas que nos da. Podemos aprovechar esas nuevas opciones o no, eso ya es a nuestra elección.

Contras

La mayor contra es tener que manipular un dispositivo, soldar cables en algunos casos y por supuesto en el momento que le ponemos la mano encima, perdemos la garantía. Además necesitarás una aplicación nueva para poder gestionarlo, ya que lógicamente la aplicación del fabricante dejará de funcionar.

Flasheo de ESP8266

No vamos a entrar en detalles sobre como flashear cada dispositivo ya que cada uno tiene los pines en uno u otro lado. En el listado de dispositivos podemos ver cada uno de los pines que usa cada uno.

La forma de flashearlo es usando un dispositivo TTL y poner el dispositivo en modo flasheo. Después de haber descargado de GitHub el código necesario y configurarlo, mediante Atom y plataformio se flashea el dispositivo.