UD03T03_DashboardIoT
01_Enunciado_Principal
Β
π ENUNCIADO GUIADO: DASHBOARD IoT - MONITOR DE SENSORES EN TIEMPO REAL
1. INTRODUCCIΓN Y CONTEXTO
π DescripciΓ³n del Proyecto
DesarrollarΓ‘s unΒ Dashboard IoT (Internet of Things)Β completo utilizandoΒ JavaFXΒ que simule el monitoreo en tiempo real de un sensor ambiental multiparamΓ©trico. La aplicaciΓ³n mostrarΓ‘ de forma grΓ‘fica y numΓ©rica tres magnitudes fΓsicas fundamentales:
- π‘οΈΒ TemperaturaΒ (Β°C) - Rango: 10-40Β°C, Alerta: >35Β°C
- π§Β Humedad relativaΒ (%) - Rango: 20-90%, Alerta: >80%
- πΒ PresiΓ³n atmosfΓ©ricaΒ (hPa) - Rango: 980-1040 hPa, Alerta: >1035 hPa
π― Funcionalidades Principales
El dashboard implementarΓ‘:
- β Β ActualizaciΓ³n automΓ‘ticaΒ cada 0.5 segundos mediante Timeline
- β Β GrΓ‘fico de lΓneas interactivoΒ con ventana deslizante temporal (30s)
- β Β Sistema de alertasΒ por umbrales configurables
- β Β Filtros dinΓ‘micosΒ para visualizar series especΓficas
- β Β DiseΓ±o profesionalΒ tipo tarjetas (card-based UI) con CSS moderno
- β Β GestiΓ³n de memoriaΒ limitando puntos histΓ³ricos (max 200 por serie)


2. DIAGRAMA DE FLUJO GENERAL DEL SISTEMA
ββββββββββββββββββββββββββββββββ
β initialize() - Controller β
β ββββββββββββββββββββββββββββ β
β β1. cargarInformacionSensorβ β
β β2. configurarEstadoInicialβ β
β β3. iniciarTimeline() β β
β ββββββββββββββββββββββββββββ β
ββββββββββββ¬ββββββββββββββββββββ
β
ββββββββββββ΄βββββββββββββββββββ
β β
β β
ββββββββββββββββββββββββββββββ ββββββββββββββββββββββ
β Timeline activo β β Escuchar eventos β
β cicloPrincipal() cada 0.5s β β usuario (UI) β
ββββββββ¬ββββββββββββββββββββββ ββββββββββ¬ββββββββββββ
β β
β ββββββββββββββββββββββββββββββββ
β β
β β
βββββββββββββββββββββββββββββββββββββββββββββ
β CICLO PRINCIPAL (cada 0.5s) β
β ββββββββββββββββββββββββββββββββββββββββββββ£
β 1. modelo.generarLectura() β
β 2. actualizarValoresMostrados() β
β 3. modelo.agregarPuntosASeries() β
β 4. actualizarEjeX() β
β 5. actualizarAvisos() β
βββββββββββββββββββββββββββββββββββββββββββββ
β
β
βββββββββββββββ
β ΒΏUsuario β NO
β cierra app? ββββββββββ
ββββββββ¬βββββββ β
β SΓ β
β β
βββββββββββββββββββ β
β DiΓ‘logo β β
β confirmaciΓ³n β β
ββββββββ¬βββββββββββ β
β β
β β
βββββββββββββββββββ β
β timeline.stop() β β
β Platform.exit() β β
ββββββββ¬βββββββββββ β
β β
β β
βββββββββββββββ β
β FIN APP β β
βββββββββββββββ β
β
β β β β β β β ββ
(Continuar ciclo)
3. ESTRUCTURA DE ARCHIVOS
π OrganizaciΓ³n Completa del Proyecto
π¦ UD03T03_DashboardIoT/
β
β π src/
β π dam/
β
β£ π UD03T03_DashboardIoT.java
β ββ Clase principal (extends Application)
β
β£ π modelo/
β β π IotModel.java
β ββ LΓ³gica de negocio
β β’ GeneraciΓ³n de lecturas simuladas
β β’ GestiΓ³n de series XYChart
β β’ ValidaciΓ³n de umbrales
β β’ CΓ‘lculo de lΓmites de ejes
β β’ Formateo de datos
β
β£ π controller/
β β π DashboardController.java
β ββ Controlador MVC
β β’ @FXML componentes UI
β β’ initialize()
β β’ GestiΓ³n de Timeline
β β’ Manejadores de eventos
β β’ ActualizaciΓ³n de vista
β
β π vista/
β£ π Dashboard.fxml
β ββ Interfaz grΓ‘fica (XML)
β
β π dashboard.css
ββ Estilos visuales
4.Β π₯οΈ ELEMENTOS DEL DASHBOARD (Vista)
La interfaz grΓ‘fica debe mostrarΒ cinco zonas claramente diferenciadas:
-
Card de informaciΓ³n del sensor
- Nombre del sensor
- Modelo
- UbicaciΓ³n
- Fecha y hora de la ΓΊltima mediciΓ³n
-
Card de valores actuales
- Temperatura actual
- Humedad actual
- PresiΓ³n actual
-
Zona de filtros
- CheckBox para Temperatura
- CheckBox para Humedad
- CheckBox para PresiΓ³n
El grΓ‘fico mostrarΓ‘ ΓΊnicamente las magnitudes seleccionadas.
-
GrΓ‘fico
- Tipo LineChart
- Eje X: tiempo (simulado)
- Eje Y: valor medido
-
Card de avisos
- Muestra mensajes cuando algΓΊn valor supera un mΓ‘ximo establecido