Skip to Content
Desarrollo de apps IoTParámetros de la aplicación

Parámetros de la aplicación

Expone parámetros configurables a los usuarios sin necesidad de construir una interfaz web completa. Define un formulario usando env-template.yml e IronFlock lo renderiza automáticamente.

Cuándo usar parámetros

Usa parámetros para configuraciones simples que los usuarios necesiten ajustar por dispositivo o por grupo:

  • Intervalos de grabación de sensores
  • URLs de endpoints de datos
  • Umbrales de alerta
  • Activación/desactivación de funcionalidades
  • Claves API y credenciales

Para configuraciones más complejas (entrenamiento de robots, configuración de cámaras con IA, configuración de hardware), construye una interfaz de usuario edge personalizada en su lugar.

Definir parámetros

Crea un archivo env-template.yml en el directorio .ironflock/:

RECORDING_INTERVAL: label: "Recording Interval (seconds)" defaultValue: 5 type: numeric optional: true ALERT_THRESHOLD: label: "Temperature Alert Threshold (°C)" defaultValue: 80 type: numeric optional: true API_ENDPOINT: label: "Data API Endpoint" defaultValue: "https://api.example.com/data" type: text optional: true ENABLE_DEMO: label: "Enable Demo Data" defaultValue: true type: boolean optional: true DATA_FORMAT: label: "Output Format" defaultValue: "json" type: select options: - json - csv - xml optional: true SECRET_KEY: label: "API Secret Key" defaultValue: "" type: text secret: true optional: true

Tipos de parámetros

TipoSe renderiza comoEjemplo
textCampo de entrada de textoURLs, nombres, claves
numericCampo de entrada numéricaIntervalos, umbrales
booleanInterruptor de activaciónFlags de funcionalidades
selectMenú desplegableOpciones predefinidas

Cómo llegan los parámetros a tu aplicación

Los parámetros se inyectan como variables de entorno de Linux en tu contenedor:

import os interval = int(os.environ.get("RECORDING_INTERVAL", 5)) threshold = float(os.environ.get("ALERT_THRESHOLD", 80))

Parámetros grandes

Los parámetros que exceden los 20 KB no se establecen como variables de entorno debido a limitaciones del sistema. En su lugar, todos los parámetros (incluidos los grandes) siempre están disponibles como archivos:

/data/env/PARAMETER_NAME.txt

Modo de desarrollo

El defaultValue especificado en env-template.yml se usa cuando se ejecuta la aplicación en modo de desarrollo. Esto proporciona una experiencia de desarrollo consistente sin requerir configuración manual de parámetros.

Parametrización masiva

Cuando los parámetros se configuran a nivel de grupo de dispositivos, se aplican a todos los dispositivos del grupo simultáneamente. Esto es ideal para:

  • Establecer un bucket S3 común para todos los dispositivos de recopilación de datos
  • Actualizar parámetros de modelos de IA a nivel de proyecto
  • Cambiar configuraciones de sensores para toda una línea de producción

Los parámetros pueden configurarse incluso cuando los dispositivos están desconectados — se aplican cuando el dispositivo se reconecta.

Last updated on