Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

doorlink

Doorlink es un timbre inteligente autoalojado basado en ESP32-S3 con PCB personalizado, Raspberry Pi como gateway y dashboard web. Funciona con Docker Compose, usa PostgreSQL para eventos, MinIO para almacenamiento y Next.js para la interfaz.

Ficha actualizada 24 sept 2026, 9:05 · upstream 24 sept 2026, 8:59 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es doorlink

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Doorlink es un sistema de timbre inteligente autoalojado construido alrededor de una placa ESP32-S3 personalizada y una Raspberry Pi que actúa como gateway. La arquitectura consta de tres componentes principales: el firmware del timbre (ESP-IDF), el gateway Spring Boot en la Raspberry Pi, y un dashboard web en Next.js.

El flujo operativo es: al pulsar el botón, la placa ESP32-S3 captura una imagen estática con sensor OV5640, envía el evento vía Wi-Fi al gateway, que almacena los medios en MinIO, actualiza la base de datos PostgreSQL y notifica mediante ntfy. El sistema soporta respuestas de voz almacenadas y webhooks a Home Assistant para activar campanas en altavoces inteligentes.

El proyecto está en estado de prototipo funcional (Rev C), con firmware que ha completado pruebas de despertar por botón, captura QXGA, subida Wi-Fi, visualización en dashboard y retorno a sueño profundo. El hardware incluye ICS-43434 micrófono, MAX98357A amplificador, MCP73871 cargador y TPS63802 regulador. Es el primer diseño PCB del autor y requiere soldadura manual de componentes SMD.

El proyecto está licenciado MIT para software y CERN-OHL-P-2.0 para diseños KiCad. No es un producto calificado para exterior, con vida de batería y consumo en caja cerrada sin medir.

CASOS DE USO
  • Timbre inteligente autoalojado que captura imágenes al pulsar el botón
  • Sistema de intercomunicación con respuestas de voz almacenadas por turnos
  • Integración con Home Assistant para activar campanas en altavoces inteligentes
  • Dashboard web para visualizar eventos y gestionar configuraciones del sistema
  • Almacenamiento local de imágenes y audio mediante MinIO sin dependencia de servicios cloud
PUNTOS DESTACADOS
  • Arquitectura modular con separación clara entre firmware (ESP-IDF), gateway (Spring Boot) y frontend (Next.js)
  • Soporte nativo para Docker Compose con stack aislado ejecutable vía ./scripts/run-dev.sh
  • Base de datos PostgreSQL persistente para eventos y almacenamiento MinIO para medios
  • Integración bidireccional con Home Assistant mediante webhooks configurables
  • Diseño PCB personalizado en KiCad Rev C con esquemático y archivos de fabricación disponibles
  • Firmware optimizado para bajo consumo con retorno a sueño profundo tras captura
PRECAUCIONES
  • Estado de prototipo funcional, no calificado como producto para instalación exterior
  • Vida de batería y consumo en caja cerrada sin mediciones oficiales
  • Requiere soldadura manual de componentes SMD incluyendo ESP32-S3 y micrófono ICS-43434
  • Primera iteración del diseño PCB con errores documentados en revisiones anteriores
  • Firmware finalizado necesita retesteo en hardware antes de producción
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Rev C Board Before ESP32 and Microphone SolderingRev C SchematicKiCad Rev C BoardBoard and Peripherals During Bench TestingRev C PCB Fitted in the Open EnclosureBoard, Battery, Button, and Speaker During Enclosure AssemblyAssembled Doorlink Prototype Mounted on a WallPCB Copper Layers (F.Cu and B.Cu)
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

Requisitos: Docker Compose, Java 21, Node.js/npm. Ejecutar ./scripts/run-dev.sh desde el root del repositorio. Gateway usa puerto 8081, dashboard localhost:3001. Configurar Wi-Fi y valores de gateway en main/config.h copiando config.example.h. Para Raspberry Pi consultar docs/pi-deployment.md. Credenciales en .env.dev son solo para desarrollo. Construcción de firmware requiere ESP-IDF.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsNode.js
SERVICIOS
PostgreSQLS3/MinIO
BASES DE DATOS
PostgreSQL
PUERTOS
3001543218839000900130008080
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.