Saltar a contenido

Orchestrator

El orchestrator es el proceso principal que corre en el Raspberry Pi y coordina la lectura de sensores, la publicacion MQTT y la ejecucion de modos de operacion. Es el cerebro del dispositivo IoT de Vertivo.

IndoorUrbanVerticalFarmingOrchestrator

La clase principal IndoorUrbanVerticalFarmingOrchestrator gestiona el ciclo de vida completo del dispositivo: inicializa los sensores, establece la conexion MQTT con EMQX y ejecuta el loop principal de lectura y publicacion.

class IndoorUrbanVerticalFarmingOrchestrator:
    """Orquestador principal para vertical farming indoor."""
    def __init__(self, config: OrchestratorConfig):
        # Inicializa sensores, MQTT y modos
        pass

    def run(self):
        # Loop principal
        pass

Modos de operacion

El orchestrator soporta diferentes modos de operacion que determinan que sensores se leen, con que frecuencia y que acciones se toman. Los modos pueden cambiarse dinamicamente via comandos MQTT desde el backend.

MonitorMQTTIntegration

MonitorMQTTIntegration es el componente que gestiona la conexion bidireccional con el broker EMQX. Publica las lecturas de sensores y escucha comandos de configuracion y control provenientes del backend Serverpod.

Threading

El orchestrator utiliza threading de Python para ejecutar las lecturas de sensores en paralelo sin bloquear el loop principal. Cada grupo de sensores (ambiental y solucion nutritiva) se lee en su propio thread con intervalos configurables.