Tabla de contenido:

Hardware y software Hackear dispositivos inteligentes, Tuya y Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 pasos
Hardware y software Hackear dispositivos inteligentes, Tuya y Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 pasos

Video: Hardware y software Hackear dispositivos inteligentes, Tuya y Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 pasos

Video: Hardware y software Hackear dispositivos inteligentes, Tuya y Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 pasos
Video: I was SO WRONG About Ikea Tradfri !! 2024, Noviembre
Anonim
Hardware y software Hack Smart Devices, Tuya y Broadlink LEDbulb, Sonoff, BSD33 Smart Plug
Hardware y software Hack Smart Devices, Tuya y Broadlink LEDbulb, Sonoff, BSD33 Smart Plug

En este Instructable, les muestro cómo flasheé varios dispositivos inteligentes con mi propio firmware, para poder controlarlos mediante MQTT a través de mi configuración de Openhab.

Agregaré nuevos dispositivos cuando los piratee.

Por supuesto, existen otros métodos basados en software para actualizar firmware personalizado, como Tuya Convert, pero me gusta entender cómo funciona el dispositivo y qué hay 'bajo el capó'.

El código se escribe y se actualiza mediante Arduino IDE.

Control mis dispositivos a través de Openhab y Google Home (a través de Openhab), si desea saber más o necesita el archivo.items, etc., hágamelo saber en los comentarios.

¡Seguridad primero

Tenga cuidado ya que estamos trabajando con dispositivos alimentados por voltaje de red. Desconecte los dispositivos de la fuente de alimentación antes de trabajar en ellos.

Si tiene alguna duda sobre si el dispositivo es seguro después de la modificación, deséchelo.

Suministros

Para la mayoría de los hacks, necesita un programador FDTI conectado a una computadora que ejecute Arduino IDE, algunos cables de puente, un soldador, algunas resistencias y módulos ESP8266 o ESP8285.

Paso 1: Bombilla inteligente Tuya LED RGBW

Bombilla inteligente Tuya LED RGBW
Bombilla inteligente Tuya LED RGBW
Bombilla inteligente Tuya LED RGBW
Bombilla inteligente Tuya LED RGBW
Bombilla inteligente Tuya LED RGBW
Bombilla inteligente Tuya LED RGBW

Intro

Compré esta lámpara en Aliexpress. Funciona bien con la aplicación Smart Life, pero quería controlarlo a través de MQTT de Openhab. Ya hice mi propio firmware Sonoff B1, así que intenté flashear esta lámpara con ese firmware.

Brillante

La lámpara se abre quitando con cuidado la tapa de plástico, con la mano haciendo fuerza o girando un destornillador entre el metal y el plástico. Puede ver el chip ESP8266 desnudo.

Las conexiones necesarias se exponen a través de pequeñas almohadillas en la PCB (3v3, GND, RX, TX e IO0 (GPIO0))

Primero puse un poco de soldadura en las almohadillas y los cables y luego los soldé juntos. Usé un tiewrap y un poco de pegamento caliente para unir los cables a la lámpara.

Se necesita GPIO0 para poner el ESP8266 en modo de programa. Conéctelo a tierra cuando encienda el ESP8266. Puede encender y flashear el ESP8266 usando un programador FTDI.

Firmware

El firmware se basa en mi firmware Sonoff B1, pero está modificado, porque el Sonoff B1 usa controladores LED MY9231 que son impulsados por el chip ESP8285 y en esta lámpara Tuya Smart los 4 canales (RGBW) son controlados por mosfets conmutados por señales PWM directamente desde el ESP8266.

El canal verde está conectado a GPIO12, rojo a GPIO14, azul a GPIO13 y el canal blanco está conectado a GPIO4. En el código se ve eso como: #define GREENPIN 12 #define REDPIN 14 #define BLUEPIN 13 #define WHITEPIN 4.

El código completo está en mi Github.

Paso 2: Bombillas LED genéricas de color blanco cálido - Parte 1

Bombillas LED genéricas de color blanco cálido - Parte 1
Bombillas LED genéricas de color blanco cálido - Parte 1
Bombillas LED genéricas de color blanco cálido - Parte 1
Bombillas LED genéricas de color blanco cálido - Parte 1
Bombillas LED genéricas de color blanco cálido - Parte 1
Bombillas LED genéricas de color blanco cálido - Parte 1

Intro

Compré estas bombillas LED de Aliexpress Caja azul / blanca y caja negra. Deben controlarse a través de la aplicación Magic Home Smart Home y la aplicación Techlife Pro. No probé estas aplicaciones, ya que quería controlar las bombillas LED a través de MQTT de Openhab. Como ya tenía el firmware para las bombillas RGBW, lo usé no con cuatro canales (RGBW), sino solo con un canal.

Brillante

Abre la lámpara quitando con cuidado la tapa de plástico. Descubrí que la tapa estaba un poco pegada al metal, por lo que necesitaba fuerza con un destornillador entre el metal y el plástico.

Esperaba ver un chip ESP8266 o ESP8285, sin embargo, era un módulo Broadlink. El módulo se parecía mucho a un módulo ESP12, pero descubrí que el pinout era completamente diferente. Después de quitar la cubierta de metal, descubrí que era un chip RDA 5981AM.

Mi solución para reemplazar este chip por un ESP se muestra en el siguiente paso.

Paso 3: Bombillas LED genéricas de color blanco cálido - Parte 2

Bombillas LED genéricas de color blanco cálido - Parte 2
Bombillas LED genéricas de color blanco cálido - Parte 2
Bombillas LED genéricas de color blanco cálido - Parte 2
Bombillas LED genéricas de color blanco cálido - Parte 2
Bombillas LED genéricas de color blanco cálido - Parte 2
Bombillas LED genéricas de color blanco cálido - Parte 2
Bombillas LED genéricas de color blanco cálido - Parte 2
Bombillas LED genéricas de color blanco cálido - Parte 2

Los módulos están conectados a la base de la lámpara a través de 3 pines, vea la primera imagen:

  • 3V3 (3,3 V)
  • GND (tierra)
  • PWM (modulación de ancho de pulso)

El pin PWM se usa para establecer el brillo de la lámpara a través de una señal PWM, que puede variar de 0 (lámpara apagada) a 100 (lámpara completamente encendida) y todos los valores intermedios. Consulte este sitio web para obtener más información sobre las señales PWM.

Dado que los módulos ESP8266 y ESP8285 funcionan con 3.3V y pueden generar fácilmente una señal PWM, cambié los módulos Broadlink a los módulos ESP8266 o ESP8285 que tenía por ahí.

Los módulos ESP-01S (ESP8266) se actualizan a través de un programador separado, consulte el paso 3 de este Instructable. Soldé los pines hembra del cabezal a la lámpara con una resistencia de extracción entre 3V3 y EN (habilitar). Este fue mi primer experimento, más tarde cambié a los módulos ESP8285.

Los módulos ESP-M1, ESP-M3 y ESP-01F (ESP8285) se flashean soldando cables a las conexiones necesarias (3V3, GND, RX, TX y GPIO0 (consulte el paso 1, el parpadeo de la lámpara inteligente Tuya). I soldó una resistencia pull up entre 3V3 y EN (habilitar).

Con el módulo ESP-M3, uso GPIO4 para generar la señal PWM. Al principio usé GPIO2, pero cuando la bombilla LED está apagada, el GPIO2 bajo da como resultado la iluminación del LED integrado, lo que da un brillo azul no deseado en la bombilla LED.

Agregue un poco de cinta kapton para mejorar el aislamiento entre el módulo y las conexiones de la base de la lámpara.

Editar: descubrí que el módulo ESP-01F no se inicia de manera confiable, probablemente debido a la inestabilidad de energía en el momento del encendido. Resolví esto agregando un capacitor de tantalio de 10 uF entre GND y VCC. Cabe destacar que un condensador cerámico de 10 uF no funcionó.

Paso 4: Bombillas LED genéricas de color blanco cálido - Parte 3

Bombillas LED genéricas de color blanco cálido - Parte 3
Bombillas LED genéricas de color blanco cálido - Parte 3

Firmware

El código está en mi Github.

El firmware incluye una interfaz web para controlar la bombilla LED y también tiene una opción para actualizar el firmware OTA a través de Webupdate

Paso 5: Enchufe inteligente Sonoff o BSD33 - Parte 1

Enchufe inteligente Sonoff o BSD33 - Parte 1
Enchufe inteligente Sonoff o BSD33 - Parte 1
Enchufe inteligente Sonoff o BSD33 - Parte 1
Enchufe inteligente Sonoff o BSD33 - Parte 1
Enchufe inteligente Sonoff o BSD33 - Parte 1
Enchufe inteligente Sonoff o BSD33 - Parte 1
Enchufe inteligente Sonoff o BSD33 - Parte 1
Enchufe inteligente Sonoff o BSD33 - Parte 1

Intro

Compré este enchufe inteligente WiFi de Aliexpress. Funciona bien con la aplicación Smart Life, pero quería controlarlo a través de MQTT de Openhab. Ya hice mi propio firmware Sonoff para enchufes y enchufes inteligentes, así que intenté flashear esta lámpara con ese firmware.

También utilicé este firmware para actualizar mis enchufes inteligentes Sonof S20 y Sonoff S26 y los interruptores inteligentes Sonoff Basic y Sonoff Basic R3. La forma de abrir y conectar los dispositivos Sonoff para flashear se describe para Tasmota en la wiki de tasmota, por lo tanto, esto no se describe aquí.

Abriendo el enchufe

El enchufe inteligente está pegado. Para abrirlo, coloque un destornillador en el corte en la tierra y aplique algo de fuerza usando el otro lado del zócalo como punto de pivote (sugerencia de netpokin sobre este tema). De esta manera, debería poder sacarlo con una palanca sin dañar el enchufe.

En las imágenes se ve el interior del enchufe. Consiste en una placa principal con el relé, una placa de circuito impreso más pequeña en la que se montan el chip ESP8266 y la memoria. Las placas están conectadas a través de conexiones de soldadura accesibles.

Paso 6: Enchufe inteligente Sonoff o BSD33 - Parte 2

Enchufe inteligente Sonoff o BSD33 - Parte 2
Enchufe inteligente Sonoff o BSD33 - Parte 2
Enchufe inteligente Sonoff o BSD33 - Parte 2
Enchufe inteligente Sonoff o BSD33 - Parte 2
Enchufe inteligente Sonoff o BSD33 - Parte 2
Enchufe inteligente Sonoff o BSD33 - Parte 2
Enchufe inteligente Sonoff o BSD33 - Parte 2
Enchufe inteligente Sonoff o BSD33 - Parte 2

Brillante

Realicé ingeniería inversa de las conexiones de soldadura. Consulte la imagen para ver la descripción de las conexiones. Descubrí que:

  • GPIO2 está conectado al LED (en el botón del enchufe).
  • GPIO13 está conectado al propio botón.
  • GPIO15 está conectado al mosfet que conmuta el relé principal.

Puede encender y flashear el ESP8266 usando un programador FTDI. Conecte los cables dupont hembra a las siguientes conexiones: (VCC (3.3V), GND, RX, TX y GPIO0)

Se necesita GPIO0 para poner el ESP8266 en modo de programa. Conéctelo a tierra cuando encienda el ESP8266.

En mi programador FTDI agregué un capacitor de 470uF entre tierra y VCC. En otro proyecto descubrí que esto aumentaba la estabilidad.

El programador FTDI tiene algunos otros pines GND y VCC sin usar, puede usarlos para conectar GPIO0 a GND.

Paso 7: Enchufe inteligente Sonoff o BSD33 - Parte 3

Enchufe inteligente Sonoff o BSD33 - Parte 3
Enchufe inteligente Sonoff o BSD33 - Parte 3
Enchufe inteligente Sonoff o BSD33 - Parte 3
Enchufe inteligente Sonoff o BSD33 - Parte 3
Enchufe inteligente Sonoff o BSD33 - Parte 3
Enchufe inteligente Sonoff o BSD33 - Parte 3
Enchufe inteligente Sonoff o BSD33 - Parte 3
Enchufe inteligente Sonoff o BSD33 - Parte 3

Firmware

Mi firmware está en mi Github.

Partes principales del firmware

  • Conexión a WiFi y servidor MQTT
  • Cambio manual cuando está en línea y fuera de línea (al inicio)
  • Si el relé se conmuta manualmente cuando el dispositivo está fuera de línea, envía el estado a través de MQTT cuando se vuelve a conectar
  • El estado del relé se almacena en la memoria RTC (vea este video sobre la memoria RTC del ESP8266)
  • Interfaz web para controlar el conmutador y acceder a Webupdate para OTA
  • El firmware es adecuado para este enchufe inteligente BSD33, pero también para dispositivos Sonoff: Sonoff S20, Sonoff S26, Sonoff basic, Sonof Basic R3

Integraciones Openhab

Utilizo este enchufe para controlar la potencia de mi máquina de café. A través de Openhab y Google Home puedo controlarlo por voz.

Implementé un temporizador que apaga mi máquina de café después de un tiempo preestablecido, vea la imagen de mi mapa del sitio Openhab. La hora preestablecida se inyecta en NodeRed, con diferentes horas preestablecidas los días de semana y los días de fin de semana.

Consulte mi Github para ver ejemplos de elementos, reglas y archivos de mapas del sitio.

Recomendado: