Condividi tramite


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

Si applica a:Segno di spunta IoT Edge 1.5 IoT Edge 1.5 Segno di spunta IoT Edge 1.4 IoT Edge 1.4

Importante

IoT Edge 1.5 LTS e IoT Edge 1.4 LTS sono versioni supportate. IoT Edge 1.4 LTS è di fine vita il 12 novembre 2024. Se si usa una versione precedente, vedere Aggiornare IoT Edge.

Azure IoT Edge supporta operazioni offline estese nei dispositivi IoT Edge e abilita anche le operazioni offline nei dispositivi downstream. Finché un dispositivo IoT Edge ha avuto un'opportunità di connettersi a hub IoT, tale dispositivo e qualsiasi dispositivo downstream può continuare a funzionare con connessione Internet intermittente o senza connessione Internet.

Funzionamento

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

  • Archivia i messaggi diretti upstream e li salva fino a quando il dispositivo si riconnette.
  • Agisce per conto dell'hub IoT per l'autenticazione dei moduli e dei dispositivi downstream in modo che possano continuare a funzionare.
  • Consente le comunicazioni tra i dispositivi downstream che normalmente passerebbero attraverso l'hub IoT.

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

  1. Configurare i dispositivi

    Per i dispositivi IoT Edge le funzionalità offline vengono abilitate automaticamente. Per estendere tale funzionalità ad altri dispositivi, è necessario configurare i dispositivi downstream per considerare attendibile il dispositivo padre assegnato e instradare le comunicazioni da dispositivo a cloud tramite l'elemento padre come gateway.

  2. Eseguire la sincronizzazione con l'hub IoT

    Almeno una volta dopo l'installazione del runtime di IoT Edge, il dispositivo IoT Edge deve essere online per la sincronizzazione con l'hub IoT. In questa sincronizzazione, il dispositivo IoT Edge ottiene i dettagli su tutti i dispositivi downstream assegnati. Il dispositivo IoT Edge aggiorna inoltre in modo sicuro la cache locale per abilitare le operazioni offline e recupera le impostazioni per l'archiviazione locale dei messaggi di telemetria.

  3. Disconnettersi

    Durante la disconnessione da hub IoT, il dispositivo IoT Edge, i moduli distribuiti e tutti i dispositivi downstream possono 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 previsti per l'invio upstream 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

    Dopo il ripristino della 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 dipendono dalla velocità della connessione, dalla latenza dell'hub IoT e da fattori correlati. 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 della durata (TTL) e dallo spazio su disco disponibile per l'archiviazione dei messaggi.

EdgeAgent di un dispositivo aggiorna le proprietà segnalate ogni volta che si verifica una modifica dello stato della distribuzione, ad esempio una distribuzione nuova o non riuscita. Quando un dispositivo è offline, EdgeAgent non può segnalare lo stato al portale di Azure. Pertanto, lo stato del dispositivo nella portale di Azure potrebbe 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. È possibile modificare questo limite impostando la variabile di ambiente MaxConnectedClients nel modulo edgeHub. Un dispositivo figlio ha un solo elemento padre.

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.

I dispositivi downstream possono 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, è possibile dichiarare la relazione dalla pagina dei dettagli del dispositivo nella 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

È possibile pensare a una relazione padre/figlio come a un gateway trasparente, in cui il dispositivo figlio ha una propria identità nell'hub IoT ma comunica attraverso il cloud tramite il relativo padre. Per garantire la sicurezza della comunicazione, il dispositivo figlio deve poter verificare che il dispositivo padre provenga da una fonte 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à, è consigliabile 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 dell'hub di IoT Edge gestisce l'archiviazione e l'inoltro di messaggi offline.

Per i dispositivi che possono essere offline per periodi di tempo prolungati, ottimizzare le prestazioni configurando due impostazioni dell'hub IoT Edge:

  • Aumentare il tempo di esecuzione dell'impostazione, quindi l'hub IoT Edge mantiene i messaggi fino a quando il dispositivo non si riconnette.
  • Aggiungere spazio su disco aggiuntivo per l'archiviazione dei messaggi.

Durata (TTL)

L'impostazione di durata è la quantità di tempo (in secondi) che un messaggio può attendere prima della scadenza. Il valore predefinito è 7200 secondi (due ore). Il valore massimo è limitato solo dal valore massimo di una variabile di tipo Integer, che è di circa 2 miliardi.

Questa impostazione è una proprietà desiderata dell'hub di IoT Edge, che viene archiviata nel modulo gemello. È possibile eseguire la configurazione 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, i messaggi e le informazioni sullo stato dei moduli vengono archiviati nel file system del contenitore locale dell'hub di IoT Edge. Per una maggiore affidabilità, soprattutto quando si opera offline, è anche possibile dedicare spazio di archiviazione nel dispositivo IoT Edge host. 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: