Come usare un dispositivo Azure IoT Edge come gateway
Si applica a: IoT Edge 1.5 IoT Edge 1.4
Importante
IoT Edge 1.5 LTS e IoT Edge 1.4 LTS sono versioni supportate. IoT Edge 1.4 LTS raggiungerà il fine vita il 12 novembre 2024. Se si usa una versione precedente, vedere Aggiornare IoT Edge.
I dispositivi IoT Edge possono funzionare come gateway, fornendo una connessione tra altri dispositivi nella rete e hub IoT.
Il modulo dell'hub IoT Edge funziona come hub IoT, in modo da poter gestire le connessioni da altri dispositivi che hanno un'identità con lo stesso hub IoT. Questo tipo di modello di gateway viene chiamato trasparente perché i messaggi possono passare da dispositivi downstream a hub IoT come se non vi fosse un gateway tra di essi.
Per i dispositivi che non riescono o non possono connettersi a hub IoT autonomamente, i gateway IoT Edge possono fornire tale connessione. Questo tipo di modello di gateway è detto conversione perché il dispositivo IoT Edge deve eseguire l'elaborazione sui messaggi dei dispositivi downstream in ingresso prima che possano essere inoltrati a hub IoT. Questi scenari richiedono moduli aggiuntivi nel gateway IoT Edge per gestire i passaggi di elaborazione.
I modelli di gateway trasparente e di traduzione non si escludono a vicenda. Un singolo dispositivo IoT Edge può funzionare sia come gateway trasparente che come gateway di conversione.
Tutti i modelli di gateway offrono i vantaggi seguenti:
- Analisi nei dispositivi perimetrali : usare i servizi di intelligenza artificiale in locale per elaborare i dati provenienti da dispositivi downstream senza inviare dati di telemetria con fedeltà completa al cloud. Trovare e gestire le informazioni dettagliate in locale e inviare solo un subset di dati all'hub IoT.
- Isolamento del dispositivo downstream: il dispositivo gateway può proteggere tutti i dispositivi downstream dall'esposizione a Internet. Può restare tra una rete di tecnologia operativa (OT) che non dispone di connettività e una rete IT (Information Technology) che fornisce l'accesso al Web. Analogamente, i dispositivi che non hanno la possibilità di connettersi a hub IoT autonomamente possono connettersi a un dispositivo gateway.
- Multiplexing della connessione: tutti i dispositivi che si connettono a hub IoT tramite un gateway IoT Edge possono usare la stessa connessione sottostante. Questa funzionalità di multiplexing richiede che il gateway IoT Edge usi AMQP come protocollo upstream.
- Smorzamento del traffico: il dispositivo IoT Edge esegue automaticamente il backoff esponenziale se l'hub IoT limita il traffico, salvando al contempo i messaggi in locale. Questo vantaggio rende la soluzione resiliente ai picchi di traffico.
- Supporto offline: il dispositivo gateway archivia i messaggi e gli aggiornamenti dei dispositivi gemelli che non possono essere recapitati a hub IoT.
Gateway trasparenti
Nel modello di gateway trasparente, i dispositivi che teoricamente potrebbero connettersi a hub IoT possono connettersi a un dispositivo gateway. I dispositivi downstream hanno identità hub IoT proprie e si connettono usando i protocolli MQTT o AMQP. Il gateway passa semplicemente le comunicazioni tra i dispositivi e l'hub IoT. Sia i dispositivi che gli utenti che interagiscono con loro tramite hub IoT non sanno che un gateway media le comunicazioni. Questa mancanza di consapevolezza significa che il gateway è considerato trasparente.
Per altre informazioni su come l'hub IoT Edge gestisce la comunicazione tra i dispositivi downstream e il cloud, vedere Informazioni sul runtime di Azure IoT Edge e sulla relativa architettura.
A partire dalla versione 1.2 di IoT Edge, i gateway trasparenti possono gestire le connessioni dai dispositivi IoT Edge downstream.
Relazioni padre e figlio
Le relazioni tra gateway trasparenti vengono dichiarate in hub IoT impostando il gateway IoT Edge come padre di un figlio del dispositivo downstream a cui si connette.
Nota
Un dispositivo downstream genera dati direttamente in Internet o nei dispositivi gateway, abilitati o meno per IoT Edge. Un dispositivo figlio può essere un dispositivo downstream o un dispositivo gateway in una topologia annidata.
La relazione padre/figlio viene stabilita in tre punti nella configurazione del gateway:
Identità cloud
Tutti i dispositivi in uno scenario di gateway trasparente necessitano di identità cloud in modo che possano eseguire l'autenticazione per hub IoT. Quando si crea o si aggiorna un'identità del dispositivo, è possibile impostare i dispositivi padre o figlio del dispositivo. Questa configurazione autorizza il dispositivo gateway padre a gestire l'autenticazione per i dispositivi figlio.
Nota
L'impostazione del dispositivo padre in hub IoT usato per essere un passaggio facoltativo per i dispositivi downstream che usano l'autenticazione con chiave simmetrica. Tuttavia, a partire dalla versione 1.1.0 ogni dispositivo downstream deve essere assegnato a un dispositivo padre.
È possibile configurare l'hub IoT Edge per tornare al comportamento precedente impostando la variabile di ambiente AuthenticationMode sul valore CloudAndScope.
I dispositivi figlio possono avere un solo elemento padre. Per impostazione predefinita, un padre può avere fino a 100 elementi figlio. È possibile modificare questo limite impostando la variabile di ambiente MaxConnectedClients nel modulo edgeHub del dispositivo padre.
I disposizivi IoT Edge possono essere sia elementi padre che figlio nelle relazioni di gateway trasparenti. È possibile creare una gerarchia di più dispositivi IoT Edge che comunicano tra loro. Il nodo principale di una gerarchia gateway può avere fino a cinque generazioni di elementi figlio. Ad esempio, un dispositivo IoT Edge può avere sotto di esso cinque livelli di dispositivi IoT Edge collegati come elementi figlio. Tuttavia, il dispositivo IoT Edge nella quinta generazione non può avere elementi figlio, IoT Edge o altro.
Individuazione gateway
Un dispositivo figlio deve essere in grado di trovare il dispositivo padre nella rete locale. Configurare i dispositivi gateway con un nome host, un nome di dominio completo (FQDN) o un indirizzo IP, usati dai dispositivi figlio per individuarlo.
Nei dispositivi IoT downstream usare il parametro gatewayHostname nella stringa di connessione per puntare al dispositivo padre.
Nei dispositivi IoT Edge downstream usare il parametro parent_hostname nel file di configurazione per puntare al dispositivo padre.
Connessione sicura
I dispositivi padre e figlio devono anche autenticare le connessioni tra loro. Ogni dispositivo necessita di una copia di un certificato CA radice condiviso usato dai dispositivi figlio per verificare che si connetta al gateway appropriato.
Quando più gateway IoT Edge si connettono tra loro in una gerarchia di gateway, tutti i dispositivi nella gerarchia devono usare una singola catena di certificati.
Funzionalità dei dispositivi dietro gateway trasparenti
Tutte le primitive hub IoT che funzionano con la pipeline di messaggistica di IoT Edge supportano anche scenari di gateway trasparenti. Ogni gateway IoT Edge ha funzionalità di archiviazione e inoltro per i messaggi provenienti da esso.
Usare la tabella seguente per vedere come sono supportate funzionalità di hub IoT diverse per i dispositivi rispetto ai dispositivi dietro i gateway.
Funzionalità | Dispositivo IoT | IoT dietro un gateway | Dispositivo IoT Edge | IoT Edge dietro un gateway |
---|---|---|---|---|
Messaggi da dispositivo a cloud (D2C) | ||||
Messaggi da cloud a dispositivo (C2D) | ||||
Metodi diretti | ||||
Dispositivi gemelli e moduli gemelli | ||||
Caricamento file | ||||
Pull dell'immagine del contenitore | ||||
Caricamento BLOB |
Le immagini del contenitore possono essere scaricate, archiviate e distribuite dai dispositivi padre ai dispositivi figlio.
I BLOB, inclusi i bundle di supporto e i log, possono essere caricati dai dispositivi figlio nei dispositivi padre.
Gateway di traduzione
Se i dispositivi downstream non possono connettersi a hub IoT, il gateway IoT Edge deve fungere da traduttore. Spesso, questo modello è necessario per i dispositivi che non supportano MQTT, AMQP o HTTP. Poiché questi dispositivi non possono connettersi a hub IoT, non possono connettersi anche al modulo dell'hub IoT Edge senza una pre-elaborazione.
I moduli personalizzati o di terze parti spesso specifici dell'hardware o del protocollo del dispositivo downstream devono essere distribuiti nel gateway IoT Edge. Questi moduli di traduzione accettano i messaggi in arrivo e li trasformano in un formato comprensibile da hub IoT.
Esistono due modelli per i gateway di traduzione: conversione del protocollo e traduzione delle identità.
Conversione di protocollo
Nel modello gateway di conversione del protocollo, solo il gateway IoT Edge ha un'identità con hub IoT. Il modulo di traduzione riceve i messaggi dai dispositivi downstream, li converte in un protocollo supportato e quindi il dispositivo IoT Edge invia i messaggi per conto dei dispositivi downstream. Tutte le informazioni sembrano provenire da un unico dispositivo, il gateway. I dispositivi downstream devono incorporare informazioni di identificazione aggiuntive nei messaggi se le applicazioni cloud vogliono analizzare i dati in base ai singoli dispositivi. Inoltre, hub IoT primitive come gemelli e metodi diretti sono supportate solo per il dispositivo gateway, non per i dispositivi downstream. I gateway in questo modello sono considerati opachi a differenza dei gateway trasparenti, perché oscurano le identità dei dispositivi downstream.
La conversione del protocollo supporta i dispositivi vincolati alle risorse. Molti dispositivi esistenti generano dati che consentono di ottenere una visione più approfondita dei dati aziendali, ma non sono stati progettati tenendo presente la connettività cloud. I gateway opachi consentono di sbloccare e usare in una soluzione IoT questi dati.
Conversione di identità
Il modello di gateway di traduzione delle identità si basa sulla conversione del protocollo, ma il gateway IoT Edge fornisce anche un'identità del dispositivo hub IoT per conto dei dispositivi downstream. Il modulo di traduzione è responsabile della comprensione del protocollo usato dai dispositivi downstream, della loro identità e della conversione dei messaggi in primitive hub IoT. I dispositivi downstream vengono visualizzati nell'hub IoT come dispositivi di prima classe con gemelli e metodi. Un utente può interagire con i dispositivi nell'hub IoT senza essere a conoscenza del dispositivo gateway intermedio.
La traduzione delle identità offre i vantaggi della traduzione dei protocolli e consente inoltre la gestibilità completa dei dispositivi downstream dal cloud. Tutti i dispositivi della soluzione IoT appaiono nell'hub IoT indipendentemente dal protocollo usato.
Funzionalità del dispositivo dietro i gateway di traduzione
La tabella seguente illustra come le funzionalità di hub IoT vengono estese ai dispositivi downstream in entrambi i modelli di gateway di conversione.
Funzionalità | Conversione di protocollo | Conversione di identità |
---|---|---|
Identità archiviate nel registro delle identità dell'hub IoT | Solo l'identità del dispositivo gateway | Identità di tutti i dispositivi connessi |
Dispositivo gemello | Solo il gateway ha dispositivi e moduli gemelli | Ogni dispositivo connesso ha il proprio dispositivo gemello |
Metodi diretti e messaggi da cloud a dispositivo | Il cloud può indirizzare solo il dispositivo gateway | Il cloud può indirizzare ogni singolo dispositivo connesso |
Quote e limitazioni dell'hub IoT | Si applicano al dispositivo gateway | Si applicano a ogni dispositivo |
Quando si usa il modello di conversione del protocollo, tutti i dispositivi che si connettono tramite tale gateway condividono la stessa coda da cloud a dispositivo, che può contenere al massimo 50 messaggi. Usare questo modello solo quando pochi dispositivi si connettono tramite ogni gateway sul campo e il traffico da cloud a dispositivo è basso.
Il runtime di IoT Edge non include funzionalità di conversione di protocolli o identità. Questi modelli richiedono moduli personalizzati o di terze parti spesso specifici per l'hardware e il protocollo usati. Azure Marketplace contiene diversi moduli di conversione dei protocolli tra cui scegliere. Per un esempio che usa il modello di traduzione delle identità, vedere Azure IoT Edge LoRaWAN Starter Kit.
Passaggi successivi
Informazioni sui tre passaggi per configurare un gateway trasparente: