ESP-01 relay

Vamos a explicar rapidamente como tener nuestro ESP-01 funcionando rapidamente con el módulo de relé
Lo primero de todo será comprar un ESP-01 o un ESP-01s. La diferencia entre ambos es que el ESP-01s es más potente y no hace falta poner las resistencias de pull-up de 10K en el GPIO0 y el CH-PD.
Como ya se explicó en ESTE POST para poner el ESP-01 en modo programacion (modo UART) tendremos que hacer un puente entre GPIO0 y GND y damos tension al controlador con nuestro adaptador USB-TTL

Podemos comprar adaptadores de USB a TTL multiples como pueden ser los siguientes
Todos sirven para lo mismo solo que en los 3 de arriba tenemos que coger un cable del conversor de USB-TTL al ESP-01 y en los de abajo tiene un zócalo donde pinchamos directamente nuestro ESP-01 y si estamos compilando y probando 200 veces si funciona correctamente un programa en una placa pues nos será más rapido y no tendremos que estar puenteando el modo programacion y conectando cables una y otra vez.
Como recomendacion que compreis el último dado que tiene el zocalo para pinchar el ESP-01 y a mayores tenemos los pines macho por si vamos a realizar otros proyectos como puede ser escribir el firmware de los productos de la marca sonoff que no se puede pinchar ahí directamente.
Os dejo el enlace de compra de este ultimo LINK


Como conectar el ESP-01 al USB-TTL
Como dije arriba si no queremos estar haciendo puentes cada vez que lo vayamos a programar lo mejor es comprar un adaptador con el zócalo del ESP-01
Si tenemos un ESP-01 la conexion la haremos de la siguiente manera (en el caso del ESP-01s podemos obviar el CH-PD a Vcc dado que tiene internamente una resistencia de pull-up que ya hace eso)







Basicamente es 
ESP01                 ADAPTADOR
Vcc -                   3,3V
Tx -                     Rx
Rx -                     Tx
GPIO0 y GND - GND


ES MUY IMPORTANTE CONECTARLO A 3,3V. dado que si lo conectamos a 5V podemos freir el chip

Instalamos los driver necesarios


Ahora vamos a la programación. Tenemos 2 opciones
1.- Programar a mano el relé a nuestro gusto configurando las 2GPIO
2.- Cargar un firmware ya compilado para manejarlo desde una interface web



2.- Cargar un firmware ya compilado para manejarlo desde una interface web
    2.1 Instalar python 
LINK DE DESCARGA (windows) dado que necesitamos una version superior a 2.7
podemos ver que version de python tenemos instalada en nuestro equipo tecleando
"python --version"

    







2.2 Instalar un gestor de paquetes pip.
Aunque estando en cualquier version de python 2 o python 3 ya vendra instalada por defecto. De todas formas podremos ver que version de pip tenemos tecleando
"pip --version"

    2.3 Instalar esptool.py
Para ello dentro de la consola de comandos de windows escribimos
"pip install --upgrade esptool"

Nos vamos a nuestra carpeta de instalacion que en mi caso es "C:\Users\Javi\AppData\Local\Programs\Python\Python37\Lib\site-packages" y abrimos ahí una ventana de comandos haciendo click con la tecla de Shift (la que esta abajo de bloc mayus) y boton derecho sobre un punto en blanco de la carpeta

y en la ventana que se nos abra escribiremos
"esptool.py -h"
Si nos sale algo parecido a esto es que esta bien

    2.4 Backup firmware actual
Nos vamos al administrador de dispositivos de windows (Hacemos click en equipo>Administrar y despues en la ventana que se nos abre



Y en el apartado de "Puertos (Com y LPT)" vemos que nuestro adaptador USB esta en el COM4 (cada uno en el puerto que le toque y que modifique posteriormente las líneas de codigo correspondientes)



Ahora lo que tenemos que hacer es colocar nuestro ESP-01 en modo UART que es poniendo el pin CH-PD a Vcc y GPIO0 a GND y conectar el USB como se explica arriba de todo

Con la ventana de comandos abierta en el directorio antes mencionado ejecutamos
"esptool.py --port COM4 --baud 115200 read_flash 0x00000 0x100000 sonoff-backup.bin"
Nos creará un archivo llamado "sonoff-backup.bin" en la ruta donde ejecutamos ese comando

Restaurar copia de seguridad (esto simplemente indico como restauraríamos el archivo que creamos anteriormente)

esptool.py --port COM4 --baud 115200 write_flash -fs 1MB -fm dio 0x00000 sonoff-backup.bin


    2.5 Eliminar todo el contenido de la memoria del ESP
Es recomendable borrar toda la memoría para evitar problemas a la hora de lanzar el programa, dado que hay ocasiones que hay zonas de la memoria que queda parte del anterior programa y tenemos problemas de funcionamiento. Para ello lanzamos en modo UART nuestro microcontrolador
"esptool.py --port COM4 --baud 115200 erase_flash"

    2.6 Cargar firmware
Descargaremos el firmware correspondiente a nuestra placa, tenemos para usar placas de temperatura, de 1, 2, 4 relés, etc..
Firmware ESPurna download
Este es el firmware en concreto para 1 relé LINK
Para ello como todos los anteriores comandos con el ESP-01 en modo UART lanzamos
"esptool.py --port COM4 --baud 115200 write_flash -fs detect -fm dout 0x00000 C:\Users\Luis\Javi\espurna.bin"
Modificaremos la ruta de donde tengamos nuestro archivo descargado

    2.7 Probar
Ahora reiniciaremos nuestro controlador en el usb pero en modo FLASH (quitando el puente entre GPIO0 y GND y colocando una resistencia de 10K entre GPIO0 y VCC en caso de que tengamos un ESP-01 o dejandola al aire si tenemos un ESP-01s
Si todo ha salido bien nos aparecerá una red wifi llamada ESPURNA-xxxx
Accedemos a dicha red cuya contraseña es "fibonacci". Posteriormente en nuestro navegador accederemos a su puerta de enlace que es 192.168.4.1 y nos pedirá usuario y contraseña que será admin/fibonacci
Accedemos, nos pedirá que cambiemos la contraseña y ahora la nueva contraseña del wifi y de autenticacion será la que le pusimos.

Podremos crear rutinas (Schedules) integrarla a sistemas domoticos como Domoticz, unirlos a nuestra red wifi desde el apartado Wifi











RESUMEN DE COMANDOS PARA INSTALAR UN FIRMWARE
TODOS LOS COMANDOS SON PARA EL CMD DE WINDOWS

Mirar version de Python
python --version

Mirar version de pip
pip --version

Mirar/instalar esptool.py
pip install --upgrade esptool

Iniciar esptool
  Desde la ruta raiz del esptool (c:\users\javi\appdata\local\programs\python\python37\lib\site-packages)
esptool.py -h

Hacer copia de seguridad
   Desde la ruta de esptool
      En modo UART
esptool.py --port COM4 --baud 115200 read_flash 0x00000 0x100000 sonoff-backup.bin

Restaurar copia de seguridad

esptool.py --port COM4 --baud 115200 write_flash -fs 1MB -fm dio 0x00000 sonoff-backup.bin

Eliminar todo el contenido de la flash del ESP
   Desde la ruta del esptool
      En modo UART
esptool.py --port COM4 --baud 115200 erase_flash

Cargar firmware
   Desde la ruta del esptool
      En modo UART
esptool.py --port COM4 --baud 115200 write_flash -fs detect -fm dout 0x00000 C:\Users\Luis\Downloads\espurna.bin



Esto nos creará un punto wifi la cual la contraseña será "fibonacci". Accedemos a la IP 192.168.4.1 y accederemos a la configuracion con "admin/fibonacci"


Notas:
Aunque el relé sea de 10A no se recomiendan equipos que consuman mas de 5A (hasta 1200W)

Comentarios

Entradas populares de este blog

Ideas de usos ESP-01 con relé

Tipos de ESP8266