Connettere un dispositivo Azure IoT Edge a un'applicazione Azure IoT Central

Azure IoT Edge sposta l'analisi cloud e la logica di business personalizzata dal cloud ai dispositivi. Questo approccio consente alla soluzione cloud di concentrarsi sulle informazioni dettagliate aziendali anziché sulla gestione dei dati. Aumentare la scalabilità della soluzione IoT eseguendo il packaging della logica di business in contenitori standard, distribuire tali contenitori nei dispositivi e monitorarli dal cloud.

L'articolo illustra:

  • IoT Edge modelli di gateway con IoT Central.
  • Come IoT Edge dispositivi si connettono a un'applicazione IoT Central.
  • Come usare IoT Central per gestire i dispositivi IoT Edge.

Per altre informazioni su IoT Edge, vedere Informazioni su Azure IoT Edge?

IoT Edge

Azure IoT Central con Azure IoT Edge

IoT Edge è costituito da tra componenti:

  • I moduli di IoT Edge sono contenitori che eseguono servizi di Azure, servizi partner o il codice dell'utente. Vengono distribuiti nei dispositivi IoT Edge ed eseguiti in locale in tali dispositivi. Un manifesto di distribuzione specifica i moduli da distribuire in un dispositivo IoT Edge.
  • Il runtime di IoT Edge viene eseguito in ogni dispositivo IoT Edge e gestisce i moduli distribuiti in ogni dispositivo. Il runtime è costituito da due moduli IoT Edge: agente IoT Edge e hub IoT Edge.
  • Un'interfaccia basata sul cloud consente di monitorare e gestire in remoto i dispositivi IoT Edge. IoT Central è un esempio di interfaccia cloud.

IoT Central abilita le funzionalità seguenti per i dispositivi IoT Edge:

  • Gestione dei manifesti di distribuzione. Un'applicazione IoT Central può gestire una raccolta di manifesti di distribuzione e assegnarli ai dispositivi.
  • Modelli di dispositivo per descrivere le funzionalità di un dispositivo IoT Edge, ad esempio:
    • I dati di telemetria invia ogni modulo IoT Edge.
    • Le proprietà ogni IoT Edge report del modulo.
    • I comandi a ogni modulo di IoT Edge rispondono.
    • Relazioni tra un dispositivo gateway IoT Edge e un dispositivo downstream.
    • Proprietà cloud non archiviate nel dispositivo IoT Edge.
    • Visualizzazioni e moduli del dispositivo.
  • Capacità di effettuare il provisioning di dispositivi IoT Edge su larga scala usando il servizio di provisioning di dispositivi di Azure IoT.
  • Regole e azioni.
  • Dashboard e analisi personalizzati.
  • Esportazione continua dei dati di telemetria da dispositivi IoT Edge.

Un dispositivo IoT Edge può essere:

  • Un dispositivo autonomo composto da moduli personalizzati.
  • Un dispositivo gateway, con dispositivi downstream che si connettono a esso. Un dispositivo gateway può includere moduli personalizzati.

dispositivi IoT Edge e IoT Central

IoT Edge dispositivi possono usare token di firma di accesso condiviso o certificati X.509 per l'autenticazione con IoT Central. È possibile registrare manualmente i dispositivi IoT Edge in IoT Central prima di connettersi per la prima volta o usare il servizio Device Provisioning per gestire la registrazione. Per altre informazioni, vedere Modalità di connessione dei dispositivi.

IoT Central usa facoltativamente modelli di dispositivo per definire il modo in cui IoT Central interagisce con un dispositivo IoT Edge. Ad esempio, un modello di dispositivo specifica:

  • I tipi di telemetria e proprietà di un dispositivo IoT Edge invia in modo che IoT Central possa interpretarli e creare visualizzazioni.
  • I comandi di un dispositivo IoT Edge rispondono in modo che IoT Central possa visualizzare un'interfaccia utente per un operatore da usare per chiamare i comandi.

Se non è presente alcun modello di dispositivo associato a un dispositivo, i valori di telemetria e proprietà vengono visualizzati come dati non modellati . Tuttavia, è comunque possibile usare le funzionalità di esportazione dei dati IoT Central per inoltrare i valori di telemetria e proprietà ad altri servizi back-end.

manifesti di distribuzione IoT Edge

In IoT Edge si distribuisce e si gestisce la logica di business sotto forma di moduli. IoT Edge moduli sono l'unità di calcolo più piccola gestita da IoT Edge e può contenere servizi di Azure come Analisi di flusso di Azure o codice specifico della soluzione.

Un manifesto di distribuzione IoT Edge elenca i moduli di IoT Edge da distribuire nel dispositivo e come configurarli.

In Azure IoT Central passare ai manifesti di Edge per importare e gestire i manifesti di distribuzione per i dispositivi IoT Edge nella soluzione.

Il frammento di codice seguente mostra un manifesto di distribuzione di esempio IoT Edge:

{
  "modulesContent": {
    "$edgeAgent": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "runtime": {
          "type": "docker",
          "settings": {
            "minDockerVersion": "v1.25",
            "loggingOptions": "",
            "registryCredentials": {}
          }
        },
        "systemModules": {
          "edgeAgent": {
            "type": "docker",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-agent:1.0.9",
              "createOptions": "{}"
            }
          },
          "edgeHub": {
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-hub:1.0.9",
              "createOptions": "{}"
            }
          }
        },
        "modules": {
          "SimulatedTemperatureSensor": {
            "version": "1.0",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
              "createOptions": "{}"
            }
          }
        }
      }
    },
    "$edgeHub": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "routes": {
            "route": "FROM /* INTO $upstream"
        },
        "storeAndForwardConfiguration": {
          "timeToLiveSecs": 7200
        }
      }
    },
    "SimulatedTemperatureSensor": {
      "properties.desired": {
           "SendData": true,
           "SendInterval": 10
      }
    }
  }
}

Nel frammento di codice precedente è possibile visualizzare:

  • Sono disponibili tre moduli. Agente di IoT Edge e moduli di sistema hub IoT Edge presenti in ogni manifesto della distribuzione. Modulo SimulatedTemperatureSensor personalizzato.
  • Le immagini del modulo pubblico vengono estratte da un repository Registro Azure Container che non richiede alcuna credenziali per connettersi. Per le immagini del modulo privato, impostare le credenziali del Registro contenitori da usare nell'impostazione registryCredentials per il modulo agente IoT Edge.
  • Il modulo SimulatedTemperatureSensor personalizzato ha due proprietà "SendData": true scrivibili e "SendInterval": 10.

Lo screenshot seguente mostra questo manifesto di distribuzione importato in IoT Central:

Screenshot che mostra il manifesto di distribuzione del sensore ambientale importato.

Se l'applicazione usa organizzazioni, è possibile assegnare i manifesti di distribuzione a organizzazioni specifiche. Lo screenshot precedente mostra il manifesto della distribuzione assegnato all'organizzazione Store Manager/Americas .

Per informazioni su come usare la pagina Manifesti edge e assegnare manifesti di distribuzione ai dispositivi IoT Edge, vedere Gestire i manifesti di distribuzione IoT Edge nell'applicazione IoT Central.

Gestire un dispositivo non assegnato

Un dispositivo IoT Edge che non dispone di un modello di dispositivo associato è noto come dispositivo non assegnato. Non è possibile usare funzionalità IoT Central, ad esempio dashboard, gruppi di dispositivi, analisi, regole e processi con dispositivi non assegnati. È tuttavia possibile usare le funzionalità seguenti con dispositivi non assegnati:

  • Visualizzare dati non elaborati, ad esempio dati di telemetria e proprietà.
  • Chiamare i comandi dispositivo.
  • Proprietà di lettura e scrittura.

Screenshot che mostra le funzionalità del dispositivo non firmate.

È anche possibile gestire singoli moduli nei dispositivi non assegnati:

Screenshot che mostra le opzioni per la gestione dei moduli nei dispositivi non assegnati.

modelli di dispositivo IoT Edge

I modelli di dispositivi IoT Central usano modelli per descrivere le funzionalità dei dispositivi IoT Edge. I modelli di dispositivo sono facoltativi per i dispositivi IoT Edge. Il modello di dispositivo consente di interagire con dati di telemetria, proprietà e comandi usando funzionalità IoT Central, ad esempio dashboard e analisi. Il diagramma seguente illustra la struttura del modello per un dispositivo IoT Edge:

Diagramma che mostra la struttura del modello per un dispositivo IoT Edge connesso a IoT Central.

IoT Central modelli un dispositivo IoT Edge come segue:

  • Ogni modello di dispositivo IoT Edge ha un modello di funzionalità.
  • Per ogni modulo personalizzato elencato nel manifesto della distribuzione, aggiungere una definizione di modulo se si vuole usare IoT Central per interagire con tale modulo.
  • Un modello di funzionalità del modulo implementa una o più interfacce di modulo.
  • Ogni interfaccia del modulo contiene i dati di telemetria, le proprietà e i comandi.

È possibile generare il modello di funzionalità di base in base ai moduli e alle proprietà definite nel manifesto del dispositivo. Per altre informazioni, vedere Aggiungere moduli e proprietà ai modelli di dispositivo.

modelli di gateway IoT Edge

IoT Central supporta i modelli di dispositivo IoT Edge seguenti:

IoT Edge come gateway trasparente

I dispositivi downstream si connettono a IoT Central tramite il gateway con la propria identità.

IoT Edge come gateway trasparente

Il dispositivo IoT Edge viene effettuato il provisioning in IoT Central insieme ai dispositivi downstream connessi al dispositivo IoT Edge. Il supporto del runtime per il provisioning dei dispositivi downstream tramite il gateway non è attualmente supportato.

Il modulo hub IoT Edge si comporta come IoT Central e gestisce le connessioni dai dispositivi registrati in IoT Central. I messaggi passano da dispositivi downstream a IoT Central come se non vi sia un gateway tra di essi. In un gateway trasparente non è possibile usare moduli personalizzati per modificare i messaggi dai dispositivi downstream.

Nota

IoT Central non supporta attualmente la connessione di un dispositivo IoT Edge come dispositivo downstream a un gateway trasparente IoT Edge. Ciò è dovuto al fatto che viene effettuato il provisioning di tutti i dispositivi che si connettono a IoT Central tramite il servizio Device Provisioning e questo servizio non supporta attualmente gli scenari di IoT Edge annidati.

IoT Edge come gateway di traduzione del protocollo

Questo modello consente di connettere i dispositivi che non possono usare alcun protocollo supportato da IoT Central.

IoT Edge come gateway di traduzione del protocollo

Il dispositivo IoT Edge viene effettuato il provisioning in IoT Central e tutti i dati di telemetria dai dispositivi downstream vengono rappresentati come provenienti dal dispositivo IoT Edge. I dispositivi downstream connessi al dispositivo IoT Edge non vengono effettuato il provisioning in IoT Central.

IoT Edge come gateway di traduzione delle identità

I dispositivi downstream si connettono a un modulo nel gateway che fornisce le identità dei dispositivi IoT Central per tali dispositivi.

IoT Edge come gateway di traduzione delle identità

Il dispositivo IoT Edge viene effettuato il provisioning in IoT Central insieme ai dispositivi downstream connessi al dispositivo IoT Edge. Attualmente IoT Central non dispone del supporto di runtime per un gateway per fornire un'identità e per effettuare il provisioning dei dispositivi downstream. Se si usa il modulo di traduzione delle identità, IoT Central può supportare questo modello.

Relazioni dei dispositivi downstream con il gateway e i moduli

Se i dispositivi downstream si connettono a un dispositivo gateway IoT Edge tramite il modulo hub IoT Edge, il dispositivo IoT Edge è un gateway trasparente:

Diagramma del gateway trasparente

Se i dispositivi downstream si connettono a un dispositivo gateway di IoT Edge tramite un modulo personalizzato, il dispositivo IoT Edge è un gateway di traduzione. Nell'esempio seguente i dispositivi downstream si connettono tramite un modulo personalizzato Modbus che esegue la traduzione del protocollo:

Diagramma della connessione del modulo personalizzato

Il diagramma seguente illustra le connessioni a un dispositivo gateway IoT Edge tramite entrambi i tipi di moduli. In questo scenario, il dispositivo IoT Edge è sia trasparente che un gateway di traduzione:

Diagramma della connessione tramite entrambi i moduli di connessione

I dispositivi downstream possono connettersi a un dispositivo gateway IoT Edge tramite più moduli personalizzati. Il diagramma seguente illustra i dispositivi downstream che si connettono tramite un modulo personalizzato Modbus, un modulo personalizzato BLE e il modulo hub di IoT Edge:

Diagramma della connessione con più moduli personalizzati

Per altre informazioni sui modelli di gateway IoT Edge, vedere Come è possibile usare un dispositivo IoT Edge come gateway.

Distribuire il runtime di IoT Edge

Per informazioni su dove è possibile eseguire il runtime di IoT Edge, vedere Azure IoT Edge sistemi supportati.

È anche possibile installare il runtime di IoT Edge negli ambienti seguenti:

Monitorare i dispositivi IoT Edge

Per informazioni su come monitorare in remoto la flotta di IoT Edge, vedere Raccogliere e trasportare le metriche.

Passaggi successivi

Un passaggio successivo suggerito consiste nell'apprendere come sviluppare moduli di IoT Edge personalizzati.