Un gemelo digital de edificios conecta el modelo de diseño estático de una instalación, normalmente un archivo BIM, con datos en vivo de HVAC, sensores de ocupación y contadores de energía. Esta guía muestra a los equipos de gestión de instalaciones cómo vincular ambos, cómo estructurar los datos del edificio en un broker MQTT y cómo desplegar un gemelo que cambie de verdad la forma de operar el edificio.
Por qué los equipos de instalaciones construyen un gemelo digital de edificios
La gestión de instalaciones siempre ha tenido un problema de datos. El sistema de automatización del edificio (BAS) conoce las temperaturas del aire de impulsión, el control de accesos conoce los fichajes con tarjeta, los contadores conocen el consumo y el modelo BIM sabe dónde está físicamente cada cosa. Rara vez se comunican entre sí. Cuando un inquilino se queja de que la sala de reuniones 3.14 está demasiado caliente, alguien abre tres sistemas y un plano en PDF para investigar.
Un gemelo digital de edificios reúne estas vistas en un único modelo espacial. Haz clic en la sala 3.14 y verás su temperatura, la consigna, la caja VAV que la atiende, la unidad de tratamiento de aire aguas arriba, la ocupación actual y cuánta energía ha consumido la zona hoy. El gemelo no sustituye al BAS; se sitúa por encima y hace que los datos sean útiles para todos los equipos.
Los objetivos típicos son:
- Diagnóstico de averías más rápido al mostrar espacialmente las relaciones entre equipos
- Gestión del confort comparando las condiciones de cada sala con su ocupación
- Reducción de energía detectando zonas climatizadas mientras están vacías
- Planificación de espacios basada en el uso real y no en los datos de reservas
- Mejor traspaso de la construcción a la explotación, ya que el modelo BIM sigue siendo útil
Para los conceptos generales que hay detrás de todo esto, empieza por la guía de tecnología de gemelo digital.
BIM más datos en vivo: la idea central
Los modelos BIM (a menudo intercambiados como archivos IFC) contienen geometría y metadatos: espacios, muros, equipos y las relaciones entre ellos. Cada elemento tiene un GlobalId. El truco de un gemelo de edificio es una tabla de correspondencias que vincula cada elemento BIM con el flujo de datos en vivo que lo describe.
| Elemento BIM | GlobalId de ejemplo | Topic MQTT en vivo | Señales |
|---|---|---|---|
| Espacio: sala de reuniones 3.14 | 2O2Fr$t4X7Zf8NOew3FLOH | connectmq/hq/floor3/room314/env | temperatura, humedad, CO2 |
| Espacio: sala de reuniones 3.14 | 2O2Fr$t4X7Zf8NOew3FLOH | connectmq/hq/floor3/room314/occupancy | número de personas, presencia |
| Caja VAV VAV-3-07 | 1kTvXnbbzCWw8lcMd1dR4o | connectmq/hq/floor3/vav307/state | % de compuerta, caudal de aire, consigna |
| Unidad de tratamiento de aire AHU-2 | 0BTBFw6f90Nfh9rP1dlXr2 | connectmq/hq/plant/ahu2/telemetry | temperatura de impulsión, velocidad del ventilador, dP del filtro |
| Subcontador planta 3 | 3cUkl32yn9qRSPvBJVyWYp | connectmq/hq/floor3/meter/energy | kW, kWh |
Guarda esta tabla en una pequeña base de datos o en un archivo JSON versionado, no fija en el código del visor. Los edificios cambian: las salas se dividen, los sensores se mueven, los contadores se sustituyen. Cuando la correspondencia son datos, un técnico de instalaciones puede actualizarla sin publicar una nueva versión del código.
Llevar los datos del edificio a MQTT
La mayoría de los sistemas de edificios no hablan MQTT de forma nativa, así que el gemelo necesita una capa de gateways.
- Equipos BACnet y Modbus. Un gateway lee puntos del BAS (BACnet/IP) o de los contadores (Modbus TCP/RTU) y los publica como mensajes MQTT. Node-RED con nodos BACnet y Modbus es una opción habitual y de bajo coste; muchos gateways BAS comerciales también publican MQTT directamente.
- Sensores IoT inalámbricos. Los sensores de ocupación, CO2 y temperatura en LoRaWAN o Wi-Fi suelen llegar a MQTT a través de su servidor de red o directamente desde el dispositivo.
- Sistemas de control de accesos y reservas. Normalmente exponen una API. Un pequeño script consulta o recibe sus eventos y los republica en MQTT para que el gemelo tenga una única interfaz.
Una vez que todo llega a un broker, el gemelo solo necesita una integración: suscripciones MQTT. Esa es la principal ventaja arquitectónica. Un broker MQTT gestionado encaja bien en edificios porque los equipos de instalaciones rara vez quieren operar y parchear servidores de broker, y los gateways de distintos edificios pueden alcanzar todos un mismo endpoint TLS.
Diseño de topics para un gemelo digital de edificios
Refleja en el árbol de topics la jerarquía física de la cartera de inmuebles:
connectmq/<site>/<floor-or-plant>/<space-or-equipment>/<data-type>
connectmq/hq/floor3/room314/env
connectmq/hq/floor3/room314/occupancy
connectmq/hq/plant/ahu2/telemetry
connectmq/hq/plant/chiller1/state
Esta estructura te da suscripciones con comodines útiles sin esfuerzo. Una vista de planta se suscribe a connectmq/hq/floor3/#. Un panel de confort de toda la cartera se suscribe a connectmq/+/+/+/env. ConnectMQ muestra estos topics jerárquicos en su explorador de topics en vivo y en la vista de dispositivos ISA-95, lo que ayuda a comprobar si cada gateway publica donde espera la tabla de correspondencias. El artículo gemelo digital con MQTT cubre los patrones generales de topics y payloads.
Publica el estado que cambia lentamente, como consignas y modos de los equipos, como retained messages, para que un visor abierto a las 7 de la mañana muestre de inmediato el edificio completo en lugar de salas vacías.
Práctica: simula una sala y obsérvala en vivo
Prueba el patrón en el servidor MQTT público gratuito broker.connectmq.com, pensado para pruebas y prototipos. Usa solo valores simulados, porque cualquiera puede leer el servidor público. Este script de Node.js usa MQTT.js v5 para publicar datos ambientales y de ocupación de una sala:
const mqtt = require("mqtt");
const crypto = require("crypto");
const id = crypto.randomBytes(4).toString("hex");
const base = `connectmq/demo/${id}/hq/floor3/room314`;
const client = mqtt.connect("mqtts://broker.connectmq.com:8883", {
clientId: `room-sim-${id}`,
protocolVersion: 5,
});
let people = 0;
client.on("connect", () => {
console.log(`Connected. Publishing under ${base}`);
setInterval(() => {
people = Math.max(0, Math.min(10, people + Math.round(Math.random() * 4 - 2)));
const env = {
temperatureC: +(21 + people * 0.25 + Math.random() * 0.3).toFixed(2),
humidityPct: +(40 + Math.random() * 5).toFixed(1),
co2Ppm: Math.round(450 + people * 70 + Math.random() * 30),
ts: Date.now(),
};
client.publish(`${base}/env`, JSON.stringify(env), { qos: 0 });
client.publish(`${base}/occupancy`, JSON.stringify({ people, ts: Date.now() }), {
qos: 1,
retain: true,
});
}, 5000);
});
client.on("error", (err) => console.error("MQTT error:", err.message));
Suscríbete desde la línea de comandos usando el prefijo que imprime el script:
mosquitto_sub -h broker.connectmq.com -p 1883 -i bldg-viewer-7731 -t "connectmq/demo/1a2b3c4d/hq/#" -v
En un gemelo en el navegador, conéctate a wss://broker.connectmq.com:8084/mqtt, busca en tu tabla de correspondencias el GlobalId BIM de cada topic entrante y vuelve a colorear el espacio correspondiente según la temperatura o el CO2. Los visores IFC de código abierto basados en three.js lo ponen fácil; consulta la guía de gemelo digital 3D en la web para la parte del visor.
Lista de comprobación para el despliegue
- Elige una planta y un problema. Por ejemplo, las quejas de confort en la planta 3.
- Haz inventario de los puntos del BAS y de los contadores de esa planta y confirma que se pueden leer.
- Limpia el modelo BIM: espacios con nombres coherentes, equipos presentes y GlobalIds estables entre revisiones del modelo.
- Define la jerarquía de topics y la tabla de correspondencias antes de conectar gateways.
- Despliega gateways que publiquen sobre TLS (puerto 8883) con una credencial por gateway.
- Almacena el histórico con un suscriptor independiente que escriba en una base de datos de series temporales; el broker se encarga de la entrega en vivo.
- Define umbrales de alerta para los problemas evidentes. El portal de ConnectMQ admite reglas de alerta por umbral con un registro de alertas, útil para comprobaciones iniciales como un CO2 por encima de un límite.
- Revisa con el equipo de instalaciones al cabo de unas semanas y amplía a la siguiente planta.
Errores propios de los edificios
- Modelos BIM hechos para la construcción, no para la explotación. A menudo carecen de nombres de espacios que coincidan con la señalética o contienen cientos de elementos irrelevantes. Reserva tiempo para simplificarlos.
- Privacidad en los datos de ocupación. Publica recuentos, no identidades. Mantén cualquier dato personal fuera de los brokers públicos y, si no es necesario, fuera del gemelo por completo.
- Sondeo lento del BAS. Muchos gateways BACnet consultan cada minuto o más. Es suficiente para el confort, pero no prometas actualizaciones al segundo que no puedes cumplir.
- Confusión de unidades. Mezclar Fahrenheit y Celsius o W y kW entre fabricantes produce colores engañosos. Normaliza las unidades en el gateway e incluye las unidades en la documentación de los topics.
Encontrarás patrones industriales relacionados en los artículos sobre gemelo digital de HVAC y gemelo digital energético.
Ejecuta tu gemelo digital de edificios en ConnectMQ
ConnectMQ ofrece a tus gateways y visores del gemelo un único endpoint MQTT seguro con acceso por TCP, TLS y WebSocket. Crea un broker Serverless gratuito en app.connectmq.com, sin tarjeta de crédito, conecta el gateway de una planta y observa los datos en el explorador de topics en vivo antes de conectar tu visor BIM.
Preguntas frecuentes
¿Cuál es la diferencia entre BIM y un gemelo digital de edificios?
BIM es un modelo de información estático de la geometría y los componentes del edificio. Un gemelo digital de edificios añade datos operativos en vivo y los mantiene sincronizados, de modo que el modelo refleja las condiciones actuales.
¿Puede un gemelo digital de edificios funcionar con un BMS existente?
Sí. Un gateway lee puntos del BMS por BACnet o Modbus y los publica en MQTT. El gemelo lee del broker, así que el BMS sigue controlando el edificio sin cambios.
¿Con qué frecuencia deben actualizarse los datos del edificio en el gemelo?
Para confort y ocupación, suelen bastar actualizaciones cada 30 segundos a unos minutos. Las alarmas y los cambios de estado de los equipos deben publicarse en cuanto se producen.
¿Es MQTT lo bastante seguro para los datos de un edificio?
Sí, si usas TLS, credenciales únicas por gateway y un broker privado. Usa el servidor MQTT público gratuito solo para datos simulados.



