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
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:
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.
È anche possibile gestire singoli 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:
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à.
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.
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.
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:
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:
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:
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:
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:
- Installare o disinstallare IoT Edge di Azure per Linux
- Installare Azure IoT Edge per Linux in un dispositivo Windows ed effettuare il provisioning (anteprima)
- Eseguire IoT Edge di Azure in Ubuntu Macchine virtuali in Azure
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.