- Ante la suspensión del servicio celular del sistema de intercomunicador Doorking existente, que dejó sin funcionamiento la apertura del portón, se realizó un hack de hardware para restaurar el control remoto
- Se usó una placa de relé Wi‑Fi ESP32 para controlar directamente la línea de control del solenoide, configurada como un cliente del protocolo Matter integrado con Apple Home
- Con firmware basado en Rust, se diseñó para abrir el portón solo por un tiempo determinado y volver a bloquearlo automáticamente, manteniendo la seguridad
- Para resolver el conflicto de memoria entre Wi‑Fi y Bluetooth, ambas pilas se hicieron funcionar de forma mutuamente excluyente, optimizando el sistema para usar solo Wi‑Fi después del aprovisionamiento
- Como resultado, se completó un caso de expansión IoT discreta que permite controlar el portón desde un smartphone sin dañar el sistema existente
Proyecto Caja de secretos: integrar el intercomunicador del edificio con Apple Home
- Proyecto iniciado cuando el intercomunicador del edificio de un amigo, un sistema Doorking 1834-080, dejó de poder abrir el portón porque el servicio celular fue suspendido por mala administración
- Cuando los visitantes ya no pudieron solicitar acceso por teléfono, se implementó mediante hack de hardware basado en ESP32 una forma de abrir el portón de manera remota desde Apple Home
Investigación inicial y primer intento
- La inspección en sitio mostró que la caja superior del intercomunicador no estaba cerrada con llave, así que fue posible revisar la estructura interna, y el router Wi‑Fi/celular tenía la contraseña predeterminada
- Se descargó el archivo de configuración del router y se encontró una vulnerabilidad que permitía restablecer la contraseña de root, pero se abandonó esa vía por la complejidad de tener que analizar el protocolo serial personalizado del sistema
- En un segundo intento, se quiso imitar señales DTMF usando el terminal de línea telefónica ('PH LINE'), pero se detuvo el experimento porque era muy probable que la caja de control ignorara los comandos cuando no estuviera en espera de recepción
Tercer enfoque: control en medio del circuito
- Al abrir la caja de conexiones (junction box) entre la caja de voz y el controlador principal, se vio que por allí pasaba la línea de control del solenoide que maneja la cerradura del portón
- El solenoide tenía una estructura simple: se abre cuando recibe energía y se bloquea cuando esta se corta, por lo que se planteó abrir el portón alimentándolo directamente
- Se tomó alimentación auxiliar de 12 V DC desde la caja de voz para operar una placa de relé Wi‑Fi ESP32, con la idea de integrarla con Apple Home
- Se derivó la línea de control del solenoide y se conectó al relé del ESP32
- Se escribió el firmware en Rust para que funcionara como cliente del protocolo Matter
- El circuito se diseñó para permitir control en paralelo sin afectar el funcionamiento normal del sistema existente
Configuración de software
- Se usó una biblioteca Matter basada en Rust para conectar el ESP32 con Apple Home
- Tras establecer la conexión de red, cuando recibe un comando abre el portón durante un tiempo definido (10 segundos por defecto) y luego lo vuelve a bloquear automáticamente
- Esto evita que el portón quede abierto durante demasiado tiempo y mantiene la seguridad
- Código publicado: GitHub - ImTheSquid/doorbell2
Problemas de memoria y solución
- Debido a la falta de RAM del ESP32, ejecutar al mismo tiempo las pilas de Wi‑Fi y Bluetooth provocaba resets por corrupción de memoria
- La implementación de Matter utilizada empleaba la pila Bluedroid, lo que agravaba el problema
- Como solución, se activaron Wi‑Fi y Bluetooth de forma mutuamente excluyente y se aplicaron opciones de ahorro de memoria en el archivo de configuración (
sdkconfig.defaults)
- Bluetooth se activa brevemente solo durante el aprovisionamiento y después el sistema usa únicamente Wi‑Fi, lo que estabilizó el funcionamiento
- En Apple Home, la cerradura del portón aparece correctamente, y hasta es posible definir libremente la información del fabricante
Instalación y resolución del problema de alimentación
- La placa ESP32 encajó perfectamente dentro de la caja de cableado y quedó invisible desde afuera
- Se conectó la alimentación desde la caja de voz, pero como no funcionó, se probó temporalmente con una batería de taladro inalámbrico de 20 V, y la prueba fue exitosa
- Más tarde, al revisar el manual, se descubrió que el terminal de 12 V de la caja de voz era de entrada
- Se añadió un regulador rectificador para convertir la entrada de 18 V AC a 12 V DC y así resolver el problema de alimentación
- Todos los componentes quedaron ordenados dentro de la caja de cableado y el proyecto quedó terminado
Resultado e importancia
- Ahora es posible controlar remotamente el portón desde un smartphone mediante Apple Home, y los visitantes también pueden abrir al mismo tiempo el portón y la puerta del departamento desde la app
- La instalación tiene una estructura discreta compuesta solo por una placa ESP32 y una pequeña fuente de alimentación, sin interferir con el sistema de acceso existente
- Con un simple hack de circuito e integración basada en estándares abiertos, se muestra un caso práctico de IoT que amplía las capacidades del hardware existente
- El proyecto también sirvió para ganar experiencia en hacking de circuitos y puede reproducirse con facilidad en entornos similares
1 comentarios
Comentarios en Hacker News
Señalan que es una acción muy ambigua en lo legal y ético
Entienden conectarse a la caja interna de un departamento, pero ven problemático conectarse al controlador de la puerta común y compartir acceso con amigos
El hecho de que haya intentado varias veces evitar ser descubierto sugiere que él mismo sabe que está mal
Este tipo de actos puede ampliar la superficie de ataque digital y dar oportunidades a delitos
Por eso podría tener que asumir al menos parte de la responsabilidad, incluso penal y civil
Aun así, si fuera su propiedad y todas las partes involucradas estuvieran de acuerdo, modificar el sistema conectando el cable del solenoide podría ser apropiado
Ven como algo menor alimentar el cable del solenoide expuesto al exterior, como hizo el OP
Yo también implementé una integración parecida con Apple HomeKit de forma simple
El interfón está conectado a un teléfono fijo dedicado dentro de casa, ese teléfono pasa automáticamente al buzón de voz, y ese mensaje reproduce el tono que abre la puerta
La energía se controla con un enchufe inteligente: si está encendido, se puede entrar de inmediato; si está apagado, queda bloqueado
Cuando el interfón llama a mi número VoIP, se le pide al visitante que ingrese un código; si es correcto, se envía DTMF 9 y se abre la puerta
También llegan alertas por email y SMS, y se pueden emitir varios códigos para saber quién entró
Así que probablemente lo configuraría para que el enchufe se apague automáticamente después de reproducir el mensaje de voz
Yo tuve el mismo problema y, después de buscar por más de un año, encontré a alguien en Rumania que fabrica y vende una placa de ingeniería inversa
Se puede instalar por menos de 30 euros, y es una solución tosca pero encantadora
Enlace
Iba a tomar energía de la línea de 24V, pero lo dejé porque podía considerarse “robo de electricidad”
Al final lo cambié por Nuki Opener, que es mucho más estable y cómodo para toda la familia
Los prototipos experimentales y precarios son divertidos, pero no son adecuados para uso real
Como referencia, el repositorio de código está en GitHub
Les sorprendió lo atrasado que está hoy el ecosistema de los interfones
Se preguntan por qué no existe aunque sea un producto medio inteligente que solo permita decir algo como “la cena está lista”
Los productos inalámbricos baratos y genéricos ni siquiera funcionan bien para comunicarse entre habitaciones, y al final la única salida es usar Asterisk y teléfonos VoIP baratos
Permite enviar y recibir audio o reproducirlo cuando uno quiera
Probaron varias combinaciones con Sonos, Wiim, Acrylic y otros, pero al final siguen usando Sonos, conformes con su calidad intermedia
En algunos interfones de Europa existe una solución llamada Doorman
Hicieron ingeniería inversa del protocolo Koch e implementaron una solución con ESP32 + Home Assistant, y la función de modo fiesta resultó útil para eventos
Sitio de Doorman / Guía de ring-to-open
Yo fui por algo más simple: le di al administrador del edificio un número de Twilio y configuré en la app respuestas por código
Los códigos válidos abren la puerta con DTMF “9”, y el “1” transfiere la llamada a mi celular
Pasé por una molestia parecida con el control de calefacción de una casa de campo
Un termostato de pared a batería controla la calefacción por suelo radiante mediante señal de radio, pero para controlarlo a distancia tendría que comprar equipo nuevo por más de 2 mil dólares
Debería bastar con imitar la señal existente, pero la tecnología es innecesariamente cerrada, lo cual resulta frustrante
Hasta dan ganas de poner un actuador remoto que simplemente gire la perilla
Hay quien ha usado Home Assistant para grabar y reproducir señales y así controlar ventiladores de techo o dispositivos infrarrojos
La mayoría de las calderas solo necesita tres señales simples: ventilación, calefacción y refrigeración
Tiene dispositivos que presionan botones o giran varillas de persianas, así que podría adaptarse para girar una perilla
Se podría resolver conectando en paralelo con un ESP32 la línea de control del solenoide de 24V
Bromean con que a los invitados de Frank les bastaría una llave maestra Doorking 16120
Luego comparten una anécdota de la universidad, cuando resolvieron un problema de acceso en un club de electrónica
Con una Raspberry Pi + relé conectaron en paralelo el circuito del botón de entrada, de modo que al hacer SSH por Wi‑Fi se abría la puerta
Al final nunca los descubrieron, y durante una remodelación del edificio también desapareció la evidencia
Mencionan la posibilidad de que falle el relé
Si se supera la corriente nominal, el relé puede quedarse pegado
En vez de un DPDT usaron dos SPDT en paralelo, así que si solo uno se activa existe el riesgo de que la puerta quede bloqueada
Tampoco hay fusible ni snubber
En cambio recomiendan la línea Relay In A Box: certificación UL y CE, vida útil de 10 millones de ciclos, y puede pasar inspecciones de código
Hoja de datos / Página del producto
Yo también hice algo parecido por mi cuenta
Enlace del proyecto
Compré un BTicino BT 344232 en eBay por 32 euros, soldé 4 cables y le añadí un microcontrolador
Ahora funciona como interfón inteligente integrado con Nuki Opener + MQTT Pub/Sub