MQTT

Hack de puente RF de SONOFF (433MHz) usando Tasmota

María Hernández
· 7 min de lectura
Enviar por correo electrónico

SONOFF permiten a cualquier persona convertir espacios como hogares y oficinas tradicionales en inteligentes a un precio accesible. Ofrecen una variedad de productos inalámbricos para soluciones de control y monitorización, ideales para construir una prueba de concepto (POC) del Internet de las Cosas ( IoT ) sin necesidad de invertir cientos de dólares.

Sin embargo, si te interesa crear una prueba de concepto (POC), probablemente quieras controlar la arquitectura y los servicios donde se alojarán y mostrarán tus datos. Por ello, decidí ir más allá y modificar los productos SONOFF para crear mis propias soluciones a bajo precio.

Si quieres aprender a hackear el puente SONOFF de 433 MHz para crear cosas geniales, deberías terminar esta guía. ¡Créeme!

Requisitos

Servicios y herramientas:

Paso a paso

  1. Comprensión de la arquitectura
  2. Hack de puente RF
  3. Configuración del puente RF
  4. Configuración de Node-RED (MQTT)

1. Comprensión de la arquitectura

Lo más importante que debemos hacer antes de iniciar cualquier integración es comprender la arquitectura que hay detrás de ella.

Para esta integración vamos a aplicar la siguiente arquitectura:

Básicamente, los dispositivos RF envían una señal cada vez que un dispositivo cambia de estado. Estas señales se reciben en el puente RF SONOFF para luego reenviar los datos recibidos a Node-RED mediante MQTT. Esto solo es posible si se reemplaza el firmware del puente; en este caso, optamos por Tasmota . Una vez recibidos los datos en Node-RED, podrás manipularlos según tus necesidades y conectarlos con servicios de terceros, como plataformas IoT Ubidots , redes sociales, asistentes de voz o cualquier servicio que te permita comunicarte mediante una API.

2. Hack del puente RF

1. Retire las tapas negras de los 4 tornillos de la parte inferior del puente. Luego, retire los tornillos con el destornillador adecuado.

2. Retire la tapa con cuidado para extraer la PCB principal. Una vez desmontada, debería obtener el siguiente resultado:

3. Tome con cuidado la placa y levante la pantalla LED. Luego, retire la espuma debajo de la pantalla y apague el interruptor , como se muestra a continuación:

4. Para cambiar el firmware SONOFF del puente, debe usar un adaptador USB serie. Para conectar el adaptador al puente, debe soldar algunos conectores macho en los pines, como se muestra aquí:

Una segunda opción es no soldar los pines y utilizar cables puente macho y sujetarlos con el dedo durante el proceso de carga.

5. Establezca la siguiente conexión entre el módulo y el puente:

6. Presione el botón de reinicio en el puente y, mientras lo mantiene presionado, conecte el adaptador serial USB a su computadora.  

NOTA IMPORTANTE: Para poder cargar el firmware, debe tener instalado el controlador VCP del puente USB a UART CP210x . Si no lo tiene, haga clic aquí para descargarlo .

7. Según el sistema operativo utilizado, consulte las siguientes herramientas para cargar el archivo Tasmota . Haga clic aquí para descargar el archivo bin.

Ventanas: nodeMCU-flasher .

1. Inicie nodeMCU-flasher.

2. En la pestaña " Operación ", seleccione el puerto COM asignado al puente.

3. En la pestaña "Configuración" , seleccione Tasmota .bin .

4. En la pestaña " Avanzado ", asegúrese de que la configuración coincida con las siguientes:

  • Tasa de baudios: 115200
  • Tamaño de Flash : 1 Mbyte
  • Velocidad del flash : 40 MHz
  • Modo SPI : DOUT

Como se muestra en la imagen a continuación:

5. Para finalizar, haz clic en “ Flash ” y prepara tu SONOFF Bridge con Tasmota.

Linux/MacOS: esptool

  1. Consulte el archivo README para ejecutar el comando necesario para actualizar el firmware. Tenga en cuenta las siguientes configuraciones:
  • Tasa de baudios: 115200
  • Tamaño de Flash : 1 Mbyte
  • Velocidad del flash : 40 MHz
  • Modo SPI : DOUT

8. Con el firmware cargado exitosamente, mueva el interruptor a ON y ensamble el puente.

3. Configuración del puente RF

1. Conecte el puente a cualquier fuente de alimentación. En este punto, el puente creará un punto de acceso (AP). Explore las redes disponibles en su computadora y establezca la conexión wifi con la red " sonoff-xxx ".

Una vez establecida la conexión, abra su navegador preferido e introduzca la siguiente dirección: http://192.168.4.1 . Será redirigido a una página de configuración de WiFi.

2. Ingrese el SSID y la contraseña de la red con la que desea establecer la conexión y haga clic en guardar.

3. Después de establecer la conexión, use una aplicación de escaneo de red para conocer la nueva dirección IP asignada al puente RF. Recomendamos usar Fing , que se encuentra fácilmente en Google Play Store o la App Store de Apple. Fing es una excelente herramienta para localizar fácilmente la dirección IP de un dispositivo.

Después de encontrar la dirección IP asignada al puente, ingrésela nuevamente usando el navegador web.

4. Como parte de la configuración final, debe configurar el módulo que se utilizará, en este caso el Puente RF. Para ello, vaya a " Configuración > Configurar Módulo ". A continuación, seleccione " Puente 25 " como tipo de módulo y haga clic en " Guardar ".

4. Configuración de Node-RED (MQTT)

Para realizar pruebas, puede ejecutar Node-RED localmente en su ordenador. Si va a implementar una solución, le recomendamos ejecutar Node-RED en una Raspberry Pi conectada a la misma red que el puente RF.

1. Para configurar el servidor MQTT, vaya a " Configuración > Configurar MQTT " en el puente RF. A continuación, asigne las siguientes configuraciones:

  • Host: Dirección IP del ordenador / Dirección IP de la Raspberry Pi. En mi caso, la dirección IP asignada es 10.0.0.23
  • Puerto: 1883
  • Cliente: dejar el valor predeterminado
  • Usuario: dejar el valor predeterminado
  • Contraseña: Deje el valor predeterminado
  • Tema: rfbridge
  • Tema completo: %topic%/%prefix%/

Teniendo como resultado:

Para finalizar pulse el botón Guardar”

2. Inicie Node-RED localmente ejecutando el siguiente comando en su terminal:

nodo rojo

Si aún no lo tienes instalado, haz clic aquí .

3. Una vez que se inicia Node-RED, abra un navegador web y escriba la siguiente dirección IP 127.0.0.1 y el puerto 1880 (es decir, http://127.0.0.1:1880 ) para abrir la interfaz web de Node-RED.

4. A continuación, haga clic en el menú Node-RED en la esquina superior derecha, luego en “ Importar > Portapapeles ” y pegue el código a continuación:

[{"id":"ff00dda7.75ff7","tipo":"mqtt en","z":"c32623f3.82eec","nombre":"","tema":"rfbridge/tele/RESULT","qos":"1","tipo de datos":"automático","broker":"9584b3e4.576fd","x":220,"y":240,"wires":[["e629731e.a86648"]]},{"id":"e629731e.a86648","tipo":"depuración","z":"c32623f3.82eec","nombre":"","activo":verdadero,"tosidebar":verdadero,"consola":falso,"tostatus":falso,"completo":"falso","x":500,"y":240,"wires":[]},{"id":"9584b3e4.576fd","tipo":"mqtt-broker","z":"","nombre":"Local Corredor","corredor":"10.0.0.23","puerto":"1883","iddecliente":"","usetls":falso,"modocompat":verdadero,"mantenervivo":"60","sesióndelimpieza":verdadero,"temadenacimiento":"","cualidaddenacimiento":"0","cargadenacimiento":"","temadecierre":"","cualidaddenacimiento":"0","cargadenacimiento":"","temadecierre":"","cualidaddenacimiento":"0","cargadenacimiento":"","temadevoluntad":"","cualidaddenacimiento":"0","cargadevoluntad":""}]

5. En la pestaña " Conexión " del nodo MQTT, asigne como " Servidor " la misma dirección IP asignada como host en el puente RF. En mi caso, el host asignado fue 10.0.0.23 .

Para guardar los cambios, haga clic en “ Actualizar ”.

6. Para comenzar a ejecutar el flujo Node-RED, haga clic en " Implementar ".

En este punto, el nodo MQTT cambiará su estado a “ Conectado ”.

Luego, seleccione la pestaña de depuración para visualizar los mensajes entrantes.

5. Resumen

En solo un par de minutos, pudimos hackear el SONOFF RF Bridge sin tener que ser un experto en hardware.

Ahora que ya puedes manipular los datos para manejarlos con cualquier servicio de tu preferencia, es tu turno de empezar a ampliar las capacidades de las soluciones que ofrecen los productos SONOFF para construir soluciones IoT a un nivel de bajo coste.

Proyectos IoT más útiles: