Gestione e controllo dei dispositivi

Questa panoramica presenta i concetti chiave relativi alla gestione e al controllo dei dispositivi in una tipica soluzione Azure IoT. Ogni sezione include collegamenti al contenuto che fornisce ulteriori dettagli e indicazioni.

Le applicazioni IoT Central usano i servizi hub IoT e Device Provisioning Service (DPS) internamente. Di conseguenza, i concetti di questo articolo si applicano se si usa IoT Central per esplorare uno scenario IoT o creare la soluzione usando hub IoT e DPS.

Il diagramma seguente mostra una visualizzazione generale dei componenti in una tipica soluzione IoT. Questo articolo è incentrato sui componenti di gestione e controllo dei dispositivi di una soluzione IoT.

Diagram that shows the high-level IoT solution architecture highlighting device connectivity areas.

In Azure IoT, la gestione dei dispositivi si riferisce a processi come il provisioning e l'aggiornamento dei dispositivi. La gestione dei dispositivi include le attività seguenti:

  • Registrazione dispositivo
  • Provisioning di dispositivi
  • Distribuzione dei dispositivi
  • Aggiornamenti del dispositivo
  • Gestione e rotazione delle chiavi dei dispositivi
  • Monitoraggio dei dispositivi
  • Abilitazione e disabilitazione dei dispositivi

In Azure IoT comando e controllo si riferisce ai processi che consentono di inviare comandi ai dispositivi e ricevere risposte da essi. Ad esempio, è possibile inviare un comando a un dispositivo a:

  • Impostare una temperatura di destinazione.
  • Richiedere valori di temperatura massimi e minimi delle ultime due ore.
  • Impostare l'intervallo di telemetria su 10 secondi.

Primitive

Le soluzioni Azure IoT possono usare le primitive seguenti sia per la gestione dei dispositivi che per il comando e il controllo:

  • Dispositivi gemelli per condividere e sincronizzare i dati sullo stato con il cloud. Ad esempio, un dispositivo può usare il dispositivo gemello per segnalare al cloud lo stato corrente di una valvola controllata e per ricevere una temperatura finale desiderata dal cloud.
  • Gemelli digitali per rappresentare un dispositivo nel mondo digitale. Ad esempio, un gemello digitale può rappresentare la posizione fisica di un dispositivo, le sue funzionalità e le sue relazioni con altri dispositivi. Per altre informazioni sulle differenze tra dispositivi gemelli e gemelli digitali, vedere Informazioni Plug and Play IoT gemelli digitali.
  • Metodi diretti per ricevere comandi dal cloud. Un metodo diretto può avere parametri e restituire una risposta. Ad esempio, il cloud può chiamare un metodo diretto per richiedere il riavvio del dispositivo in 30 secondi.
  • Messaggi da cloud a dispositivo per ricevere notifiche unidirezionali dal cloud. Ad esempio, una notifica che indica che un aggiornamento è pronto per il download.

Per altre informazioni, vedere Linee guida per le comunicazioni da cloud a dispositivo.

Registrazione dispositivo

Prima che un dispositivo possa connettersi a un hub IoT, deve essere registrato. La registrazione del dispositivo è il processo di creazione di un'identità del dispositivo nel cloud. Ogni hub IoT ha un proprio registro dei dispositivi interno. L'identità del dispositivo viene usata per autenticare il dispositivo quando si connette ad Azure IoT. Una voce di registrazione del dispositivo include le proprietà seguenti:

  • ID dispositivo univoco.
  • Informazioni di autenticazione, ad esempio chiavi simmetriche o certificati X.509.
  • Tipo di dispositivo. Si tratta o meno di un dispositivo IoT Edge?

Se si ritiene che un dispositivo sia stato compromesso o non funzioni correttamente, è possibile disabilitarlo nel Registro di sistema dei dispositivi per impedire la connessione al cloud. Per consentire a un dispositivo di riconnettersi a un cloud dopo la risoluzione del problema, è possibile riabilitarlo nel registro dei dispositivi. È anche possibile rimuovere definitivamente un dispositivo dal registro dei dispositivi per impedire completamente la connessione al cloud.

Per altre informazioni, vedere Informazioni sul registro delle identità nell'hub IoT.

IoT Central offre un'interfaccia utente per gestire il registro dei dispositivi nell'hub IoT sottostante. Per altre informazioni, vedere Aggiungere un dispositivo (IoT Central).

Provisioning di dispositivi

È necessario configurare ogni dispositivo nella soluzione con i dettagli dell'hub IoT a cui deve connettersi. È possibile configurare manualmente ogni dispositivo nella soluzione, ma questo potrebbe non essere pratico per un numero elevato di dispositivi. Per risolvere questo problema, è possibile usare il servizio Device Provisioning (DPS) per registrare automaticamente ciascun dispositivo con un hub IoT e quindi effettuare il provisioning di ogni dispositivo con le informazioni di connessione necessarie. Se la soluzione IoT usa più hub IoT, è possibile usare dps per effettuare il provisioning dei dispositivi in un hub in base a criteri come l'hub più vicino al dispositivo. È possibile configurare il servizio Device Provisioning con regole per la registrazione e il provisioning dei dispositivi prima della distribuzione fisica del dispositivo nel campo.

Se la soluzione IoT usa hub IoT, l'uso del servizio Device Provisioning è facoltativo. Se si usa IoT Central, la soluzione usa automaticamente un'istanza dps gestita da IoT Central.

Per altre informazioni, vedere Panoramica del servizio Device Provisioning.

Distribuzione dei dispositivi

In Azure IoT la distribuzione dei dispositivi si riferisce in genere al processo di installazione del software in un dispositivo IoT Edge. Quando un dispositivo IoT Edge si connette a un hub IoT, riceve un manifesto di distribuzione che contiene i dettagli dei moduli da eseguire nel dispositivo. Il manifesto della distribuzione contiene anche informazioni di configurazione per i moduli. Esistono diversi moduli standard disponibili per i dispositivi IoT Edge. È anche possibile creare moduli personalizzati.

Per altre informazioni, vedere Che cos'è Azure IoT Edge?

Se si usa IoT Central, è possibile gestire i manifesti della distribuzione usando l'interfaccia utente di IoT Central.

Aggiornamenti del dispositivo

In genere, la soluzione IoT deve includere un modo per aggiornare il software del dispositivo. Per un dispositivo IoT Edge, è possibile aggiornare i moduli eseguiti nel dispositivo aggiornando il manifesto della distribuzione.

Per un dispositivo non IoT Edge, è necessario avere un modo per aggiornare il firmware del dispositivo. Questo processo di aggiornamento potrebbe usare un messaggio da cloud a dispositivo per notificare al dispositivo che è disponibile un aggiornamento del firmware. Il dispositivo esegue quindi codice personalizzato per scaricare e installare l'aggiornamento.

L'aggiornamento dei dispositivi per hub IoT servizio offre una soluzione gestita per l'aggiornamento dei dispositivi. Consente di caricare gli aggiornamenti del firmware nel cloud e quindi di distribuirli ai dispositivi. Consente inoltre di monitorare il processo di aggiornamento e di eseguire il rollback a una versione precedente se l'aggiornamento non riesce.

Gestione e rotazione delle chiavi dei dispositivi

Durante il ciclo di vita della soluzione IoT, potrebbe essere necessario eseguire il rollover delle chiavi usate per autenticare i dispositivi. Ad esempio, potrebbe essere necessario eseguire il rollover delle chiavi se si sospetta che una chiave sia stata compromessa o se un certificato scade:

Monitoraggio dei dispositivi

Nell'ambito del monitoraggio complessivo della soluzione, è possibile monitorare l'integrità dei dispositivi. Ad esempio, è possibile che sia necessario monitorare l'integrità dei dispositivi o rilevare quando un dispositivo non è più connesso al cloud. Le opzioni per il monitoraggio dei dispositivi includono:

  • I dispositivi usano il dispositivo gemello per segnalare lo stato corrente al cloud. Ad esempio, un dispositivo può segnalare la temperatura interna corrente o il livello corrente della batteria.
  • I dispositivi possono generare avvisi inviando messaggi di telemetria al cloud.
  • hub IoT possono generare eventi quando i dispositivi si connettono o si disconnettono dal cloud.
  • IoT Central può usare regole per eseguire azioni quando vengono soddisfatti i criteri specificati.
  • Usare gli strumenti di Machine Learning per analizzare i flussi di telemetria dei dispositivi per identificare le anomalie che indicano un problema con il dispositivo.

Per altre informazioni, vedere Monitorare lo stato di connessione del dispositivo (hub IoT).To learn more, see Monitor device connection status (hub IoT).

Migrazione dei dispositivi

Se è necessario eseguire la migrazione di un dispositivo da IoT Central a hub IoT, è possibile usare lo strumento Migrazione dei dispositivi. Per altre informazioni, vedere Eseguire la migrazione di dispositivi da IoT Central a hub IoT.

Comando e controllo

Per inviare comandi ai dispositivi per controllarne il comportamento, usare:

  • I metodi diretti servono per le comunicazioni che richiedono una conferma immediata del risultato. I metodi diretti vengono spesso usati per il controllo interattivo dei dispositivi, ad esempio l'accensione di una ventola.

  • Proprietà desiderate del dispositivo gemello per i comandi a esecuzione prolungata destinati a inserire il dispositivo in un determinato stato desiderato. ad esempio per impostare l'intervallo di invio dei dati di telemetria su 30 minuti.

  • Messaggi da cloud a dispositivo per le notifiche unidirezionale al dispositivo.

Per altre informazioni, vedere Linee guida per le comunicazioni da cloud a dispositivo.

In alcuni scenari, è possibile automatizzare il controllo dei dispositivi in base ai cicli di feedback. Ad esempio, se la temperatura del dispositivo è troppo elevata, la logica in esecuzione nel cloud può inviare un comando per attivare una ventola. Il processo cloud può quindi inviare un comando per disattivare la ventola quando la temperatura torna normale.

È anche possibile eseguire questo tipo di automazione in locale. Ad esempio, se si usa IoT Edge per implementare il dispositivo gateway, è possibile eseguire la logica che controlla il dispositivo in un modulo IoT Edge. L'esecuzione di questo tipo di logica all'perimetro può ridurre la latenza e fornire resilienza in caso di interruzione della rete.

Processi

È possibile usare metodi diretti, proprietà desiderate e messaggi da cloud a dispositivo per inviare comandi a singoli dispositivi. Se è necessario inviare comandi a più dispositivi, è possibile usare i processi. I processi consentono di pianificare e inviare comandi e aggiornamenti delle proprietà desiderati a più dispositivi contemporaneamente. È anche possibile usare i processi per monitorare lo stato di avanzamento dei comandi e per eseguire il rollback a uno stato precedente se i comandi hanno esito negativo.

Per altre informazioni, vedere:

Passaggi successivi

Dopo aver visto una panoramica della gestione e del controllo dei dispositivi nelle soluzioni Azure IoT, alcuni passaggi successivi suggeriti includono