Condividi tramite


Informazioni sulle funzionalità per periodi offline prolungati per i dispositivi IoT Edge, i moduli e i dispositivi figlio

Si applica a:IoT Edge 1.5 segno di spunta IoT Edge 1.5

Importante

IoT Edge 1.5 LTS è la versione supportata. IoT Edge 1.4 LTS è di fine vita a partire dal 12 novembre 2024. Se si usa una versione precedente, vedere Aggiornare IoT Edge.

Azure IoT Edge consente ai dispositivi IoT Edge di funzionare offline per periodi estesi e consente anche ai dispositivi downstream di funzionare offline. Dopo che un dispositivo IoT Edge si connette all'hub IoT una sola volta, il dispositivo e qualsiasi dispositivo downstream possono continuare a lavorare con connessioni Internet intermittenti o senza connessione Internet.

Funzionamento

Quando un dispositivo IoT Edge passa alla modalità offline, l'hub di IoT Edge svolge tre ruoli:

  • Archivia tutti i messaggi che passano a monte e li salva fino alla riconnessione del dispositivo.
  • Agisce per conto dell'hub IoT per autenticare moduli e dispositivi downstream in modo che possano continuare a funzionare.
  • Abilita la comunicazione tra dispositivi downstream che normalmente passano attraverso l'hub IoT.

L'esempio seguente mostra il funzionamento di uno scenario IoT Edge in modalità offline:

  1. Configurare i dispositivi

    I dispositivi IoT Edge hanno funzionalità offline abilitate per impostazione predefinita. Per estendere questa funzionalità ad altri dispositivi, configurare i dispositivi a valle per affidarsi al dispositivo principale assegnato e instradare le comunicazioni da dispositivo a cloud tramite il dispositivo principale come gateway.

  2. Eseguire la sincronizzazione con l'hub IoT

    Dopo aver installato il runtime di IoT Edge, assicurarsi che il dispositivo IoT Edge sia online almeno una volta per la sincronizzazione con l'hub IoT. Durante questa sincronizzazione, il dispositivo IoT Edge ottiene i dettagli su tutti i dispositivi downstream assegnati. Il dispositivo IoT Edge aggiorna anche in modo sicuro la cache locale per abilitare le operazioni offline e ottiene le impostazioni per l'archiviazione locale dei messaggi di telemetria.

  3. Disconnettersi

    Durante la disconnessione dall'hub IoT, il dispositivo IoT Edge, i moduli distribuiti e tutti i dispositivi downstream possono continuare a funzionare a tempo indeterminato. I moduli e i dispositivi downstream possono essere avviati e riavviati eseguendo l'autenticazione con l'hub IoT Edge durante la modalità offline. I dati di telemetria del dispositivo associati all'hub IoT vengono archiviati in locale. La comunicazione tra moduli o tra dispositivi downstream viene mantenuta tramite metodi o messaggi diretti.

  4. Ristabilire la connessione e ripetere la sincronizzazione con l'hub IoT

    Quando viene ripristinata la connessione con l'hub IoT, il dispositivo IoT Edge viene sincronizzato di nuovo. I messaggi archiviati in locale vengono recapitati immediatamente all'hub IoT, ma il recapito dipende dalla velocità della connessione, dalla latenza dell'hub IoT e dai fattori correlati. I messaggi vengono recapitati nello stesso ordine in cui sono stati archiviati.

    Eventuali differenze tra le proprietà desiderate e quelle segnalate per i moduli e i dispositivi vengono riconciliate. Il dispositivo IoT Edge aggiorna le modifiche apportate al set di dispositivi downstream assegnati.

Restrizioni e limiti

I dispositivi IoT Edge e i dispositivi downstream assegnati possono funzionare offline a tempo indeterminato dopo la sincronizzazione iniziale una tantum. Tuttavia, l'archiviazione dei messaggi dipende dall'impostazione del time to live (TTL) e dallo spazio disponibile su disco.

EdgeAgent di un dispositivo aggiorna le proprietà segnalate ogni volta che lo stato della distribuzione cambia, ad esempio una distribuzione nuova o non riuscita. Quando un dispositivo è offline, EdgeAgent non può segnalare lo stato al portale di Azure. Di conseguenza, lo stato del dispositivo nel portale di Azure può rimanere 200 OK quando il dispositivo IoT Edge non ha connettività Internet.

Configurare i dispositivi padre e figlio

Per impostazione predefinita, un dispositivo padre può avere fino a 100 figli. Modificare questo limite impostando la variabile di ambiente MaxConnectedClients nel modulo edgeHub. Un dispositivo figlio ha un solo elemento padre.

Nota

Un dispositivo downstream invia i dati direttamente a Internet o ai dispositivi gateway (abilitati o meno per IoT Edge). Un dispositivo figlio può essere un dispositivo downstream o un dispositivo gateway in una topologia annidata.

Un dispositivo downstream può essere qualsiasi dispositivo, IoT Edge o non IoT Edge, registrato nello stesso hub IoT.

Per altre informazioni sulla creazione di una relazione padre-figlio tra un dispositivo IoT Edge e un dispositivo IoT, vedere Autenticare un dispositivo downstream per hub IoT di Azure. Le sezioni chiave simmetrica, X.509 autofirmato e X.509 con firma CA illustrano esempi di come usare le portale di Azure e l'interfaccia della riga di comando di Azure per definire le relazioni padre-figlio durante la creazione di dispositivi. Per i dispositivi esistenti, dichiarare la relazione dalla pagina dei dettagli del dispositivo nel portale di Azure del dispositivo padre o figlio.

Per altre informazioni sulla creazione di una relazione padre-figlio tra due dispositivi IoT Edge, vedere Connettere un dispositivo IoT Edge downstream a un gateway Azure IoT Edge.

Configurare il dispositivo padre come gateway

Si consideri una relazione padre/figlio come un gateway trasparente, in cui il dispositivo figlio ha la propria identità nell'hub IoT, ma comunica attraverso il cloud tramite il relativo elemento padre. Per la comunicazione sicura, il dispositivo figlio deve verificare che il dispositivo padre provenga da un'origine attendibile. In caso contrario, terze parti potrebbero configurare dispositivi dannosi per rappresentare i dispositivi padre e intercettare le comunicazioni.

Un modo per creare questa relazione di trust è descritto in dettaglio negli articoli seguenti:

Specificare i server DNS

Per migliorare l'affidabilità, specificare gli indirizzi del server DNS usati nell'ambiente. Per impostare il server DNS per IoT Edge, vedere il modulo resolution for Edge Agent segnala "file di configurazione vuoto" e nessun modulo viene avviato nel dispositivo nell'articolo sulla risoluzione dei problemi.

Impostazioni facoltative per la modalità offline

Se i dispositivi passano offline, il dispositivo padre IoT Edge archivia tutti i messaggi da dispositivo a cloud fino a quando non viene ristabilita la connessione. Il modulo hub IoT Edge gestisce l'archiviazione e l'inoltro di messaggi offline.

Per i dispositivi che possono essere offline per molto tempo, ottimizzare le prestazioni impostando due opzioni dell'hub IoT Edge:

  • Aumenta l'impostazione del tempo di vita in modo che l'hub IoT Edge mantenga i messaggi fino a quando il dispositivo non si riconnette.
  • Aggiungere altro spazio su disco per l'archiviazione dei messaggi.

Durata (TTL)

L'impostazione tempo di vita indica quanto tempo (in secondi) un messaggio può attendere prima di essere consegnato, dopo di che scade. Il valore predefinito è 7.200 secondi (due ore). Il valore massimo è limitato dal valore massimo di una variabile integer, che è di circa 2 miliardi.

Questa impostazione è una proprietà desiderata dell'hub IoT Edge, archiviata nel modulo gemello. Configurarlo nel portale di Azure o direttamente nel manifesto della distribuzione.

"$edgeHub": {
    "properties.desired": {
        "schemaVersion": "1.1",
        "routes": {},
        "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
        }
    }
}

Archiviazione host per i moduli di sistema

Per impostazione predefinita, l'hub IoT Edge archivia i messaggi e lo stato del modulo nel file system del contenitore locale. Per una migliore affidabilità, soprattutto quando si è offline, assegnare spazio di archiviazione sul dispositivo host IoT Edge. Per altre informazioni, vedere Concedere ai moduli l'accesso all'archiviazione locale di un dispositivo.

Passaggi successivi

Vedere altre informazioni su come configurare un gateway trasparente per le connessioni dei dispositivi padre/figlio: