Arquitectura Tecnica
Componentes del Gemelo Digital
SIM

Simulador Fisico

Python 3.11 NumPy asyncio
  • Modelo colector solar (Hottel-Whillier-Bliss)
  • Deposito estratificado N-nodos
  • Calderas condensacion modulantes
  • Intercambiador NTU-effectiveness
  • Modelo termico edificio multizona
  • Perfil demanda ACS realista
MOD

Emulador Modbus

pymodbus 3.5 TCP/IP
  • Servidor Modbus TCP puerto 5020
  • Emulacion registros Solvis
  • Holding Registers (40001-40100)
  • Input Registers (30001-30100)
  • Coils y Discrete Inputs
  • Actualizacion tiempo real
API

API Gateway

FastAPI Uvicorn Pydantic
  • REST API compatible Niagara N4
  • WebSocket streaming tiempo real
  • JWT Authentication (OAuth2)
  • Endpoints: /points, /history, /alarms
  • Documentacion OpenAPI/Swagger
  • Metricas Prometheus
DB

Base de Datos

TimescaleDB Redis
  • TimescaleDB: Series temporales
  • Hypertables con compresion
  • Retencion automatica 90 dias
  • Redis: Cache tiempo real
  • Pub/Sub para WebSocket
  • Estado actual del sistema
UI

Frontend

HTML5 CSS3 JavaScript
  • Sinoptico SVG interactivo
  • Diagrama P&ID animado
  • WebSocket streaming
  • Responsive design
  • Multiples vistas y secciones
  • Control de escenarios
INF

Infraestructura

Docker Nginx SSL
  • Docker Compose orquestacion
  • 7 contenedores independientes
  • Nginx reverse proxy
  • SSL/TLS Let's Encrypt
  • Health checks automaticos
  • Grafana dashboards
Simulador Python Modbus TCP Puerto 5020 Redis Cache + Pub/Sub API Gateway FastAPI Nginx Reverse Proxy Frontend HTML/CSS/JS TimescaleDB Grafana
SIM

gemelo-simulador

Python 3.11
EstadoHealthy
MOD

gemelo-modbus

Puerto 5020
EstadoHealthy
API

gemelo-api

Puerto 8085
EstadoHealthy
RED

gemelo-redis

Puerto 6379
EstadoHealthy
DB

gemelo-timescaledb

Puerto 5432
EstadoHealthy
UI

gemelo-frontend

Puerto 3015
EstadoRunning
GR

gemelo-grafana

Puerto 3011
EstadoRunning