viernes, 25 de marzo de 2016

Hackeando el ITead Sonoff RF, las diferencias respecto a Sonoff

Cuando publique la entrada sobre como hackear el Itead Sonoff ya adelante que el Sonoff RF tenia algunas diferencias. Vamos a ver como poder hackear el Sonoff RF, a pesar de estas diferencias.

Como funciona

El siguiente esquema, proporcionado por Itead, muestra como se integra el módulo receptor de 433Mhz.

Si pulsamos el botón (key), la pulsación llega al puerto GPIO0 del ESP8266 a través de la resistencia R21, al mismo tiempo llegará a un  micro-controlador, a través de R9, que esta programado para reenviar esta pulsación a GPIO0.

Por otro lado cuando el receptor de 433Mhz identifica la señal correcta se lo comunica al micro-controlador que, al igual que al pulsar el botón, lo reenvía al puerto GPIO0 del ESP8266.

Con el software con el que viene el Sonoff, al recibir una señal por GPIO0 cambia el estado del relé.

Las diferencias

Seguramente ya os habréis dado cuenta de que al pulsar sobre el botón parece que se actúa dos veces sobre GPIO0, una a través de R21 y otra a través de R9 y el micro-controlador. En la práctica esto no sucede.
Placa Itead Sonoff

Placa Itead Sonoff RF

La versión sin RF carece del módulo de 433Mhz, del microcontrolador y de R9. Por otro lado la versión RF carece de R21, con lo cual evita duplicar la acción sobre GPIO0 al pulsar el botón, pero nos crea un problema.

Detalle de Itead Sonoff

Detalle de Itead Sonoff RF

El problema

Para programar un ESP8266, GPIO0 debe estar a 0V en el momento de arrancar. En la versión sin RF esto se conseguía manteniendo pulsado el botón, mientras se conectaba la alimentación. Al desaparecer R21 esto ya no es posible.

La solución

Hay quien plantea desoldar R9 y ponerlo en el lugar de R21. Como yo no tengo ninguna experiencia desoldando y soldando componentes SMD he descartado esta solución.

Mi solución ha sido usar la punta de un destornillador para sustituir R21. De esta manera hay que poner la punta del destornillador en R21, pulsar el botón y conectar la alimentación. Si, se que hay que hacer tres cosas y la mayoría de gente solo tiene dos manos, pero con un par de intentos no es muy difícil situar el destornillador mientras se pulsa el botón, con la misma mano, y con la otra se conecta la alimentación.


El destornillador que mejor me ha ido es el de la foto, un destornillador de precisión con una punta de 3.0mm.

Para mayor comodidad, es muy conveniente optar por actualizaciones OTA (Over The Air).


Resumen

En resumen, el Sonoff RF se hackea igual que la versión sin RF, como ya vimos, excepto en que con la pulsación del botón hemos de simultanear la sustitución de R21 por la punta de un destornillador.

Es importante acordarse de borrar la memoria. Yo no lo hice, y el resultado fue que todo parecía ir bien hasta que desconecte y volví a desconectar el módulo. En ese momento dejo de funcionar y no podía re-programarlo. Lo único que me dejo hacer fue borrar la memoria, a partir de ahí, repitiendo el proceso, todo fue bien.

Para cualquier cuestión no dudéis en preguntar.

Si queréis, podéis seguirme a través de mi página de Facebook.

12 comentarios:

  1. Buenas Javier

    me gustaría controlar una puerta de garaje con un Sonoff RF, pero lo que necesito no es exactamente lo que hace Sonoff. La puerta, como supongo que todas, se controla con un pulsador de pared que cierra un contacto y activa o desactiva el motor, y ahí es donde hay que conectar el control. Pero entiendo que el Sonoff lo que hace es dar corriente por la salida cuando se activa.

    Hay alguna forma de cambiar esto?. Sabes si hay alguna conexión alternativa o se puede desoldar la conexión a 220v del relé, de forma que no dé corriente en la salida? Otra cosa que no sé si se puede hacer es que el relé no debe cerrar el circuito permanentemente, sólo cuando se active, porque de lo que se trata es de enviar una señal de cambio de estado, no de dar alimentación. Hay alguien que lo haya intentado?

    Saludos
    V. Hortal

    ResponderEliminar
    Respuestas
    1. Hola Vicente,

      La cuestión es que Sonoff controla con el relé la tensión con que se alimenta, lo que esta muy bien para algunas aplicaciones, como por ejemplo, controlar bombillas, pero no para otras.

      Si lo que te llega al pulsador es corriente alterna, podías solucionarlo con un tercer cable.

      Si es una tensión continua puedes usar el Sonoff SF: https://www.itead.cc/smart-home/sonoff-sv.html o casi mejor un wemos D1 mini con un shield con relé: http://es.aliexpress.com/store/1331105

      Eliminar
    2. Hola de nuevo,

      gracias por tu respuesta, y por el magnífico blog, se nota que te gusta y sabes del tema. Yo soy un mero aficionado, así que no esperes un gran nivel en mis comentarios ;)

      El caso es que al ver el Sonoff con receptor 433Mhz se me ocurrió que podría sustituir con ventaja receptores como este: http://www.ebay.es/itm/RECEPTOR-RADIOFRECUENCIA-433MHz-1-CANAL-220VAC-MANDO-PUERTA-GARAJE-ETC-/161631190885.

      Este aparato lo que hace básicamente es cerrar o abrir un relé mediante el mando. No da ningún tipo de tensión en el relé, eso ya depende de lo que uno conecte. Es como un interruptor controlado remotamente.

      Igual con un soldador, un poco de intrepidez y algo de reprogramación se puede usar el Sonoff RF para esto. O igual itead saca una versión más adecuada para este uso. Me he pedido uno que ya está en camino, si consigo algo ya lo contaré por aquí.

      Saludos
      V. Hortal

      Eliminar
    3. Hola Vicente,

      Es cierto que me gusta el tema, pero mis conocimientos son bastante limitados, pero gracias a Internet puedo ir resolviendo muchas dudas.

      Veo muy complicado modificar un Sonoff RF para lograr la funcionalidad de ese receptor. Puestos a ser intrépidos, yo tomaría de punto de partida el Sonoff SV.

      Eliminar
    4. Salvador (México)09 junio, 2017

      Con la salida del sonoff (En México 120 CA) alimento un convertidor CA-CD de 12 V, a su vez, alimento un relé con bobina de 12 V en serie con un capacitor para obtener sólo un pulso y, con éste pulso opero el abrepuertas.
      Para cambiar el estado del sonoff que ha quedado ON utilizo un segundo relé con un pequeño retardo al operar (Circuito RC) y mando un pulso al GPIO0 para que cambie de estado a OFF. Próximamente subiré fotos del arreglo.

      Eliminar
    5. Hola Vicente.
      Si te atreves con las soldaduras, puedes quitar el relé de la placa y conectarlo usando solamente en la placa la alimentación de la bobina, y así puedes usar el interruptor con la tensión que quieras.

      Entiendo que en un control de un garaje, se usa un pulsador para activar las funciones.
      Una pulsación sería la orden de encender la alimentación y volver a apagarla en un segundo o menos.
      Espero que te sirva.

      Eliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. Hi Javier
    I do not know the Spanish language ;)

    one question :
    What is the connection pins?
    (Sonoff-RF five pins.)

    ResponderEliminar
    Respuestas
    1. Hi Ramin,

      This entry is an extension of another, in it I detailed the pins: http://recetastecnologicas.blogspot.com.es/2016/03/hackeando-el-itead-sonoff-un.html. Note that the version I have is Sonoff 4-pin, I know that the newest version is 5 pin.

      Eliminar
  4. Hola:

    ¿Puedes decir los pasos necesarios para hackear estas cosas?

    Por cierto, ya no publicas nada en el Blog.

    Saludos.

    ResponderEliminar
    Respuestas
    1. ¿¿¿??? Este articulo trata sobre ello.

      No publico por falta de tiempo...

      Eliminar
  5. HOLA jAVIER GRACIAS POR COMPARTIR TUS CONOCIMIENTOS, YA HE HACKEADO EL SONOFF SIN RF, PERO EN CUANTO AL RF ME QUEDA LA DUDA: SI BORRO EL FIRMWARE PARA CARGARLE UNO DE MI AUTORIAA. ESTARE BORRANDO TAMBIEN EL PARING CON EL CONTROL DE RF NO? SI LO BORRO COMO PODRE CASAR DE NUEVO EL CONTROL CON EL SONOFF (TIENES EL CODIGO QUE HACE EL PARING CON EL CONROL DE RF??)

    ResponderEliminar