Skip to Content
ArchitetturaDispositivi Edge & Agent

Dispositivi Edge & Agent

I dispositivi edge sono i nodi di esecuzione principali in IronFlock. Ogni dispositivo è una macchina compatibile con Linux — un PC industriale, Raspberry Pi, NVIDIA Jetson, gateway o qualsiasi hardware con un kernel Linux — che esegue l’agent IronFlock e una o più applicazioni containerizzate Docker.

L’Agent IronFlock

L’agent è un binario Go leggero che gira sul dispositivo e gestisce:

  • Gestione dei container — Avvia, ferma e monitora i container Docker per tutte le app installate
  • Connettività WAMP — Mantiene una connessione WebSocket persistente e cifrata al message broker centrale
  • Aggiornamenti OTA — Riceve e applica aggiornamenti per l’agent stesso, il sistema operativo host e le applicazioni installate
  • Tunneling — Fornisce accesso remoto sicuro ai servizi del dispositivo (HTTP, SSH, VNC, TCP, UDP) attraverso tunnel proxy inverso — senza porte aperte richieste
  • Gestione della rete — Configura le connessioni Wi-Fi, LAN e LTE sul dispositivo

L’agent è l’unico componente IronFlock che viene eseguito direttamente sul sistema operativo host. Tutto il resto viene eseguito all’interno di container Docker.

Funzionamento Autonomo

I dispositivi edge sono progettati per funzionare in modo indipendente dai servizi centrali. Se la connessione di rete cade:

  • Le app continuano a funzionare — Tutte le applicazioni containerizzate continuano a operare normalmente
  • Le app possono bufferizzare i dati — La telemetria viene messa in coda localmente e inoltrata a FleetDB quando la connettività viene ripristinata

Questa autonomia è una scelta di progettazione fondamentale. Negli ambienti industriali, l’affidabilità della rete non può essere garantita, e le applicazioni edge non devono dipendere da una connessione cloud per la loro operazione principale.

Cosa Gira sul Dispositivo

┌─────────────────────────────────────────┐ │ Linux Host OS │ │ │ │ ┌─────────────────────────────────┐ │ │ │ IronFlock Agent │ │ │ │ (connectivity, OTA, tunneling) │ │ │ └────────────┬────────────────────┘ │ │ │ │ │ ┌────────────┴────────────────────┐ │ │ │ Docker Runtime │ │ │ │ │ │ │ │ ┌─────────┐ ┌─────────┐ │ │ │ │ │ App A │ │ App B │ ... │ │ │ │ │ (OPC UA │ │ (Custom │ │ │ │ │ │ reader) │ │ logic) │ │ │ │ │ └─────────┘ └─────────┘ │ │ │ └─────────────────────────────────┘ │ └─────────────────────────────────────────┘ │ (outbound WSS only) WAMP Message Broker

Ogni app gira nel proprio container con le proprie dipendenze. Le app possono essere scritte in qualsiasi linguaggio di programmazione — Python, Go, Rust, Node.js, C++ o qualsiasi cosa possa essere eseguita in un container Docker.

Hardware Supportato

IronFlock supporta qualsiasi dispositivo compatibile con Linux con supporto Docker:

PiattaformaArchitetturaEsempi
PC industrialix86_64Beckhoff, Advantech, Kontron, Dell Edge
Single-board computerARM64, ARMv7Raspberry Pi 4/5, BeagleBone
Acceleratori AIARM64NVIDIA Jetson Nano, Orin, Xavier
GatewayARM64, x86_64Teltonika, Moxa, Advantech
Hardware personalizzatoARM (v5, v6, v7), ARM64, x86_64Qualsiasi dispositivo Linux con Docker

Provisioning dei Dispositivi

I dispositivi possono essere aggiunti a IronFlock in diversi modi:

  1. Flashing con FlockFlasher — Usa l’app desktop FlockFlasher per scrivere IronFlock OS nello storage del dispositivo. Il dispositivo si avvia con l’agent pre-configurato e si connette automaticamente.
  2. Installare l’agent — Su un sistema Linux esistente, installa il binario dell’agent e fornisci un file di configurazione (file .flock) con le credenziali del dispositivo.
  3. Pre-registrazione OEM — Registra i numeri seriali dei dispositivi in anticipo. Quando il dispositivo viene acceso e si connette, viene assegnato automaticamente al progetto corretto.

Modello di Comunicazione

Per impostazione predefinita, i dispositivi edge effettuano solo connessioni in uscita. L’agent si connette al message broker WAMP tramite un WebSocket cifrato (WSS) e non ha bisogno di ascoltare su alcuna porta. Ciò significa:

  • Non sono richieste regole firewall in entrata sul dispositivo o sulla sua rete per impostazione predefinita
  • Il dispositivo non è individuabile né indirizzabile da internet
  • L’accesso remoto è fornito tramite tunnel inversi — avviati dal dispositivo, non dall’operatore

Tuttavia, le porte del dispositivo possono essere aperte selettivamente quando necessario — ad esempio per esporre un HMI locale, una REST API o un altro servizio in esecuzione sul dispositivo. L’accesso alle porte è configurato e gestito tramite l’UI di IronFlock.

Consulta Sicurezza per l’architettura di sicurezza completa.

Last updated on