Volver
15 de abr de 2026 · 9 min de lectura

esp-home: domótica sobre ESP32, fase a fase

Mi proyecto de fin de carrera: domótica sobre ESP32 construida fase a fase, de un access point aislado a MQTT + Home Assistant.

ESP32MQTTHome AssistantIoTC/C++
facumruiz/esp-home

esp-home es mi proyecto de fin de carrera de la Tecnicatura en Sistemas Embebidos e IoT. La idea era llevar una placa ESP32 desde un dispositivo aislado hasta un nodo integrado en una instalación domótica real — y hacerlo paso a paso, sin reescribir todo el firmware en cada avance.

El objetivo

Construir un sistema de domótica progresivo: cada fase debía funcionar por sí sola y, a la vez, ser la base de la siguiente. De esa forma el proyecto se podía mostrar, probar y documentar en cualquier punto del camino.

Fase a fase

Arranqué con un access point local y un webserver HTTP para encender un LED desde el navegador — cero dependencia de la red de casa. Después levanté Home Assistant en Docker como cerebro central. Por último migré la comunicación a MQTT, con fallback automático entre AP y STA para que el dispositivo nunca quede inalcanzable.

La decisión técnica

MQTT en lugar de HTTP-polling: el ESP32 publica su estado y se suscribe a comandos por tópico. Mensajes chicos, reconexión barata y Home Assistant descubre el dispositivo casi solo.

// el ESP32 escucha comandos y publica estado
esp_mqtt_client_subscribe(client, "home/led/set", 1);

void on_message(const char *topic, const char *payload) {
  if (!strcmp(topic, "home/led/set"))
    gpio_set_level(LED_GPIO, atoi(payload));
}

Módulos

Sobre esa base sumé una tira WS2812B controlable por MQTT y webserver local, y un sensor de luz LM393 que habilita un modo automático: las luces responden a la luz ambiente sin intervención.

Resultado

Un sistema domótico funcionando de punta a punta — firmware en C/C++ con ESP-IDF, broker MQTT y Home Assistant — documentado fase por fase en el repositorio para poder reproducirlo o extenderlo. El video muestra el sistema en funcionamiento.

Stack
ESP-IDFC/C++MQTTHome AssistantDocker
Volver