jueves, 6 de diciembre de 2018

Deschinando un ESP-01/01S Relay v4.0

El otro día con tanta oferta durante el BlackFriday pedí cosas que ni recordaba, así que ayer llegó esto:



Como no podía ser de otra forma, pasé a "deschinarlo" para tener la toda la funcionalidad del ESP8266 controlada con el HomeAssistant.

Lo primero fue conectar el ESP-01 al programador serie de la siguiente forma:



Teniendo en cuenta que el pinout es el siguiente mirando la placa desde arriba:
(Imágenes sacadas de https://www.instructables.com/id/ESP0101S-RELAY-MODULE-TUTORIAL/)

Tras esto, conectamos el programador serie a nuestro PC y usando esptool extraemos el firmware original (¡Nunca se sabe para qué puede servir!):

sudo esptool.py --port /dev/ttyUSB0 read_flash 0x00000 0x100000 esp01_backup.bin


Esperamos a que termine y buscamos un firmware que ponerle a nuestro cacharrito. Hemos ido a lo fácil y espurna ya tiene uno compilado que funciona bien, así que descargamos el firmware desde https://github.com/xoseperez/espurna/releases/ , concretamente este (o la versión que haya en el momento que estés leyendo esto):

espurna-1.13.3-generic-esp01s-relay-40.bin

Ahora procedemos a flashearlo de nuevo con esptool.py, así que DESENCHUFAMOS Y VOLVEMOS A ENCHUFAR el programador serie a nuestro PC y ejecutamos el siguiente comando:

sudo esptool.py --port /dev/ttyUSB0 write_flash --flash_size 1MB --flash_mode dout 0x00000 espurna-1.13.3-generic-esp01s-relay-40.bin
Con esto comenzará a flashearse nuestro ESP01.


Una vez terminado el proceso, desenchufamos el ESP01 del programador, lo enchufamos en la placa con su relé y lo alimentamos a 5V:


Una vez conectada la fuente de alimentación, pulsamos el botón reset y ya debería activarse la WiFi del espurna para configurar todo. Está pendiente un minitutorial de esto, pero podéis ver las instrucciones oficiales que están bastante claras: https://github.com/xoseperez/espurna/wiki/Configuration#first-boot

Finalmente, activamos la integración con HomeAssistant y MQTT:



Configuramos los detalles en HomeAssistant, dentro del bloque switch:


Reiniciamos HomeAssistant y listo!


Si tenéis cualquier duda preguntad en los comentarios. Un saludo!