Da Edge a Fog e a Cloud – IoT Computing con SMARC

L'Internet of Things Industriale (IIoT) è uno degli spazi applicativi più difficili da progettare, poiché vi sono pressioni sullo sviluppatore da parte dei clienti, dell'amministrazione e dal mercato su prezzi, prestazioni e funzionalità. Creare la prossima generazione di sistemi industriali intelligenti richiederà un elegante esercizio di giocoleria con tutti e tre. C'è una tendenza nell'IT a portare più funzionalità web fuori dalle centrali server e ad iniettarle nelle parti dell'infrastruttura e nei dispositivi che operano il più vicino possibile al livello dell'utente per ridurre le richieste di traffico di rete, tra le altre cose. La raccolta e l'archiviazione dei dati sono già ovunque, nelle nostre tasche e nelle nostre case con i personal computer, gli smartphone e gli assistenti domestici intelligenti. È anche il caso ora negli ambienti di produzione.

I livelli Cloud, Fog e Edge

Applicare la tecnologia IoT ai sistemi industriali ha molto senso, perché possiamo usare e gestire i dati coinvolti per migliorare il processo di produzione e i fattori di performance come la qualità e il costo. Ad esempio, in un impianto chimico i dati di processo sono probabilmente già monitorati e alcuni fattori, come i valori di temperatura e pH delle reazioni chimiche, possono essere controllati. Perché non memorizzare tali dati per analizzarli in seguito? Un altro esempio lo abbiamo laddove le parti di un prodotto vengono montate o fissate insieme con viti, allora memorizzando i valori di coppia di ciascuna vite si può avere il controllo di qualità di tutti i dispositivi che vengono lì montati. Se scrutiamo attraverso il Cloud la figura 1 c'è lo mostra da una prospettiva strutturale. Nella parte inferiore ci sono i dispositivi sul piano produttivo della fabbrica che controllano direttamente il processo di produzione, che è l'area chiamata EDGE computing. Al livello superiore, ci sono i rack del server in loco, che gestiscono il flusso del processo, o controllano i dati e monitorano e gestiscono i dati memorizzati. Il livello in cima è il CLOUD, che rappresenta tutte le funzionalità off-premises. Il livello intermedio, che di solito esiste già in qualche modo nei sistemi legacy, acquisisce nuovi compiti, poiché deve connettersi a quel livello di funzionalità di livello superiore ed è ora chiamato FOG computing.

Figura 1: elaborazione ai livelli Cloud, Fog ed Edge.

Quindi il Cloud è tutto ciò che è fuori dal locale, Fog è il livello che monitora e controlla, e che prima era già presente in fabbrica nella stanza dei server. Il livello più basso, Edge Computing governa la produzione e il controllo dell'automazione di motori, sensori e attuatori. Questi tre livelli devono funzionare e lavorare insieme, specialmente in sicurezza, con nuovi compiti da svolgere e nuovi dispositivi che devono essere installati.

3 funzionalità chiave di TSN

Un altro sviluppo in arrivo è il TSN, Time Sensitive Networking. Avviato nel 2012 come un gruppo di lavoro IEEE 802.1, lo standard TSN ha definito una modalità di networking per garantire una bassissima latenza di trasmissione e un'elevata disponibilità di tutti i partecipanti. Originariamente destinato a definire una rete per lo streaming audio e video in tempo reale, questa funzionalità è perfetta per sincronizzare il controllo dei dispositivi nel reparto produzione.

Ci sono tre funzionalità chiave coinvolte. La prima è la sincronizzazione temporale, il che significa che tutti i dispositivi che partecipano alla comunicazione in tempo reale hanno una comprensione comune del tempo. Questo può anche essere fatto con un clock interno, ma può essere proibitivo dal punto di vista dei costi. L'utilizzo della sincronizzazione temporale IEEE 1588 elimina la necessità di clock aggiuntivi o di segnali aggiuntivi, poiché l'informazione temporale è distribuita su tutta la rete con questo protocollo.

La seconda funzionalità chiave è la pianificazione e l'organizzazione del traffico, in cui tutti i dispositivi aderiscono alle stesse regole nell'elaborazione e nell'inoltro dei pacchetti di comunicazione. Già un concetto noto del mercato delle telecomunicazioni, significa che esistono diverse sezioni per differenti classi di traffico, che consentono di assegnare ad un determinato pacchetto una classe diversa o una certa priorità. La terza è garantire che tutti i dispositivi rispettino le stesse regole nel riservare larghezze di banda e intervalli di tempo, possibilmente utilizzando più di un passaggio simultaneo per raggiungere la tolleranza ai guasti. Ciò significa che TSN è una rete che garantisce che tutti i partner parlino sullo stesso piano temporale, ed anche una elevata disponibilità e una bassa latenza di trasmissione.

La sicurezza è fondamentale

Per ogni dispositivo connesso ci sono tre regole base. La regola di sicurezza più basilare è che ogni accesso sia autenticato e autorizzato in modo che solo qualcuno a cui è permesso fare qualcosa possa avere accesso. La regola successiva è che tutte le comunicazioni dovrebbero essere crittografate. L'ultima regola, più una consapevolezza, è che tutto il software e il firmware possono essere aggiornati in qualche modo.

Ma voglio sottolinearlo un po' di più in un esempio che proviene dall'IoT industriale. L'esempio in Figura 2 mostra una semplice configurazione di un sensore, che è collegato tramite standard ISO MQTT, Message Queuing Telemetry Transport, un protocollo utilizzato molto spesso in IoT, situato sul livello applicazione, come HTTP, FTP o DNS in cima al livello TCP/IPN Ethernet. Si tratta di un semplice protocollo di sottoscrizione e pubblicazione che consente a un sensore di pubblicare i propri dati come argomento. Ad esempio, nella Figura 2 abbiamo l'argomento "Fabbrica 1, piano 1, robot 3, temperatura dell'olio", che viene regolarmente pubblicata da un sensore. Se un altro client sta operando come monitor di processo, può sottoscriversi a "Fabbrica 1, piano 1, robot 3, #" e ottenere tutti i dati. Quindi, è un modo molto semplice, ma efficace, per tracciare, controllare e coordinare i dati di processo.

Figura 2: una semplice configurazione sensore connessa per mezzo di standard ISO Message Queuing Telemetry Transport.

Ora, applichiamo la prima regola di sicurezza qui, per cui ogni accesso dovrebbe essere autenticato e autorizzato. Per l'autenticazione, abbiamo bisogno che tutti i partecipanti siano indirizzati, il che significa che ogni sensore, ogni client e ogni dispositivo hanno bisogno del proprio nome utente e password o del proprio file di chiave. L'autorizzazione per fare cosa? In questo esempio, il sensore in alto a sinistra può inviare solo l'argomento "Fabbrica 1, piano 1, robot 3, temperatura dell'olio". Essere in grado di distinguere ogni dettaglio su chi è autorizzato a fare qualcosa ha davvero senso, anche quando si è in una rete chiusa, in quanto vi sono intrusi che potrebbero ottenere l'accesso. Autenticazione e autorizzazione potrebbero non essere sufficienti, specialmente quando non c'è crittografia nella rete. Quando un client di rete non crittografato esegue il login, le credenziali vengono trasportate in testo normale, il che significa che chiunque all'interno della rete può individuarle facilmente. L'unica cosa di cui hai bisogno è un monitor di rete e l'accesso a quella rete. Possiamo evitarlo codificando tutto il trasporto all'interno della rete. MQTT è davvero semplice perché si può configurare in cima a qualsiasi livello di sicurezza in TCP/IP.

La terza regola è che il software e il firmware di ogni dispositivo possono essere aggiornati. Perché è necessario? Bene, torniamo indietro nel tempo, nel 2014, quando Heartbleed era un problema in OpenSSL, poichè permetteva di rivelare completamente a tutti i dati crittografati. In una scala da 0 a 10, ha ottenuto un 11. Ciò significa che tutta la crittografia fatta era stata fatta semplicemente invano. Poteva essere risolto solo aggiornando a una versione riparata del software. Un secondo bug è emerso nel 2014, chiamato Poodle. Non così problematico come Heartbleed, ma ancora piuttosto fastidioso, in quanto affliggeva anche i client attraverso un fallback da TLS a SSL3, che potendo essere forzato da un client, poteva semplicemente consentire un "attacco del tipo uomo nel mezzo". Anche qui, la correzione consisteva nell'aggiornare il software e non c'erano prove che non si verificasse più. Recentemente abbiamo visto i problemi Spectre/Meltdown, che non sono così critici, in quanto riguardano solo macchine in cui è già possibile eseguire codice estraneo.

La modalità di aggiornamento non importa fintanto sarà fatto, sia localmente che da remoto. Tutti i client, tutti i server, tutti i dispositivi che ospitano un qualche firmware, o un qualche software devono avere la possibilità di essere riparati in caso di problemi di sicurezza. Ad esempio, quando si parla di sicurezza, Kontron offre ai progettisti dei software di avvio sicuri e affidabili per abilitare una catena di fiducia per garantire che il BIOS in esecuzione nel sistema sia autenticato. È lo stesso a livello di sistema operativo, con sistemi operativi protetti e con un aggiuntivo livello sul lato dell'applicazione. Tutte le schede Kontron possono essere dotate di un chip di sicurezza Wibu Systems con relativo software per consentire la completa protezione IP per il software in esecuzione, in cui il codice dell'applicazione può essere crittografato e, pertanto, non essere decodificato. In pratica possiamo avere l'autorizzazione completa del software dal BIOS fino al livello dell'applicazione.

Figura 3: Per quanto riguarda la sicurezza, Kontron offre ai progettisti dei software di avvio sicuri e affidabili che abilitano una catena di fiducia.

Un altro caso d'uso riguarda diversi modelli di licenza. Il software può essere limitato dal runtime, dal numero di operazioni fetch di programma e da altri fattori, presentando casi aziendali completamente nuovi in ​​cui il software come servizio può essere portato al livello Edge.

SMARC

Quando si crea un dispositivo elettronico intelligente, è possibile utilizzare una soluzione pronta all'uso o una progettazione personalizzata completa o una soluzione intermedia, una soluzione modulare scalabile che può essere adattata all'applicazione. La soluzione pronta all'uso è qualcosa che installi ed è subito operativa, come una scheda madre o una scheda video. Se hai dei requisiti aggiuntivi, un design personalizzato completo è ciò che scegli quando hai a che fare con volumi molto alti. Una soluzione Computer-on-Module è qualcosa che si sceglie quando si dispone di un volume di medie dimensioni ed è un ottimo compromesso tra la soluzione pronta all'uso e la soluzione personalizzata completa.

Quando si tratta di una soluzione modulare avete ancora due scelte. Esistono computer e moduli proprietari di singoli venditori, oppure ci sono computer e moduli standardizzati disponibili da più fonti. Una soluzione standard offre una seconda fonte in modo da non fare affidamento su un solo fornitore, consentendo di scalare i dispositivi in ​​termini di prestazioni, potenza e prezzo.

Kontron offre SMARC, la piattaforma a bassa potenza con architettura embedded  per Computer-on-Modules, basata sulla tecnologia ARM e X86, per risolvere questo problema. SMARC offre una vasta gamma di comuni interfacce per computer e consente di implementare un'ampia gamma di funzionalità. Dal punto di vista grafico, ci sono LVDS, HDMI e DisplayPort ++ e un'interfaccia per fotocamera con MIPI-CSI, nonché le tipiche interfacce ad alta velocità come PCI Express, USB, SATA e GB LAN, e quindi tutte le interfacce di interconnessione più lente come audio, I2C, Serial e così via. Comparati ad altri fattori di forma come COM Express e Qseven, SMARC offre alcuni vantaggi rispetto a loro relativamente alle interfacce. SMARC offre 2 interfacce LAN da 1 GB, che lo rendono adatto per gateway di piccole dimensioni che devono rivolgersi a reti diverse. SMARC offre anche quattro COM seriali e due porte CAN, un'interfaccia ancora utilizzata nell'automazione industriale.

Il connettore SMARC MXM 3.0 è attualmente utilizzato nel mercato dei computer commerciali, quindi ci sono molti fornitori disponibili e si è dimostrato robusto e molto resistente agli urti e alle vibrazioni. Con 314 pin, offre più di COM Express Mini, che dispone di 220, e Qseven, che ha 230 pin, e la combinazione di carrier e moduli consentono un design piatto e sottile.

Quando si tratta di integrazione, Kontron offre una scheda di rete basata su PCI Express per portare qualsiasi sistema informatico direttamente in una rete TSN. SMARC-sXAL è un modulo basato su ATOM per ulteriori applicazioni orientate alle prestazioni. Al momento sono disponibili cinque diverse CPU, le schede AtomX5 e X7 serie 3E di livello industriale e i prodotti Celeron e Pentium di livello commerciale.

Essi possono connettere DDR3L da 1 fino a 8 GB, con supporto ECC, disponibile sulla serie E. La Flash va da 2 GB a 64 GB in eMMC 5.0 e la connessione grafica è pienamente supportata per LVDS, HDMI e DP ++, con supporto per display triplo in modo da poter collegare tre monitor. Quindi, quasi tutte le interfacce SMARC 2.0 qui sono supportate su quel modulo. I sistemi operativi supportati includono Windows 10, Yocto Linux e VxWorks.

Un buon esempio è SMARC-sAMX7, l'ultimo modulo SMARC ARM di Kontron basato su Cortex A7. È dotato di un processore i.MX7 singolo o doppio da NXP, con un processore Cortex M4 aggiuntivo integrato per applicazioni di controller di piccole dimensioni, in cui di solito viene utilizzato un microcontrollore aggiuntivo sul carrier.

Un altro esempio che dimostra che SMARC è una buona scelta per l'IoT industriale è la famiglia KBOX di Kontron. Esistono vari PC destinati all'IoT e diversi sono dotati di moduli SMARC. La serie C KBOX è più adatta alle alte prestazioni e offre COM Express, mentre le due serie A KBOX incorporano la funzionalità SMARC. Se hai bisogno di soluzioni basate su ARM, allora SMARC è la scelta migliore. Inoltre, l'altezza è migliore su SMARC, quindi puoi avere piattaforme a basso profilo, ed è meglio quando hai bisogno di una fotocamera, o quando hai bisogno di una seconda Ethernet, o quando hai bisogno di CAN.

Guardando avanti

Riassumendo, con SMARC puoi avere le migliori prestazioni per le tue applicazioni IoT nell'intervallo compreso tra ARM e Atom. È scalabile, consente un'elevata connettività con un'ampia varietà di interfacce e, con Kontron APPROTECT, disponi di un livello di sicurezza per garantire che i tuoi progetti siano sicuri quanto funzionali. Implementato correttamente, questo set di soluzioni modulare e scalabile può migliorare notevolmente la progettazione del tuo sistema di automazione.

Figura 4: La famiglia KBOX di Kontron è una vera piattaforma per computer industriale, progettata per consentire una produttività prevedibile in qualsiasi ambiente connesso.

Cloud, Edge e Fog computing sono ovunque e tutti ne parlano. In ambito industriale, gli approcci server tradizionali non sono in grado di fornire la robustezza necessaria per operare in ambienti industriali difficili, mentre i sistemi modulari basati sui testati Computer-on-Modules SMARC possono fornire una soluzione efficiente.

Autore Martin Unverdorben, Product Manager SMARC di Kontron.

Scrivi un commento