Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La soluzione preconfigurata di monitoraggio remoto di Azure IoT Suite illustra un approccio per la gestione dei metadati dei dispositivi. Questo articolo descrive l'approccio adottato da questa soluzione per consentire di comprendere:
- Metadati del dispositivo archiviati dalla soluzione.
- Come la soluzione gestisce i metadati del dispositivo.
Contesto
La soluzione preconfigurata di monitoraggio remoto usa l'hub IoT di Azure per consentire ai dispositivi di inviare dati al cloud. La soluzione archivia le informazioni sui dispositivi in tre posizioni diverse:
| Posizione | Informazioni archiviate | Implementazione |
|---|---|---|
| Registro delle identità | ID dispositivo, chiavi di autenticazione, stato abilitato | Integrato nell'hub IoT |
| Dispositivi gemelli | Metadati: proprietà segnalate, proprietà desiderate, tag | Integrato nell'hub IoT |
| Cosmos DB | Cronologia dei comandi e dei metodi | Personalizzato per la soluzione |
L'hub IoT include un registro delle identità dei dispositivi per gestire l'accesso a un hub IoT e usa i dispositivi gemelli per gestire i metadati del dispositivo. È anche disponibile un registro dei dispositivi specifico della soluzione di monitoraggio remoto che archivia la cronologia dei comandi e dei metodi. La soluzione di monitoraggio remoto usa un database Cosmos DB per implementare un archivio personalizzato per la cronologia dei comandi e dei metodi.
Nota
La soluzione preconfigurata di monitoraggio remoto mantiene il registro delle identità del dispositivo sincronizzato con le informazioni nel database Cosmos DB. Entrambi usano lo stesso ID dispositivo per identificare in modo univoco ogni dispositivo connesso all'hub IoT.
Metadati del dispositivo
L'hub IoT gestisce un dispositivo gemello per ogni dispositivo simulato e fisico connesso a una soluzione di monitoraggio remoto. La soluzione usa dispositivi gemelli per gestire i metadati associati ai dispositivi. Un dispositivo gemello è un documento JSON gestito dall'hub IoT e la soluzione usa l'API dell'hub IoT per interagire con i dispositivi gemelli.
Un dispositivo gemello archivia tre tipi di metadati:
- Le proprietà segnalate vengono inviate a un hub IoT da un dispositivo. Nella soluzione di monitoraggio remoto, i dispositivi simulati inviano le proprietà segnalate all'avvio e in risposta ai comandi e ai metodi di cambiamento dello stato del dispositivo. È possibile visualizzare le proprietà segnalate nell'elenco Dispositivi e Nei dettagli del dispositivo nel portale della soluzione. Le proprietà segnalate sono di sola lettura.
- Le proprietà desiderate vengono recuperate dall'hub IoT dai dispositivi. È responsabilità del dispositivo apportare eventuali modifiche di configurazione necessarie nel dispositivo. È anche responsabilità del dispositivo segnalare la modifica all'hub come proprietà segnalata. È possibile impostare un valore della proprietà desiderato tramite il portale della soluzione.
- I tag esistono solo nel dispositivo gemello e non vengono mai sincronizzati con un dispositivo. È possibile impostare i valori dei tag nel portale della soluzione e usarli quando si filtra l'elenco dei dispositivi. La soluzione usa anche un tag per identificare l'icona da visualizzare per un dispositivo nel portale della soluzione.
Le proprietà segnalate di esempio dai dispositivi simulati includono produttore, numero di modello, latitudine e longitudine. I dispositivi simulati restituiscono anche l'elenco dei metodi supportati come proprietà segnalata.
Nota
Il codice del dispositivo simulato utilizza solo le proprietà desiderate Desired.Config.TemperatureMeanValue e Desired.Config.TelemetryInterval per aggiornare le proprietà segnalate inviate all'Hub IoT. Tutte le altre richieste di modifica delle proprietà desiderate vengono ignorate.
Un documento JSON dei metadati delle informazioni sul dispositivo archiviato nel database Cosmos DB del registro dispositivi ha la struttura seguente:
{
"DeviceProperties": {
"DeviceID": "deviceid1",
"HubEnabledState": null,
"CreatedTime": "2016-04-25T23:54:01.313802Z",
"DeviceState": "normal",
"UpdatedTime": null
},
"SystemProperties": {
"ICCID": null
},
"Commands": [],
"CommandHistory": [],
"IsSimulatedDevice": false,
"id": "fe81a81c-bcbc-4970-81f4-7f12f2d8bda8"
}
Nota
Le informazioni sul dispositivo possono includere anche metadati per descrivere i dati di telemetria inviati dal dispositivo all'hub IoT. La soluzione di monitoraggio remoto usa questi metadati di telemetria per personalizzare il modo in cui il dashboard visualizza i dati di telemetria dinamici.
Ciclo di vita
Quando si crea un dispositivo nel portale della soluzione, la soluzione crea una voce nel database Cosmos DB per archiviare la cronologia dei comandi e dei metodi. A questo punto, la soluzione crea anche una voce per il dispositivo nel registro delle identità dei dispositivi, generando le chiavi che il dispositivo usa per autenticarsi con l'hub IoT. Crea anche un dispositivo gemello.
Quando un dispositivo si connette per la prima volta alla soluzione, invia le proprietà segnalate e un messaggio informativo sul dispositivo. I valori delle proprietà segnalate vengono salvati automaticamente nel dispositivo gemello. Le proprietà segnalate includono il produttore del dispositivo, il numero di modello, il numero di serie e un elenco dei metodi supportati. Il messaggio di informazioni sul dispositivo include l'elenco dei comandi supportati dal dispositivo, incluse le informazioni sui parametri dei comandi. Quando la soluzione riceve questo messaggio, aggiorna le informazioni sul dispositivo nel database Cosmos DB.
Visualizzare e modificare le informazioni sul dispositivo nel portale della soluzione
L'elenco dei dispositivi nel portale della soluzione visualizza le proprietà del dispositivo seguenti come colonne per impostazione predefinita: Status, DeviceId, Manufacturer, Model Number, Serial Number, Firmware, Platform, Processor e Installed RAM. È possibile personalizzare le colonne facendo clic su Editor colonne. Le proprietà del dispositivo Latitudine e Longitudine determinano la posizione nella mappa Bing nel dashboard.
Nel riquadro Dettagli dispositivo nel portale della soluzione è possibile modificare le proprietà e i tag desiderati (le proprietà segnalate sono di sola lettura).
È possibile usare il portale della soluzione per rimuovere un dispositivo dalla soluzione. Quando si rimuove un dispositivo, la soluzione rimuove l'elemento dal registro delle identità e quindi elimina il gemello. La soluzione rimuove anche le informazioni correlate al dispositivo dal database Cosmos DB. Prima di poter rimuovere un dispositivo, è necessario disabilitarlo.
Elaborazione dei messaggi di informazioni sul dispositivo
I messaggi di informazioni sul dispositivo inviati da un dispositivo sono distinti dai messaggi di telemetria. I messaggi di informazioni sul dispositivo includono i comandi a cui un dispositivo può rispondere e qualsiasi cronologia dei comandi. L'hub IoT stesso non ha alcuna conoscenza dei metadati contenuti in un messaggio informativo del dispositivo ed elabora il messaggio nello stesso modo in cui elabora qualsiasi messaggio da dispositivo a cloud. Nella soluzione di monitoraggio remoto un processo di Analisi di flusso di Azure legge i messaggi dall'hub IoT. Il processo di analisi di flusso DeviceInfo filtra i messaggi che contengono "ObjectType": "DeviceInfo" e li inoltra all'istanza host EventProcessorHost eseguita in un processo Web. La logica nell'istanza di EventProcessorHost usa l'ID dispositivo per trovare il record Cosmos DB per il dispositivo specifico e aggiornare il record.
Nota
Un messaggio informativo sul dispositivo è un messaggio standard da dispositivo a cloud. La soluzione distingue tra messaggi di informazioni sul dispositivo e messaggi di telemetria usando query ASA.
Passaggi successivi
Dopo aver appreso come personalizzare le soluzioni preconfigurate, è possibile esplorare alcune delle altre funzionalità e funzionalità delle soluzioni preconfigurate di IoT Suite: