Tutorial: Flashea Tasmota en un dispositivo Sonoff (o un ESP8266) con Arduino IDE

Tutoriales

Manual para cambiar el firmware a los módulos con chip ESP8266 como los Sonoff , Wemos, NodeMCU, etc al firmware de Tasmota para utilizar con Home Assistant o a través de web con una nueva interfaz.

Material necesario:

  • Módulo con chip esp8266 como es el Sonoff Basic (podéis comprarlo aquí) que vamos a utilizar en este caso.

Material opcional que facilita el trabajo sobre todo si son varios módulos a flashear:

  • Pines para soldar

  • Cables para conexiones tipo Dupont hembra-hembra (Podéis comprar aquí eligiendo la opción Female-Female, 20 cm y 10 pcs)

  • Interruptor (podéis comprarlo aquí)

Primero nos aseguramos que el conector del ftdi lo tenemos puesto en 3,3v, luego conectamos 4 cables (Rx-Tx-Gnd-3,3v). El cable de 3,3v lo llevamos a una patilla del interruptor y de la otra patilla sacaremos otro cable dupont.

En nuestro Sonoff tendremos que soldar los pines correspondientes, en el Wemos solo es identificar en la placa los rx-tx-3,3 y gnd, y, en el ESP8266 de igual forma podemos mirar los pines correspondientes.

Pines a soldar en Sonoff Basic (3,3v-Rx-Tx-Gnd y gpio14 por si lo utilizamos en un futuro)

Pin FTDIPin ESP8266
3,3v3,3 v
TxRx
RxTx
GndGnd

NOTA: Recordad que el pin de 3,3v del ESP8266 vendría del interruptor que se puso

Una vez soldados los pines vamos a conectarlos con el ftdi:

Ahora vamos a preparar el software.

Necesitamos descargarnos varias cosas, empezamos por arduino ide 1.8.5 en su versión “for non admin install” que es la segunda opción que nos encontraremos en esta página.

Una vez descargado lo descomprimimos y lo pasamos al escritorio, antes de abrir el .exe vamos a crear las carpetas ‘portable’ y ‘sketchbook’ dentro de la carpeta arduino-1.8.5.

Ahora abrimos el arduino.exe y abajo en la pestaña que se abre vamos a File (archivo), Preferencias y en Additional Boards Manager Urls: (gestor de Urls adicionales de tarjetas) ponemos la siguiente url:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Arriba vamos a decirle en que carpeta queremos guardar nuestros proyectos, elegir la carpeta sketchbook que creamos dentro de arduino-1.8.5.

Damos ok y salimos.

Pinchamos en Tools (herramientas) y vamos a Board: (Placa), aquí arriba vamos a Board Manager (gestor de tarjetas), esperamos a que cargue y buscamos la tarjeta “esp8266 by ESP8266 community”, seleccionamos la versión 2.41 y la instalamos.

Vamos a descargar el nuevo firmware para el esp8266, en este caso será la versión de Tasmota, para ello nos dirigimos a esta página: https://github.com/arendst/Sonoff-Tasmota/tree/v5.14.0 esta es la última versión estable, la 5.14 que esta probado con la conexión del gpio14 y funciona de forma estable sin tener que añadir resistencias ni condensadores.

Para descargar pinchamos en clonar o descargar y descargamos como zip.

Una vez descargado lo descomprimimos y pasamos al escritorio.

Ahora copiaremos el archivo platform.txt que está en Sonoff-Tasmota-5.14/arduino/versión 2.4.1

y lo pegamos en Arduino 1.8.5/portable/packages/esp8266/hardware/ esp8266/2.4.1.

Seguimos copiando archivos, nos vamos a Sonoff-Tasmota-5.14/lib

y copiamos todo a Arduino 1.8.5\libraries y también en la carpeta sketcbook/libraries.

Volvemos a Sonoff-Tasmota-5.14 y copiamos la carpeta Sonoff en Arduino1.8.5/sketchbook

Con esto tenemos todo el software necesario para flashear Tasmota al esp8266.
El siguiente paso es configurar el arduino ide para nuestra placa, para eso abrimos arduino.exe y pinchamos en tools (herramientas) y configuramos igual que en la imagen:

El puerto com deberemos elegir el que nuestro pc dedique al convertidor Ftdi, por defecto instala los drivers el mismo pero si no fuese así en la carpeta de arduino 1.8.5 tenemos una carpeta de drivers para ftdi.

Ahora toca compilar el firmware Tasmota.

Abrimos arduino.exe y pinchamos en archivo, luego en Abrir, aquí buscamos la carpeta Sonoff que esta dentro de arduino 1.8.5/sketchbook y seleccionamos el archivo sonoff.ino, le damos a abrir.

En esta ventana nos vamos a la parte superior derecha y veremos una pequeña flecha debajo de la lupa, pinchamos y buscamos el archivo user_config.h, pinchamos en el y nos aparece en la ventana del arduino.

Ahora toca hacer unas configuraciones, buscamos — Project —– y aquí en #define PROJECT le ponemos un nombre de identificación.

En –Wifi— nos vamos a #define STA_SSID1 y colocamos entre comillas el nombre de nuestra wifi y debajo igual pero la pass de la wifi

Seguimos bajando y buscamos las opciones de MQTT, aquí podemos ya configurar nuestra id y pass de mosquitto, siempre entre comillas.

Una vez hechos estos pasos, conectamos el ftdi con el interruptor en off y seleccionamos el puerto en herramientas, le damos a compilar, la “v” debajo de archivo,

Si toda ha ido bien nos debe aparecer algo como esto:

Ahora solo queda poner en modo flash el esp8266, en el Sonoff es dejar pulsado el pulsador físico que trae el Sonoff y pasamos el interruptor a “on”, después le damos a Subir (la flecha debajo de archivo):

Una vez que termine de compilar empezara a subir el archivo al Sonoff y debería aparecernos algo como esto:

Si queremos confirmar que todo ha ido bien podemos abrir la consola, icono de la lupa arriba a la derecha, ponemos la velocidad en 115200 y pulsamos el botón del sonoff, debería de aparecernos algún dato tipo POWER “ON” y también podremos ver que ip le ha asignado nuestro router.

Entramos a esa ip desde nuestro navegador y nos debe aparecer una ventana tal que así:

Ahora entramos en configuración:

Configurar modulo:

En tipo de modulo escogemos el que corresponda a nuestra placa, en este caso un Sonoff Basic.

En gpio lo suyo es dejar todo tal cual si no vamos a utilizar nada exterior, si queremos utilizar interruptores/conmutadores de pared tendremos que habilitar el gpio14 como un switch, si lo que vamos a utilizar es un pulsador debemos configurarlo como button.

Salvamos y volvemos a configuración.

Nos vamos a configuración Wifi y definimos el nombre de nuestro host, en este caso la ip de la raspberry donde tengo instalado Home Assistant:

Salvamos y volvemos a configuración.

Nos vamos a configuración mqtt y confirmamos que la configuración sea la correcta para utilizar mqtt, aquí es importante que no tengamos ningún cliente mqtt con el mismo nombre y el tema debe ser el mismo que luego configuraremos en Home Assistant.

Salvamos y pasamos el interruptor a “off” desconectamos los cables del sonoff y el ftdi del pc.

Instalamos la placa en su carcasa y la conectamos a 220v por “IN”.
Si hemos hecho los pasos bien y después de configurar nuestro nuevo switch en la configuración de Home Assistant nos aparecerá como nueva entity y podremos actuar sobre ella.

Si no nos cogiese la red wifi por alguna mal configuración en user_config.h el módulo creará un AP propio con el nombre que le hemos asignamos al en la configuración, para entrar deberemos de conectarnos a dicho AP y acceder a la configuración a través del navegador con la ip 192.168.4.1

En caso de no utilizarlo en Home Assistant y solo utilizarlo en nuestra red deberemos de darle una ip fija en nuestro router y así poder entrar mas fácilmente.

IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram de Home Assistant en Español donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.

¿Quieres montarte tu propio sistema Smart Home?

¿Te gustaría empezar poco a poco teniendo Google Home, Alexa o Home Assistant para controlar las luces, calefacción y otros electrodomésticos de la casa? ¡Te ayudamos! Entra en nuestro Grupo de Telégram de Domótica y también puedes entrar a nuestro Foro de Domótica donde podrás empezar a leer y preguntar tus dudas. Además, si quieres estar al tanto de las ofertas de domótica que salen a diario para poder hacerte un sistema de domótica low cost, entra a nuestro Canal de ofertas de domótica y no te perderás ni una o si lo prefieres y no tienes Telegram, puedes entrar a nuestra página de ofertas de domótica o Smart Home en Facebook. ¡Síguenos también en nuestro Facebook, Twitter o Instagram! ¡Te esperamos!

Si también buscas otro tipo de ofertas, puedes echar un ojo a nuestros otros canales:
* Tecnología en general *
* Juguetes / consolas / Juegos de mesa *
* Manualidades *
Si no tienes Telegram puedes consultar todas las ofertas en Megabazar.es

15 Comentarios

  1. Farma

    Genial, muchas gracias por el tutorial.
    Podrías hacer un tutorial sobre como flashear con ESPURNA y configurar sensores?

    Reply
    • eduardo

      Muy buenas! Gracias por el comentario, intentaremos hacer el tutorial 🙂

      Reply
  2. mix

    ¿Podrías explicar un poco la parte final donde hablas de habilitar el gpio de un modo u otro?.
    Quiero poner un sonoff a un punto de luz, y entiendo que lo que dices tal vez me permitiría no anular el interruptor que había hasta ahora, y funcionar juntos (por si hay cortes de luz o router). ¿Ese pin gpio habría que conectarlo a algún sitio?.
    Gracias x tu tiempo.

    Reply
  3. Oscar

    Lo primero de todo muy buen manual, claro y sencillo de seguir. Enhorabuena.
    Lo he seguido al pie de la letra pero y parece ser que cargar carga el programa pero cuando voy a comprobar que lo haya hecho bien me sale esto:

    ets Jan 8 2013,rst cause:1, boot mode:(1,6)
    ets Jan 8 2013,rst cause:4, boot mode:(1,6)
    wdt reset

    Buscando un poco por internet veo que no he sido el único al que le pasa pero no consigo saber por qué me pasa ni que solución darle.

    Un saludo y gracias

    Reply
  4. xavier

    Yo estoy pensando de usar este método para las luces de la casa junto a interruptores usando el GPIO14 + HA.
    La duda la tengo en si vale la pena recomendarlo a un amigo que no se quiere liar con raspberry+Ha…
    en caso que cambie el frimware perdería la colectividad con su app original? y en ese caso se podría usar desde otra app/o de algún otro modo?

    Reply
    • eduardo

      Con tasmota, cada sonoff tendrá su propia interfaz web para controlarlo en casa de forma local, no tendrás conectividad con la App original. Si es alguien que no quiere liarse mucho…quizá es mejor mantener la App original

      Reply
      • Xavier

        Si no se flashea hay manera de usar el pin gpio14? ahora mismo lo tiene montado en serie con el interruptor y si apaga el interruptor no puede controlarlo desde la aplicación y si lo apaga de la aplicación no puede controlarlo dese el interruptor.
        Que le recomendaríais?

        PD: La lastima es que no vendan una opción con un rele conmutado ya que en ese caso se podría integrar junto con otro interruptor normal conmutado.

        Reply
  5. joseska

    Muy buen tutorial… Otro usuario que te pide si puedes hacer alguno que explique mejor lo del gpio14 y la conexión con un interruptor

    Gracias…..

    Reply
  6. Jose luis

    Hola amigos, necesito ayuda, he comprado el bridge 433, pero en todas las puertas y ventanas de mi casa están operando sensores que no son de sonoff , ¿me podríais explicar alguno de vosotros que es lo que debería de hacer para que bridge sea compatible o reconozca estos sensores?, muchas gracias.

    Reply
  7. Percy

    Como puedo usar un cliente mqqt online,para conectar un dispositivo con tasmota, sin necesidad de instalar un servidor propio en casa.

    Reply
    • eduardo

      Hay servidores MQTT online que te prestan el servicio

      Reply

Contestar

Tu e-mail no será publicadoRequired fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*


El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Lost Password

Registro