Simulador¶
Un gemelo digital de un invernadero. En lugar de generar lecturas aleatorias, este servicio simula un invernadero real con fisica, control automatico y averias inyectables, y produce trafico HTTP realista contra la API de ingesta. Es la fuente de datos con la que se prueba el pipeline completo de punta a punta, se entrena la capa de ML y se ejecutan los ejercicios de fiabilidad (game days) de operacion.
El modelo fisico es un invernadero de cuatro zonas con diez plantas cada una, y por zona un tanque de agua, una bomba, una electrovalvula y una luz. En total del orden de cien senales. Cada zona riega sus plantas desde su propio tanque y el riego lo gobierna un controlador automatico.
La decision de diseno mas bonita es el desacople entre el reloj y la fisica. El ciclo dia/noche avanza acelerado (por defecto ciento veinte veces mas rapido) para poder ver un dia entero en unos minutos, pero la fisica (evaporacion, vaciado de tanques, averias) usa el tiempo real transcurrido en cada paso. Si ambas cosas fueran a la misma velocidad, con el reloj acelerado cada paso evaporaria o vaciaria de golpe y todo se iria a cero. Separandolos, el ciclo diario se ve rapido y la fisica se mantiene estable.
El control es en lazo cerrado con histeresis. En cada zona, el controlador mide la humedad media del suelo y decide: si baja de un umbral y hay agua, riega; si sube por encima de otro umbral o el tanque se vacia, para; y en la banda intermedia mantiene el estado para evitar parpadeos. De ahi emerge un comportamiento realista: el suelo se seca, se riega, el suelo sube y el tanque baja, y los tanques se agotan poco a poco hasta que se recargan. No es ruido aleatorio, son ciclos con sentido fisico.
Las averias se inyectan a nivel de estado, no como un postproceso sobre los datos. Una fuga de tanque hace que el nivel caiga de forma anomala; un pico de calor sube la temperatura de una zona. Como perturban la fisica real, las anomalias que aparecen en los datos son autenticas, y son justo los patrones que sirven para entrenar y validar el detector de anomalias y para montar escenarios de averia controlada.
El gemelo tambien recupera su estado tras un reinicio: al arrancar descubre sus sensores y consulta las ultimas lecturas para retomar la simulacion con continuidad en lugar de empezar de cero.
