- Com a descontinuação do serviço celular do sistema de interfone Doorking, a função de abrir o portão parou de funcionar, levando a um hack de hardware para restaurar o controle remoto
- Usando uma placa de relé Wi‑Fi com ESP32, o projeto passou a controlar diretamente a linha do solenóide e foi configurado como um cliente do protocolo Matter integrado ao Apple Home
- Com firmware baseado em Rust, o portão foi projetado para abrir apenas por um período determinado e travar automaticamente, mantendo a segurança
- Para resolver o conflito de memória entre Wi‑Fi e Bluetooth, as duas pilhas passaram a operar de forma mutuamente exclusiva, usando apenas Wi‑Fi após o provisionamento
- Como resultado, foi concluído um caso de expansão discreta de IoT que permite controlar o portão pelo smartphone sem danificar o sistema existente
Projeto Caixa de Segredos: integrando o interfone do apartamento ao Apple Home
- O projeto começou quando o interfone do apartamento de um amigo, um sistema Doorking 1834-080, ficou sem a função de abertura do portão porque o serviço celular havia sido interrompido por negligência na administração
- Como os visitantes não conseguiam mais solicitar entrada por telefone, foi implementada, por meio de um hack de hardware com ESP32, uma forma de abrir o portão remotamente pelo Apple Home
Investigação inicial e primeira tentativa
- Na inspeção no local, verificou-se que a caixa superior do interfone não estava trancada, o que permitiu examinar a estrutura interna, e o roteador Wi‑Fi/celular estava configurado com a senha padrão
- Foi encontrado um vazamento que permitia redefinir a senha root ao baixar o arquivo de configuração do roteador, mas a ideia foi abandonada devido à complexidade de analisar o protocolo serial customizado do sistema
- Como segunda tentativa, buscou-se imitar o sinal DTMF usando o terminal da linha telefônica (“PH LINE”), mas o experimento foi interrompido porque era provável que a caixa de controle ignorasse os comandos quando não estivesse em estado de espera para recepção
Terceira abordagem: controle no meio do circuito
- Ao abrir a caixa de junção da fiação entre a caixa de voz e o controlador principal, foi possível ver que por ela passava a linha de controle do solenóide que aciona a trava do portão
- O solenóide tinha uma estrutura simples: abre quando recebe energia e trava quando ela é cortada, o que levou à ideia de abrir o portão fornecendo energia diretamente
- Foi traçado um plano para puxar uma alimentação auxiliar de 12 V DC da caixa de voz para acionar uma placa de relé Wi‑Fi com ESP32 e integrá-la ao Apple Home
- Ramificar a linha de controle do solenóide e conectá-la ao relé do ESP32
- Escrever o firmware em Rust para operar como cliente do protocolo Matter
- Projetar o circuito para permitir controle em paralelo, mantendo o funcionamento normal do sistema existente
Configuração de software
- O ESP32 foi conectado ao Apple Home usando uma biblioteca Matter baseada em Rust
- Após a conexão de rede, ao receber um comando, o portão abre por um tempo determinado (10 segundos por padrão) e depois trava automaticamente
- Isso evita que o portão permaneça aberto por muito tempo, mantendo a segurança
- Código publicado: GitHub - ImTheSquid/doorbell2
Problemas de memória e solução
- Devido à falta de RAM do ESP32, executar simultaneamente as pilhas de Wi‑Fi e Bluetooth causava resets por corrupção de memória
- A implementação de Matter em uso utilizava a pilha Bluedroid, agravando o problema
- Como solução, Wi‑Fi e Bluetooth passaram a ser ativados de forma mutuamente exclusiva, e foram aplicadas opções de economia de memória no arquivo de configuração (
sdkconfig.defaults)
- O Bluetooth passou a ser ativado apenas temporariamente durante o provisionamento e, depois disso, somente o Wi‑Fi é usado, o que estabilizou o sistema
- No Apple Home, a fechadura do portão aparece normalmente, e até as informações do fabricante podem ser definidas livremente
Instalação e solução dos problemas de energia
- A placa ESP32 cabia perfeitamente dentro da caixa de fiação, ficando invisível externamente
- A alimentação foi puxada da caixa de voz, mas não funcionou; então, temporariamente, o teste foi bem-sucedido com uma bateria de furadeira sem fio de 20 V
- Depois, ao consultar o manual, descobriu-se que o terminal de 12 V da caixa de voz era de entrada
- O problema de alimentação foi resolvido com a adição de um regulador retificador que converte a entrada de 18 V AC em 12 V DC
- Todos os componentes foram organizados dentro da caixa de fiação para concluir a montagem
Resultado e significado
- Passou a ser possível controlar remotamente o portão pelo smartphone via Apple Home, e os visitantes também podem abrir ao mesmo tempo o portão e a porta do apartamento pelo app
- A instalação tem uma estrutura discreta composta apenas pela placa ESP32 e uma pequena fonte de alimentação, sem interferir no sistema de acesso existente
- Com um simples hack de circuito e integração baseada em padrões abertos, trata-se de um exemplo prático de IoT que expande as funções de hardware existente
- O projeto também serviu para ganhar experiência com hacking de circuitos e pode ser reproduzido com facilidade em ambientes semelhantes
1 comentários
Comentários do Hacker News
Apontam que isso é uma atitude muito ambígua do ponto de vista legal e ético
Entendem conectar à caixa interna do próprio apartamento, mas consideram problemático ligar ao controlador da porta de entrada compartilhada e distribuir acesso a amigos
O fato de ter feito várias tentativas de evitar ser descoberto sugere que a própria pessoa sabe que está fazendo algo errado
Esse tipo de ação também pode ampliar a superfície de ataque digital e criar oportunidades para crimes
Portanto, pode haver algum grau de responsabilidade, inclusive criminal e civil
Ainda assim, se for sua propriedade e todas as partes envolvidas concordarem, modificar o sistema ligando os fios do solenóide pode ser apropriado
Na visão deles, energizar os fios do solenóide expostos do lado de fora, como o OP fez, não seria grande problema
Eu também implementei uma integração parecida com o Apple HomeKit de forma simples
O interfone está conectado ao telefone fixo dedicado da casa, esse telefone vai automaticamente para a caixa postal, e a mensagem reproduz o tom que abre a porta
A energia é controlada por uma tomada inteligente: ligada, libera a entrada; desligada, bloqueia
Quando o interfone liga para meu número VoIP, o visitante precisa digitar uma senha e, se acertar, o sistema envia DTMF 9 para abrir a porta
Também recebo notificações por e-mail e SMS, e posso emitir várias senhas para saber quem entrou
Então eu provavelmente configuraria a tomada para desligar automaticamente depois de reproduzir a mensagem de voz
Eu também tive o mesmo problema e, depois de procurar por mais de um ano, encontrei alguém na Romênia vendendo uma placa com engenharia reversa
Dá para instalar por menos de 30 euros, e é um método tosco, mas charmoso
Link
Desisti porque puxar energia da linha de 24V poderia ser considerado “furto de eletricidade”
No fim, troquei por um Nuki Opener, que é muito mais estável e melhor para a família toda usar
Projetos experimentais improvisados são divertidos, mas inadequados para uso real
A propósito, o repositório do código está neste link do GitHub
Fiquei surpreso com o quanto o ecossistema de interfones está atrasado hoje em dia
Questionam por que não existe nem um produto meio inteligente que ao menos permita dizer algo como “o jantar está pronto”
Produtos sem fio baratos e genéricos mal conseguem comunicação entre cômodos, e no fim a única solução parece ser usar Asterisk com telefones VoIP baratos
É possível enviar e receber áudio ou reproduzi-lo quando quiser
Já tentaram várias combinações com Sonos, Wiim, Acrylic e outros, mas acabaram ficando satisfeitos com a qualidade mediana da Sonos
Em alguns interfones europeus existe uma solução chamada Doorman
Ela implementa o protocolo Koch com engenharia reversa usando ESP32 + Home Assistant, e o recurso de modo festa foi útil em eventos
Site do Doorman / Guia de ring-to-open
Eu fiz de forma ainda mais simples: dei um número Twilio ao administrador do prédio e configurei no app respostas por código
Códigos válidos abrem a porta com DTMF “9”, e “1” transfere a chamada para meu celular
Tenho um incômodo parecido com o controle do aquecimento da casa de campo
Um termostato de parede a bateria controla o piso aquecido por sinal de rádio, mas para ter controle remoto eu precisaria comprar um equipamento novo por mais de 2 mil dólares
Deveria bastar imitar o sinal existente, mas a tecnologia é desnecessariamente fechada, o que é frustrante
Chego a pensar que seria melhor usar um acionador remoto para girar o botão manualmente
Já usaram o Home Assistant para gravar e reproduzir sinais no controle de ventiladores de teto e aparelhos infravermelhos
A maioria das caldeiras só precisa de três sinais simples: ventilação, aquecimento e refrigeração
Há dispositivos que apertam botões ou giram hastes de persianas, o que pode ser adaptado para girar um botão
Ligar em paralelo a linha de controle do solenóide de 24V com um ESP32 pode resolver
Brincam que os convidados do Frank só precisam de uma chave padrão Doorking 16120
Em seguida, compartilham uma história da época da faculdade, quando resolveram um problema de acesso no clube de eletrônica
Com um Raspberry Pi + relé, ligaram em paralelo ao circuito do botão de entrada para que a porta abrisse via SSH pelo Wi‑Fi
No fim, nunca foram pegos, e a reforma do prédio ainda apagou as evidências
Mencionam a possibilidade de falha do relé
Se a corrente nominal for excedida, o relé pode travar colado
Em vez de um DPDT, foram usados dois SPDT em paralelo, o que cria o risco de a porta ficar travada se apenas um funcionar
Também não há fusível nem snubber
Em contrapartida, recomendam a linha Relay In A Box — certificada por UL e CE, vida útil de 10 milhões de ciclos e capaz de passar em inspeções de código
Datasheet / Página do produto
Eu também construí algo parecido por conta própria
Link do projeto
Comprei um BTicino BT 344232 no eBay por 32 euros, soldei quatro fios e adicionei um microcontrolador
Agora ele funciona como um interfone inteligente integrado a Nuki Opener + MQTT Pub/Sub