Condividi tramite


Connettività dei dispositivi e dati di telemetria in ingresso

Importante

È stata rilasciata una nuova versione del servizio Gemelli digitali di Azure. Alla luce delle funzionalità espanse del nuovo servizio, il servizio Gemelli digitali di Azure originale (descritto in questo set di documentazione) è stato ritirato.

Per visualizzare la documentazione per il nuovo servizio, vedere la documentazione attiva di Gemelli digitali di Azure.

I dati di telemetria inviati da dispositivi e sensori formano la struttura portante di qualsiasi soluzione IoT. Rappresentare queste risorse disparate e gestirle nel contesto di una posizione rappresentano gli aspetti più problematici nello sviluppo di app IoT. Gemelli digitali di Azure semplifica il processo di sviluppo di soluzioni IoT combinando dispositivi e sensori con un grafico di intelligenza spaziale.

Per iniziare, creare una risorsa hub IoT di Azure alla radice del grafico spaziale. La risorsa hub IoT consente a tutti i dispositivi sotto lo spazio radice di inviare messaggi. Dopo la creazione dell'hub IoT, registrare i dispositivi con sensori all'interno dell'istanza di Gemelli digitali. I dispositivi possono inviare dati a un servizio Gemelli digitali tramite Azure IoT SDK per dispositivi.

Per una guida dettagliata su come eseguire l'onboarding dei dispositivi, leggere l'esercitazione per distribuire e configurare Gemelli digitali. A grandi linee, i passaggi sono i seguenti:

  • Distribuire un'istanza di Gemelli digitali di Azure dal portale di Azure.
  • Creare spazi nel grafico.
  • Creare una risorsa hub IoT e assegnarla a uno spazio nel grafico.
  • Creare dispositivi e sensori nel grafico e assegnarli agli spazi creati nei passaggi precedenti.
  • Creare un matcher per filtrare i messaggi di telemetria in base a condizioni.
  • Creare una funzione definita dall'utente e assegnarla a uno spazio nel grafico per l'elaborazione personalizzata dei messaggi di telemetria.
  • Assegnare un ruolo per consentire alla funzione definita dall'utente di accedere ai dati del grafico.
  • Ottenere la stringa di connessione del dispositivo hub IoT dalle API di gestione di Gemelli digitali.
  • Configurare la stringa di connessione del dispositivo nel dispositivo con Azure IoT SDK per dispositivi.

Nelle sezioni seguenti viene descritto come ottenere la stringa di connessione del dispositivo hub IoT dall'API di gestione di Gemelli digitali. Viene illustrato anche come usare il formato dei messaggi di telemetria dell'hub IoT per inviare dati di telemetria basati su sensori. Il servizio Gemelli digitali richiede che ogni dato di telemetria che riceve sia associato a un sensore nel grafico spaziale. Ciò assicura che i dati vengano elaborati e instradati nel contesto spaziale appropriato.

Ottenere la stringa di connessione del dispositivo hub IoT dall'API di gestione

Negli esempi seguenti, YOUR_MANAGEMENT_API_URL fa riferimento all'URI delle API di Gemelli digitali:

https://YOUR_INSTANCE_NAME.YOUR_LOCATION.azuresmartspaces.net/management/api/v1.0
Nome Sostituire con
NOME_ISTANZA_UTENTE Nome dell'istanza di Gemelli digitali di Azure
POSIZIONE_UTENTE Area in cui è ospitata l'istanza

Eseguire una chiamata GET sull'API del dispositivo con un parametro includes=ConnectionString per ottenere la stringa di connessione del dispositivo hub IoT. Per trovare il dispositivo specifico, filtrare in base a GUID dispositivo o ID hardware.

YOUR_MANAGEMENT_API_URL/devices/YOUR_DEVICE_GUID?includes=ConnectionString
Parametro Sostituire con
YOUR_DEVICE_GUID ID dispositivo
YOUR_MANAGEMENT_API_URL/devices?HardwareIds=YOUR_DEVICE_HARDWARE_ID&includes=ConnectionString
Valore del parametro Sostituire con
YOUR_DEVICE_HARDWARE_ID ID hardware del dispositivo

Nel payload di risposta, copiare la proprietà connectionString del dispositivo. Questo valore verrà usato quando si chiama Azure IoT SDK per dispositivi per inviare dati a Gemelli digitali.

Messaggio da dispositivo a cloud

È possibile personalizzare il payload e il formato dei messaggii del dispositivo in base alle esigenze della soluzione. Usare qualsiasi contratto di dati che possa essere serializzato in una matrice di byte o in un flusso supportato dalla classe dei messaggi del client del dispositivo Azure IoT, Message(byte[] byteArray). Il messaggio può avere un formato binario personalizzato a scelta, a condizione che il contratto di dati venga decodificato in una funzione definita dall'utente corrispondente. Per un messaggio da dispositivo a cloud c'è un solo requisito. Mantenere un set di proprietà per assicurarsi che il messaggio venga instradato in modo appropriato al motore di elaborazione.

Proprietà di telemetria

Il contenuto del payload di un messaggio può essere costituito da dati arbitrari con dimensioni massime di 256 KB. Per le proprietà del tipo Message.Properties sono previsti alcuni requisiti. La tabella mostra le proprietà obbligatorie e facoltative supportate dal sistema.

Nome proprietà Valore Obbligatorio Descrizione
DigitalTwins-Telemetry 1.0 Valore costante che identifica un messaggio al sistema.
DigitalTwins-SensorHardwareId string(72) Identificatore univoco del sensore che invia il messaggio. Questo valore deve corrispondere alla proprietà HardwareId di un oggetto affinché il sistema possa elaborarlo. Ad esempio: 00FF0643BE88-CO2.
CreationTimeUtc string No Stringa di data in formato ISO 8601 che identifica l'ora di campionamento del payload. Ad esempio: 2018-09-20T07:35:00.8587882-07:00.
CorrelationId string No UUID usato per tracciare gli eventi nel sistema. Ad esempio: cec16751-ab27-405d-8fe6-c68e1412ce1f.

Inviare il messaggio a Gemelli digitali

Usare la chiamata SendEventAsync o SendEventBatchAsync DeviceClient per inviare il messaggio a Gemelli digitali.

Passaggi successivi