Cuando se habla de las posibilidades que tiene la domótica, todo parece perfecto e idílico hasta darnos cuenta de lo tremendamente compleja que puede llegar a ser. Y además es cara, una combinación que hace que muchos se cohíban y repriman sus ganas de empezar proyectos de domótica. Con esos precios, mejor embarcarse en esta aventura teniendo más garantías, ¿verdad?
Pues precisamente por eso hemos confeccionado esta guía práctica, donde podrás embarcarte en nuevos proyectos de domótica gracias al nuevo relé de la empresa Itead, muy barato y fácil de usar.
El mejor aliado para proyectos personales de domótica
Aunque este relé fue diseñado para un uso concreto, en realidad nosotros vamos a darle otro uso. De hecho, vamos a contarte cómo destripar el relé para hackearlo y poder así cargar después ESPurna, el firmware de código abierto creado por Xose Pérez.
Antes que nada, este proyecto requiere tener presente dos cosas: primero, que al trabajar con la red de tu domicilio debes extremar las precauciones para evitar incidentes que pongan el peligro no ya el proyecto, sino tu integridad física y la de tu casa. En segundo lugar, modificar a nivel de software el relé entraña ciertos riesgos de los cuales solo tú serás el último responsable, por lo que te instamos a experimentar, pero con toda la cautela del mundo. Si crees que no vas a poder hacerlo, mejor déjalo para cuando te veas más capacitado.
Bien, la herramienta principal que vamos a usar para nuestros futuros proyectos de domótica es la protagonista de este artículo. Hablamos del relé Sonoff WiFi creado por Itead. Este relé viene en una caja con todo lo necesario para trabajar con él. En principio olvídate de conectarlo a la red eléctrica y céntrate en quitar las tapas de los conectores.
Acto seguido, retira la carcasa que protege el circuito eléctrico (nunca hagas esto cuando el relé esté conectado a la red eléctrica: ¡es muy peligroso!). ¿Ves esa pegatina en uno de los lados, colocada a modo de precinto? Pues es necesario quitarla, pero atención: al hacerlo estarás perdiendo la garantía del producto. Extrae la placa electrónica.
Encontrarás en ella los siguientes componentes: una entrada AC donde conectar el dispositivo a la red eléctrica; una salida AC donde conectaremos el aparato eléctrico que vayamos a controlar (admite hasta 10A), un pulsador, que puede usarse para cambiar los modos; un LED, que indica distintos niveles de interacción con el dispositivo; pines y comunicación serie, que permitirá cargar el programa; un relé 5V y un conversor AC-DC. Por la otra cara verás la antena Wi-Fi.
El primer paso: acceder a los pines del relé
Nosotros hemos trabajado con el relé Sonoff WiFi como si de un módulo ESP-01 se tratase. Para que te hagas una idea de lo que te vas a encontrar, ten en cuenta lo siguiente: el adaptador USB a serie va a ser un complemento imprescindible. Puedes encontrarlo a la venta también como TTL o FTDI.
Ten en cuenta también que un microcontrolador tiene dos modos de funcionamiento: un modo UART y un modo FLASH. El UART es el que nos permite cargar el programa, mientras que el FLASH lo ejecuta.
Y la última consideración: para entrar en un modo u otro necesitamos poner dos de los pines en estados concretos.
Con todo esto claro, has de saber que el programa se cargará con los pines RX y TX, por lo que hay que acceder a ellos. Esto exige entrar también en los pines de alimentación GND y 3V3, al pulsador que está conectado al pin GPIO0, al LED conectado al pin GPIO13 y al relé que se encuentra conectado al GPIO12. Son muchos conceptos nuevos, pero no te agobies. Repasa que no te dejes ningún pin o el proyecto no funcionará.
Programando el relé Sonoff con un adaptador USB
Es preciso conectar el adaptador USB a serie al relé Sonoff WiFi. Si estás acostumbrado a programar con placas esto te chocará, y es que nos hemos acostumbrado a sentarnos a programar y a trastear con la placa sin preocuparnos de nada más, y esto requiere de más “chicha” para empezar a exprimir todo su potencial. Lo que ocurre es que las placas de programación traen de serie un adaptador, mientras que aquí tenemos que implementarlo nosotros. Por suerte, es fácil encontrarlo en cualquier gran superficie.
Todos los adaptadores USB a serie funcionan igual y ofrecen un GND (toma de tierra), 3V3 (alimentación), TXD (transmisión de datos) y RXD (recepción de datos). Sí, son los mismos que incluye el relé Sonoff WiFi, pero antes de continuar es necesario hacer un cambio en la conexión, ya que para que el transmisor pueda enviar un mensaje al otro lado debe haber un receptor y viceversa. Esto se consigue enlazando el pin RX del adaptador al TX del relé Sonoff, y el pin TX del adaptador al RX del relé de Itead.
Cargar un programa al relé Sonoff WiFi
¿Recuerdas lo que comentábamos antes de los modos para cargar y descargar un programa? Pues es hora de refrescarlo. Cuando vayamos a cargar el programa al relé, vamos a tener que utilizar el modo UART, que es el que permite cargar un programa al ESP8266.
En el modo UART, hay que poner el pin GPIO0 en estado LOW y el pin GPIO2 en estado HIGH. Cuando se vaya a utilizar el modo FLASH, ambos pines deben estar siempre en HIGH.
Ten en cuenta que el modo por defecto siempre es el modo FLASH, por lo que, al conectar el adaptador, al estar en este modo, comenzará a ejecutarse de manera automática un programa cargado en el ESP8266. Nosotros lo que queremos es entrar en el modo UART para cargar un programa.
Igual te lo has olido, pero los pines GPIO0 y GPIO2 tienen conectada una resistencia de configuración pull-up que hace que el modo por defecto siempre sea el FLASH. Cuando el pin está al aire es cuando tenemos un estado HIGH.
Para ponerlo en modo UART, hay que apretar el pulsador de la placa conectado al pin GPIO0 y conectar el adaptador USB al ordenador sin dejar de apretar el pulsador. Ahora sí se debería poder cargar el programa sin problemas.
¿Qué es ESPurna?
Al cargar ESPurna debes saber que se sobrescribirá cualquier otro programa instalado con anterioridad. El programa que viene preinstalado de serie es el de Itead; si quisieras conservarlo, haz antes un backup.
El firmware ESPurna lo que hace es permitirnos controlar y conectar un ESP8266 a un sistema de automatización del hogar. Para que te hagas una idea: es un programa que podemos cargar desde el IDE de Arduino. Lo que hace diferente a ESPurna es que es un programa muy “tocho”. Es tan grande que es compatible con muchos dispositivos que integran un ESP8266.
Xose Pérez creó ESPurna para controlar el relé Sonoff WiFi sin tener que pasar por la plataforma Itead Cloud. ¿El resultado es el mismo? Sí, pero el modo en el que se consigue es muy diferente. Y es que al pasar por Itead Cloud, lo que se está haciendo es enviar una señal a un servidor en la otra parte del mundo que gestiona la petición y envía la orden a tu dispositivo. ¿Por qué recurrir a un servidor ubicado a miles de kilómetros para controlar una casa que está a escasos metros de ti? Es absurdo.
Por eso, ESPurna lo que hace es facilitar el mismo esquema y las mismas opciones de control, solo que, sin pasar por un servidor externo, haciendo de tu domótica un entorno mucho más eficiente y seguro, y libre de ojos ajenos. Y es que los servidores suelen registrar la actividad diaria de todo lo que contienen, algo que no hace mucha gracia, ¿verdad?
En la actualidad, ESPurna permite ahorrar una gran cantidad de tiempo y es un programa repleto de posibilidades. A día de hoy, soporta muchas marcas y modelos de placas basadas en ESP8266, dispone de modos de ahorro de energía, permite ser configurado a través de un AP, cuenta con distintos modos de control de interruptores, es compatible con MQTT, dispone de un modo de programación automática de encendido/apagado, está integrado con Alexa, Assistant, ThingSpeak, InfluxDB y con el servicio REST API, e incluye soporte para diferentes sensores, entre los que se encuentran DHT11, DHT22 y DS18B20.