Índice:

Hardware e software hackear dispositivos inteligentes, Tuya e Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 etapas
Hardware e software hackear dispositivos inteligentes, Tuya e Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 etapas

Vídeo: Hardware e software hackear dispositivos inteligentes, Tuya e Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 etapas

Vídeo: Hardware e software hackear dispositivos inteligentes, Tuya e Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 etapas
Vídeo: I was SO WRONG About Ikea Tradfri !! 2024, Julho
Anonim
Hardware e software hackear dispositivos inteligentes, Tuya e Broadlink LEDbulb, Sonoff, BSD33 Smart Plug
Hardware e software hackear dispositivos inteligentes, Tuya e Broadlink LEDbulb, Sonoff, BSD33 Smart Plug

Neste Instructable, mostro como fiz o flash de vários dispositivos inteligentes com meu próprio firmware, para que eu possa controlá-los por MQTT por meio de minha configuração do Openhab.

Vou adicionar novos dispositivos quando os hackear.

Claro que existem outros métodos baseados em software para flashear firmware personalizado, como Tuya convert, mas eu gosto de entender como o dispositivo funciona e o que está "por baixo do capô".

O código é escrito e atualizado usando o IDE Arduino.

Eu controlo meus dispositivos via Openhab e Google Home (via Openhab), se você quiser saber mais ou precisar do arquivo.items etc, por favor me avise nos comentários.

Segurança primeiro

Tenha cuidado, pois estamos trabalhando com dispositivos alimentados por tensão de rede. Desconecte os dispositivos da fonte de alimentação antes de trabalhar neles.

Se você tiver alguma dúvida se o dispositivo é seguro após a modificação, descarte-o.

Suprimentos

Para a maioria dos hacks, você precisa de um programador FDTI conectado a um computador executando o Arduino IDE, alguns fios de jumper, um ferro de solda, alguns resistores e módulos ESP8266 ou ESP8285.

Etapa 1: Lâmpada inteligente Tuya LED RGBW

Lâmpada inteligente Tuya LED RGBW
Lâmpada inteligente Tuya LED RGBW
Lâmpada inteligente Tuya LED RGBW
Lâmpada inteligente Tuya LED RGBW
Lâmpada inteligente Tuya LED RGBW
Lâmpada inteligente Tuya LED RGBW

Introdução

Comprei esta lâmpada no Aliexpress. Ele funciona bem com o aplicativo Smart Life, mas eu queria controlá-lo via MQTT da Openhab. Eu já fiz meu próprio firmware Sonoff B1, então tentei piscar esta lâmpada com aquele firmware.

Piscando

Você abre a lâmpada removendo cuidadosamente a tampa de plástico, com a mão, usando força ou girando uma chave de fenda entre o metal e o plástico. Você pode ver o chip ESP8266 vazio.

As conexões necessárias são expostas por meio de pequenas almofadas no PCB (3v3, GND, RX, TX e IO0 (GPIO0))

Primeiro coloquei um pouco de solda nas almofadas e nos fios e depois os soldei juntos. Usei uma tiewrap e um pouco de cola quente para prender os fios à lâmpada.

GPIO0 é necessário para colocar o ESP8266 no modo de programa. Conecte-o ao aterramento ao alimentar o ESP8266. Você pode ligar e atualizar o ESP8266 usando um programador FTDI.

Firmware

O firmware é baseado no meu firmware Sonoff B1, mas é modificado, porque o Sonoff B1 usa drivers MY9231 LED que são acionados pelo chip ESP8285 e nesta lâmpada Tuya Smart os 4 canais (RGBW) são acionados por mosfets comutados por sinais PWM diretamente do ESP8266.

O canal verde está conectado ao GPIO12, vermelho ao GPIO14, azul ao GPIO13 e o canal branco está conectado ao GPIO4. No código, você vê isso como: #define GREENPIN 12 #define REDPIN 14 #define BLUEPIN 13 #define WHITEPIN 4.

O código completo está no meu Github.

Etapa 2: Lâmpadas LED brancas quentes genéricas - Parte 1

Lâmpadas LED brancas quentes genéricas - Parte 1
Lâmpadas LED brancas quentes genéricas - Parte 1
Lâmpadas LED brancas quentes genéricas - Parte 1
Lâmpadas LED brancas quentes genéricas - Parte 1
Lâmpadas LED brancas quentes genéricas - Parte 1
Lâmpadas LED brancas quentes genéricas - Parte 1

Introdução

Comprei essas lâmpadas LED da Aliexpress Blue / white box e black box. Eles devem ser controlados por meio do app Magic Home Smart Home e do app Techlife pro. Não experimentei esses aplicativos, pois queria controlar as lâmpadas LED via MQTT da Openhab. Como eu já tinha o firmware para as lâmpadas RGBW, usei não com quatro canais (RGBW), mas apenas um canal.

Piscando

Você abre a lâmpada removendo cuidadosamente a tampa de plástico. Descobri que a tampa estava um pouco colada ao metal, então precisei de uma chave de fenda entre o metal e o plástico.

Eu esperava ver um chip ESP8266 ou ESP8285, mas era um módulo Broadlink. O módulo se parecia muito com um módulo ESP12, mas descobri que a pinagem era completamente diferente. Ao remover a tampa de metal, descobri que era um chip RDA 5981AM.

Minha solução para substituir esse chip por um ESP é mostrada na próxima etapa.

Etapa 3: Lâmpadas LED brancas quentes genéricas - Parte 2

Lâmpadas LED brancas quentes genéricas - Parte 2
Lâmpadas LED brancas quentes genéricas - Parte 2
Lâmpadas LED brancas quentes genéricas - Parte 2
Lâmpadas LED brancas quentes genéricas - Parte 2
Lâmpadas LED brancas quentes genéricas - Parte 2
Lâmpadas LED brancas quentes genéricas - Parte 2
Lâmpadas LED brancas quentes genéricas - Parte 2
Lâmpadas LED brancas quentes genéricas - Parte 2

Os módulos são conectados à base da lâmpada por meio de 3 pinos, veja a primeira foto:

  • 3V3 (3,3V)
  • GND (terra)
  • PWM (modulação por largura de pulso)

O pino PWM é usado para definir o brilho da lâmpada por meio de um sinal PWM, que pode variar de 0 (a lâmpada está desligada) a 100 (a lâmpada está completamente ligada) e todos os valores intermediários. Consulte este site para obter mais informações sobre os sinais PWM.

Como os módulos ESP8266 e ESP8285 funcionam em 3,3 V e podem facilmente gerar um sinal PWM, mudei os módulos Broadlink para ESP8266 ou ESP8285.

Os módulos ESP-01S (ESP8266) são atualizados por meio de um programador separado, consulte a etapa 3 deste Instrutível. Eu soldei pinos fêmea do cabeçote à lâmpada com um resistor pull up entre 3V3 e EN (habilitar). Este foi meu primeiro experimento, depois mudei para os módulos ESP8285.

Os módulos ESP-M1, ESP-M3 e ESP-01F (ESP8285) são flasheados por fios de solda para as conexões necessárias (3V3, GND, RX, TX e GPIO0 (consulte a etapa 1, o piscar da lâmpada inteligente Tuya). soldou um resistor pull up entre 3V3 e EN (habilitar).

Com o módulo ESP-M3, uso GPIO4 para gerar o sinal PWM. No começo eu usei GPIO2, mas quando a lâmpada LED está desligada, o GPIO2 baixo resulta na iluminação do LED on-board, o que dá um brilho azul indesejado na lâmpada LED.

Adicione um pouco de fita kapton para melhorar o isolamento entre o módulo e as conexões da base da lâmpada.

Edit: descobri que o módulo ESP-01F não inicializa de forma confiável, provavelmente devido à instabilidade de energia na inicialização. Resolvi isso adicionando um capacitor de tântalo de 10 uF entre o GND e o VCC. Digno de nota, um capacitor de cerâmica de 10 uF não funcionou.

Etapa 4: Lâmpadas LED brancas quentes genéricas - Parte 3

Lâmpadas LED brancas quentes genéricas - Parte 3
Lâmpadas LED brancas quentes genéricas - Parte 3

Firmware

O código está no meu Github.

O firmware inclui uma interface web para controlar a lâmpada LED, e também tem a opção de atualizar o firmware OTA via Webupdate

Etapa 5: Sonoff ou BSD33 Smart Plug - Parte 1

Sonoff ou BSD33 Smart Plug - Parte 1
Sonoff ou BSD33 Smart Plug - Parte 1
Sonoff ou BSD33 Smart Plug - Parte 1
Sonoff ou BSD33 Smart Plug - Parte 1
Sonoff ou BSD33 Smart Plug - Parte 1
Sonoff ou BSD33 Smart Plug - Parte 1
Sonoff ou BSD33 Smart Plug - Parte 1
Sonoff ou BSD33 Smart Plug - Parte 1

Introdução

Comprei este plugue inteligente WiFi da Aliexpress. Ele funciona bem com o aplicativo Smart Life, mas eu queria controlá-lo via MQTT da Openhab. Eu já fiz meu próprio firmware Sonoff para plugues e soquetes inteligentes, então tentei piscar esta lâmpada com esse firmware.

Eu também usei este firmware para atualizar meus plugues inteligentes Sonof S20 e Sonoff S26 e interruptores inteligentes Sonoff basic e Sonoff Basic R3. Como abrir e conectar dispositivos Sonoff por hardware para flashing é descrito para Tasmota no wiki de tasmota, portanto, isso não é descrito aqui.

Abrindo o soquete

O plugue inteligente é colado. Para abri-lo, coloque uma chave de fenda no recorte na terra e aplique um pouco de força usando o outro lado do soquete como um ponto de articulação (dica do netpokin neste tópico). Dessa forma, você deve ser capaz de empurrá-lo para fora sem danificar o soquete.

Nas fotos você vê o interior do plug. Ele consiste em uma placa principal com o relé um pcb menor no qual o chip ESP8266 e a memória são montados. As placas são conectadas por meio de conexões de solda acessíveis.

Etapa 6: Sonoff ou BSD33 Smart Plug - Parte 2

Sonoff ou BSD33 Smart Plug - Parte 2
Sonoff ou BSD33 Smart Plug - Parte 2
Sonoff ou BSD33 Smart Plug - Parte 2
Sonoff ou BSD33 Smart Plug - Parte 2
Sonoff ou BSD33 Smart Plug - Parte 2
Sonoff ou BSD33 Smart Plug - Parte 2
Sonoff ou BSD33 Smart Plug - Parte 2
Sonoff ou BSD33 Smart Plug - Parte 2

Piscando

Eu fiz engenharia reversa nas conexões de solda. Veja a imagem para a descrição das conexões. Eu descobri que:

  • GPIO2 é conectado ao LED (no botão do plugue).
  • GPIO13 está conectado ao próprio botão.
  • GPIO15 está conectado ao mosfet que muda o relé principal.

Você pode ligar e atualizar o ESP8266 usando um programador FTDI. Conecte os cabos duplas fêmeas às seguintes conexões: (VCC (3,3V), GND, RX, TX e GPIO0)

GPIO0 é necessário para colocar o ESP8266 no modo de programa. Conecte-o ao aterramento ao alimentar o ESP8266.

No meu programador FTDI, adicionei um capacitor 470uF entre o aterramento e o VCC. Em outro projeto descobri que isso aumentou a estabilidade.

O programador FTDI tem alguns outros pinos GND e VCC não usados, você pode usá-los para conectar GPIO0 ao GND.

Etapa 7: Sonoff ou BSD33 Smart Plug - Parte 3

Sonoff ou BSD33 Smart Plug - Parte 3
Sonoff ou BSD33 Smart Plug - Parte 3
Sonoff ou BSD33 Smart Plug - Parte 3
Sonoff ou BSD33 Smart Plug - Parte 3
Sonoff ou BSD33 Smart Plug - Parte 3
Sonoff ou BSD33 Smart Plug - Parte 3
Sonoff ou BSD33 Smart Plug - Parte 3
Sonoff ou BSD33 Smart Plug - Parte 3

Firmware

Meu firmware está no meu Github.

Principais partes do firmware

  • Conexão ao servidor WiFi e MQTT
  • Troca manual quando online e offline (na inicialização)
  • Se o relé for alternado manualmente quando o dispositivo estiver offline, ele enviará o estado via MQTT quando reconectado
  • O estado do relé é armazenado na memória RTC (veja este vídeo sobre a memória RTC do ESP8266)
  • Interface da web para controlar o switch e acessar o Webupdate for OTA
  • O firmware é adequado para este smartplug BSD33, mas também para dispositivos Sonoff: Sonoff S20, Sonoff S26, Sonoff basic, Sonof Basic R3

Integrações Openhab

Eu uso este plugue para controlar a potência da minha máquina de café. Via Openhab e Google Home posso controlá-lo por voz.

Implementei um cronômetro que liga minha máquina de café depois de um tempo predefinido, veja a foto do mapa do meu site Openhab. O tempo predefinido é injetado no NodeRed, com horários predefinidos diferentes nos dias da semana e nos finais de semana.

Veja meu Github para exemplos de itens, regras e arquivos de mapa do site.

Recomendado: