Guida alla connettività dei dispositivi IoT Central
Un'applicazione IoT Central consente di monitorare e gestire centinaia di migliaia di dispositivi durante il ciclo di vita. Questa guida è destinata agli sviluppatori di dispositivi che implementano il codice da eseguire nei dispositivi che si connettono a IoT Central.
I dispositivi interagiscono con un'applicazione IoT Central usando le primitive seguenti:
- Telemetria, ovvero i dati che un dispositivo invia a IoT Central. Può trattarsi ad esempio di un flusso di valori di temperatura da un sensore a bordo.
- Proprietà, ovvero valori di stato che un dispositivo segnala a IoT Central. Può trattarsi ad esempio della versione corrente del firmware del dispositivo. Sono anche disponibili proprietà scrivibili che IoT Central può aggiornare nel dispositivo, ad esempio un obiettivo di temperatura.
- I comandi vengono chiamati da IoT Central per controllare il comportamento di un dispositivo. L'applicazione IoT Central, ad esempio, può chiamare un comando per riavviare un dispositivo.
Tipi di dispositivo
Le sezioni seguenti descrivono i tipi principali di dispositivo che è possibile connettere a un'applicazione IoT Central:
Dispositivo IoT
Un dispositivo IoT è un dispositivo autonomo che si connette direttamente a IoT Central. Un dispositivo IoT in genere invia dati di telemetria dai sensori di onboarding o connessi all'applicazione IoT Central. I dispositivi autonomi possono anche segnalare i valori delle proprietà, ricevere i valori delle proprietà scrivibili e rispondere ai comandi.
Dispositivo IoT Edge
Un dispositivo IoT Edge si connette direttamente a IoT Central. Un dispositivo IoT Edge può inviare dati di telemetria, segnalarne le proprietà e rispondere agli aggiornamenti e ai comandi delle proprietà scrivibili. I moduli IoT Edge elaborano i dati in locale nel dispositivo IoT Edge. Un dispositivo IoT Edge può fungere anche da intermediario per altri dispositivi noti come dispositivi downstream. Gli scenari che usano dispositivi IoT Edge includono:
- Aggregare o filtrare i dati di telemetria prima di inviarli a IoT Central. Questo approccio consente di ridurre i costi di invio di dati a IoT Central.
- Abilitare i dispositivi che non possono connettersi direttamente a IoT Central per connettersi tramite il dispositivo IoT Edge. Ad esempio, un dispositivo downstream potrebbe usare bluetooth per connettersi al dispositivo IoT Edge, che quindi si connette tramite Internet a IoT Central.
- Controllare i dispositivi downstream in locale per evitare la latenza associata alla connessione a IoT Central tramite Internet.
IoT Central vede solo il dispositivo IoT Edge, non i dispositivi downstream connessi al dispositivo IoT Edge.
Per altre informazioni, vedere Aggiungere un dispositivo Azure IoT Edge nell'applicazione Azure IoT Central.
Gateway
Un dispositivo gateway gestisce uno o più dispositivi downstream che si connettono all'applicazione IoT Central. Un dispositivo gateway può elaborare i dati di telemetria dai dispositivi downstream prima di inoltrarlo all'applicazione IoT Central. Sia i dispositivi IoT che i dispositivi IoT Edge possono fungere da gateway. Per altre informazioni, vedere Definire un nuovo tipo di dispositivo gateway IoT nell'applicazione Azure IoT Central e Come connettere i dispositivi tramite un gateway trasparente IoT Edge.
Modalità di connessione dei dispositivi
Quando si connette un dispositivo a IoT Central, vengono eseguite le fasi seguenti: registrazione, provisioning e connessione.
Per informazioni sui motivi per cui i dispositivi devono usare sempre il servizio Device Provisioning per connettersi a IoT Central, vedere Implementazione dei dispositivi e procedure consigliate per IoT Central.
Per informazioni su come monitorare lo stato di un dispositivo, vedere Monitorare i dispositivi.
Registrazione di un dispositivo
Quando si registra un dispositivo con IoT Central, si indica a IoT Central l'ID univoco del dispositivo che si vuole connettere all'applicazione. Facoltativamente in questa fase, è possibile assegnare il dispositivo a un modello di dispositivo che dichiara le funzionalità del dispositivo all'applicazione.
Suggerimento
Un ID dispositivo può contenere lettere, numeri e il carattere -
.
Esistono tre modi per registrare un dispositivo in un'applicazione IoT Central:
Registrare automaticamente i dispositivi al primo tentativo di connessione. Questo scenario consente agli OEM di produrre dispositivi di massa che possono connettersi senza essere registrati per primi. Per altre informazioni, vedere Registrare automaticamente i dispositivi.
Aggiungere dispositivi in blocco da un file CSV. Per altre informazioni, vedere Importare i dispositivi.
Usare la pagina Dispositivi nell'applicazione IoT Central per registrare i dispositivi singolarmente. Per altre informazioni, vedere Aggiungere un dispositivo.
Facoltativamente, è possibile richiedere a un operatore di approvare il dispositivo prima di iniziare a inviare dati.
Suggerimento
Nella pagina Autorizzazioni Gruppi > di connessioni dispositivo l'opzione Approvazione automatica controlla se un operatore deve approvare manualmente il dispositivo prima di iniziare a inviare i dati.
È necessario registrare un dispositivo una sola volta nell'applicazione IoT Central.
Effettuare il provisioning di un dispositivo
Quando un dispositivo tenta per la prima volta di connettersi all'applicazione IoT Central, avvia il processo connettendosi al servizio Device Provisioning . Il servizio Device Provisioning controlla le credenziali del dispositivo e, se sono validi, effettua il provisioning del dispositivo con il stringa di connessione per uno degli hub IoT interni di IoT Central. Dps usa le configurazioni di registrazione del gruppo nell'applicazione IoT Central per gestire automaticamente questo processo di provisioning.
Suggerimento
Il dispositivo invia anche il valore dell'ambito ID che indica a DPS l'applicazione IoT Central a cui si connette il dispositivo. È possibile cercare l'ambito ID nell'applicazione IoT Central nella pagina Gruppi di connessioni del dispositivo autorizzazioni>.
In genere, un dispositivo deve memorizzare nella cache il stringa di connessione ricevuto dal servizio Device Provisioning, ma deve essere preparato a recuperare nuovi dettagli di connessione se la connessione corrente non riesce. Per altre informazioni, vedere Gestire gli errori di connessione.
Con il servizio Device Provisioning:
- IoT Central per eseguire l'onboarding e connettere i dispositivi su larga scala.
- È possibile generare le credenziali del dispositivo e configurare i dispositivi offline senza registrare i dispositivi tramite l'interfaccia utente di IoT Central.
- È possibile usare ID dispositivo personalizzati per registrare i dispositivi in IoT Central. L'uso di ID dispositivo personalizzati semplifica l'integrazione con i sistemi back-office esistenti.
- È disponibile un singolo modo coerente per connettere i dispositivi a IoT Central.
Autenticare e connettere il dispositivo
Un dispositivo usa le credenziali e i stringa di connessione ricevuti dal servizio Device Provisioning per connettersi ed eseguire l'autenticazione con l'applicazione IoT Central. Un dispositivo deve anche inviare un ID modello che identifica il modello di dispositivo a cui è assegnato.
IoT Central supporta due tipi di credenziali dei dispositivi:
- Firme di accesso condiviso
- Certificati X.509
Per altre informazioni, vedere Concetti relativi all'autenticazione del dispositivo.
Tutti i dati scambiati tra i dispositivi e Azure IoT Central vengono crittografati. L'hub IoT autentica ogni richiesta da un dispositivo che si connette a qualsiasi endpoint dell'hub IoT a contatto con i dispositivi. Per evitare lo scambio di credenziali nella rete, un dispositivo usa i token firmati per l'autenticazione. Per altre informazioni, vedere Controllare l'accesso all'hub IoT.
Modelli di connettività
Gli sviluppatori di dispositivi usano in genere uno degli SDK per dispositivi per implementare i dispositivi che si connettono a un'applicazione IoT Central. Alcuni scenari, ad esempio per i dispositivi che non possono connettersi a Internet, richiedono anche un gateway.
Una progettazione di soluzioni deve tenere conto del modello di connettività del dispositivo richiesto. Questi modelli rientrano in due categorie generali. Entrambe le categorie includono i dispositivi che inviano dati di telemetria all'applicazione IoT Central:
Connessioni permanenti
Per le connessioni permanenti sono necessarie le funzionalità di comando e controllo della soluzione. Negli scenari di comando e controllo, l'applicazione IoT Central invia comandi ai dispositivi per controllarne il comportamento quasi in tempo reale. Le connessioni permanenti mantengono una connessione di rete al cloud e si riconnettono ogni volta che si verifica un'interruzione. Usare il protocollo MQTT o AMQP per le connessioni dispositivo persistenti a IoT Central.
Le opzioni seguenti supportano le connessioni persistenti dei dispositivi:
Usare gli SDK per dispositivi IoT per connettere i dispositivi e inviare dati di telemetria:
Gli SDK del dispositivo abilitano sia i protocolli MQTT che AMQP per la creazione di connessioni persistenti a IoT Central.
Connettere i dispositivi tramite una rete locale a un dispositivo IoT Edge che inoltra i dati di telemetria a IoT Central:
Un dispositivo IoT Edge può stabilire una connessione permanente a IoT Central. Per i dispositivi che non possono connettersi a Internet o che richiedono l'isolamento della rete, usare un dispositivo IoT Edge come gateway locale. Il gateway inoltra i dati di telemetria del dispositivo a IoT Central. Questa opzione abilita il comando e il controllo dei dispositivi downstream connessi al dispositivo IoT Edge.
Per altre informazioni, vedere Connettere i dispositivi Azure IoT Edge a un'applicazione Azure IoT Central.
Usare IoT Central Device Bridge per connettere i dispositivi che usano un protocollo personalizzato:
Alcuni dispositivi usano un protocollo o una codifica, ad esempio LWM2M o COAP, che IoT Central non supporta attualmente. IoT Central Device Bridge funge da traduttore che inoltra i dati di telemetria a IoT Central.
Per altre informazioni, vedere il repository GitHub di Azure IoT Central Device Bridge .
Connessioni temporanee
Le connessioni temporanee sono brevi connessioni per i dispositivi per inviare dati di telemetria all'applicazione IoT Central. Dopo l'invio dei dati di telemetria da parte di un dispositivo, la connessione viene interrotta. Il dispositivo si riconnette quando ci sono altri dati di telemetria da inviare. Le connessioni temporanee non sono adatte a scenari di comando e controllo.
Le opzioni seguenti supportano le connessioni temporanee dei dispositivi:
Connettere i dispositivi e inviare dati di telemetria tramite HTTP:
IoT Central supporta i client di dispositivi che usano l'API HTTP per inviare dati di telemetria. Per altre informazioni, vedere la documentazione dell'API Di invio di eventi del dispositivo.
Nota
Usare DPS per effettuare il provisioning e registrare il dispositivo con IoT Central prima di usare l'API HTTP per inviare dati di telemetria.
Usare IoT Central Device Bridge in modalità senza stato per connettere i dispositivi:
Distribuire IoT Central Device Bridge come funzione di Azure. La funzione accetta i dati di telemetria in ingresso come richieste HTTP e li inoltra a IoT Central. IoT Central Device Bridge si integra con DPS e gestisce automaticamente il provisioning dei dispositivi.
Per altre informazioni, vedere Repository GitHub di Azure IoT Central Device Bridge .
Usare IoT Central Device Bridge in modalità senza stato per connettere cloud esterni:
Usare Azure IoT Central Device Bridge per inoltrare messaggi a IoT Central da altri cloud IoT, ad esempio SigFox, Particle e The Things Network.
Per altre informazioni, vedere Repository GitHub di Azure IoT Central Device Bridge .
Trasformazione dei dati e calcolo personalizzato in ingresso
Alcuni scenari richiedono l'aumento dei dati di telemetria dei dispositivi con dati provenienti da sistemi o archivi esterni. L'aumento dei dati di telemetria prima che raggiunga IoT Central consenta funzionalità come dashboard e regole per l'uso dei dati aumentati.
Alcuni scenari richiedono di trasformare i dati di telemetria prima di raggiungere IoT Central. Ad esempio, la trasformazione dei dati di telemetria dai formati legacy.
Per le trasformazioni o i calcoli personalizzati sono disponibili le opzioni seguenti prima che IoT Central inserisca i dati di telemetria:
Usare IoT Edge:
Usare moduli personalizzati in IoT Edge per trasformazioni e calcoli personalizzati. Usare IoT Edge quando i dispositivi usano gli SDK per dispositivi Azure IoT.
Usare il bridge di dispositivi IoT Central:
Usare adattatori IoT Central Device Bridge per trasformazioni e calcoli personalizzati.
Per altre informazioni, vedere Trasformare i dati per IoT Central.
Passaggi successivi
Per gli sviluppatori di dispositivi che desiderano approfondire il codice, il passaggio successivo suggerito consiste nel Creare e connettere un'applicazione client all'applicazione Azure IoT Central.
Per altre informazioni sull'implementazione dei dispositivi, vedere Implementazione del dispositivo e procedure consigliate per IoT Central.
Per altre informazioni sull'uso di IoT Central, i passaggi successivi suggeriti sono provare le guide introduttive, a partire da Creare un'applicazione Azure IoT Central.