Sonoff Firmware ESP8266


Take control: We have developed an alternative firmware for ITEAD Sonoff-Basic devices that will allow you to use them separately or connected to the Internet, and integrate them into your standard systems.



1 - Descarga la última versión del firmware o compílalo desde los fuentes.


TelePi Web Main

Último fichero binario ya compilado sonoff.generic-3.1-1.250817.1709.bin
O si lo prefieres, tienes los fuentes originales en https://github.com/rafa400/SonoffTelepi

2 - Software para la escritura del firmware en el Itead Sonoff

Windows users => NodeMCU PyFlasher
Linux users => esptool.py
ALL => Install Arduino UI get sources, compile and upload your new firmware file

3 - Conexión del hardware para programar el dispositivo

Drawing
  • Existen al menos dos modelos de Sonoff Basic: Uno con 4 pines y otro con 5. A efectos de escritura del firmware, podemos ignorar el quinto pin (5-GPIO14) ya que no es necesario en este caso.
  • Sin embargo, soldaremos una tira de pines de 4 o 5 según el caso, por si quesiéramos utilizar el GPIO14 más adelante.
  • En el diagrama hemos conectado un FTDI basic de Sparkfun configurado a 3.3V. Prestar atención a que el conector sale realmente por la parte de abajo.
  • Independientemente del programador para el ESP8266 que estemos utilizando, de los muchos que hay disponibles en el mercado, debemos fijarnos en las etiquetas para conectar siempre:
Programador <-> Sonoff
VCC <-> VCC (1-Pin cuadrado)
TX <-> RX (2)
RX <-> TX (3)
GND <-> GND (4)


PRECAUCIÓN: El Sonoff debe permanecer desconectado de la corriente de 110~240V durante todo el proceso.

  • Para poner el ESP8266 en modo de programación, debemos mantener pulsado el botón del Sonoff (GPIO0) y entonces conectar el FTDI al PC. Ya podemos liberar el botón.
  • El led del Sonoff está apagado desde el principio y no llega a encenderse. No observamos ninguna señal extra que nos pueda indicar éxito en el Sonoff.
  • Procederemos a programar el ESP8266 con el nuevo firmware utilizando el método que hayamos elegido (apartado aa).
  • Si todo transcurre normalmente veremos parpadear en el programador que utilicemos algún led durante la transferencia de datos.
  • Al terminar la transferencia el ESP8266 se reiniciará, y al arrancar el firmware TelePi, el led debería parpadear 6 veces (arranque normal) y tres mas (Wifi activo).

Ya estamos preparados para acceder y configurar el dispositivo.

4 - Primera configuración

elePi Web Config
  • El firmware arrancará activando el Wifi en modo AP, con SSID:KITIPASA y contraseña:kitipasa
  • Conectamos a este Wifi con cualquier dispositivo disponible y accedemos a la configuración WEB del Sonoff a través de web de gestión del firmware de TelePi en http://192.168.0.20/ y seleccionaremos en el menu "Wifi Setup"
  • Modificaremos la configuración según nuestras necesidades. Una vez terminado, pulsaremos [Save] aunque los nuevos valores no se aplicarán hasta que no reiniciemos el Sonoff.
  • En el caso tener problemas o haber cometido algún error, podremos recuperar el control del Sonoff reseteando los datos y volviendo a los valores iniciales según se explica en el siguiente apartado.

(!) - Reset de datos del dispositivo


Si por algún motivo, necesitamos devolver el dispositivo a los valores iniciales del firmware TelePi, podremos hacerlo pulsando el botón de que dispone el Sonoff durante el arranque. Este botón se ha habilitado para provocar dos tipos de arranque adicionales.
Como puede verse en el siguiente diagrama, manteniendo pulsado el botón en el momento que que finaliza una serie de parpadeos, accedemos a un modo diferente al arranque estandar (Start).
Téngase en cuenta que si el botón está pulsado en el momento de dar tensión al Sonoff, se accede al modo Firmware bootloader.

Drawing
  • El modo que mas nos intersa en este caso, es el que hará un reset total de la configuración del dispositivo. Para ello, pulsaremos el botón del Sonoff inmediatamente después de comenzar a parpadear el led. Manteniendo pulsado, Veremos 6 parpadeos, luego 8 mas lentos y finalmente 16+16 mas rápidos. Hecho esto, forzaremos un reset apagando el dispositivo y volviéndolo a encender.
  • Si esto no funciona, se recomienda reescribir el firmware del Sonoff tal como se describía en el apartado 3 - Conexión del hardware para programar el dispositivo
  • Si todo lo anterior falla, disponemos todavía de una posibilidad algo mas complicada de recuperación. Recurriremos a la utilidad esptool.py, con la que podemos borrar por completo la flash del ESP8266