Skip to Content
ArquitecturaEdge Devices & Agent

Dispositivos Edge y Agente

Los dispositivos edge son los nodos de ejecución principales en IronFlock. Cada dispositivo es una máquina compatible con Linux — un PC industrial, Raspberry Pi, NVIDIA Jetson, gateway, o cualquier hardware con kernel Linux — que ejecuta el agente IronFlock y una o más aplicaciones containerizadas con Docker.

El Agente IronFlock

El agente es un binario ligero escrito en Go que se ejecuta en el dispositivo y se encarga de:

  • Gestión de contenedores — Inicia, detiene y monitoriza contenedores Docker para todas las apps instaladas
  • Conectividad WAMP — Mantiene una conexión WebSocket persistente y cifrada con el broker de mensajes central
  • Actualizaciones OTA — Recibe y aplica actualizaciones para el propio agente, el sistema operativo host y las aplicaciones instaladas
  • Tunneling — Proporciona acceso remoto seguro a los servicios del dispositivo (HTTP, SSH, VNC, TCP, UDP) a través de túneles de proxy inverso — sin necesidad de puertos abiertos
  • Gestión de red — Configura conexiones Wi-Fi, LAN y LTE en el dispositivo

El agente es el único componente de IronFlock que se ejecuta directamente en el sistema operativo host. Todo lo demás se ejecuta dentro de contenedores Docker.

Operación autónoma

Los dispositivos edge están diseñados para operar independientemente de los servicios centrales. Si la conexión de red se cae:

  • Las apps continúan ejecutándose — Todas las aplicaciones containerizadas siguen operando normalmente
  • Las apps pueden almacenar datos en búfer — La telemetría se encola localmente y se envía a FleetDB cuando se restablece la conectividad

Esta autonomía es una decisión de diseño fundamental. En entornos industriales, la fiabilidad de la red no puede garantizarse, y las aplicaciones edge no deben depender de una conexión cloud para su operación principal.

Qué se ejecuta en el dispositivo

┌─────────────────────────────────────────┐ │ Linux Host OS │ │ │ │ ┌─────────────────────────────────┐ │ │ │ IronFlock Agent │ │ │ │ (conectividad, OTA, túneles) │ │ │ └────────────┬────────────────────┘ │ │ │ │ │ ┌────────────┴────────────────────┐ │ │ │ Docker Runtime │ │ │ │ │ │ │ │ ┌─────────┐ ┌─────────┐ │ │ │ │ │ App A │ │ App B │ ... │ │ │ │ │ (OPC UA │ │ (Lógica │ │ │ │ │ │ reader) │ │ propia) │ │ │ │ │ └─────────┘ └─────────┘ │ │ │ └─────────────────────────────────┘ │ └─────────────────────────────────────────┘ │ (solo WSS saliente) WAMP Message Broker

Cada app se ejecuta en su propio contenedor con sus propias dependencias. Las apps pueden escribirse en cualquier lenguaje de programación — Python, Go, Rust, Node.js, C++, o cualquier cosa que funcione en un contenedor Docker.

Hardware soportado

IronFlock soporta cualquier dispositivo Linux con soporte Docker:

PlataformaArquitecturaEjemplos
PCs industrialesx86_64Beckhoff, Advantech, Kontron, Dell Edge
Ordenadores de placa únicaARM64, ARMv7Raspberry Pi 4/5, BeagleBone
Aceleradores IAARM64NVIDIA Jetson Nano, Orin, Xavier
GatewaysARM64, x86_64Teltonika, Moxa, Advantech
Hardware personalizadoARM (v5, v6, v7), ARM64, x86_64Cualquier dispositivo Linux con Docker

Aprovisionamiento de dispositivos

Los dispositivos pueden añadirse a IronFlock de varias formas:

  1. Flashear con FlockFlasher — Use la aplicación de escritorio FlockFlasher para escribir IronFlock OS en el almacenamiento del dispositivo. El dispositivo arranca con el agente preconfigurado y se conecta automáticamente.
  2. Instalar el agente — En un sistema Linux existente, instale el binario del agente y proporcione un archivo de configuración (archivo .flock) con las credenciales del dispositivo.
  3. Pre-registro OEM — Registre los números de serie de los dispositivos con antelación. Cuando el dispositivo se enciende y se conecta, se asigna automáticamente al proyecto correcto.

Modelo de comunicación

Por defecto, los dispositivos edge solo realizan conexiones salientes. El agente se conecta al broker de mensajes WAMP a través de un WebSocket cifrado (WSS) y no necesita escuchar en ningún puerto. Esto significa:

  • No se requieren reglas de firewall entrantes en el dispositivo o su red por defecto
  • El dispositivo no es descubrible ni direccionable desde internet
  • El acceso remoto se proporciona a través de túneles inversos — iniciados por el dispositivo, no por el operador

Sin embargo, los puertos del dispositivo pueden abrirse selectivamente cuando sea necesario — por ejemplo para exponer un HMI local, API REST, u otro servicio ejecutándose en el dispositivo. El acceso a puertos se configura y gestiona a través de la UI de IronFlock.

Consulte Seguridad para la arquitectura de seguridad completa.

Last updated on