Che cos'è l'hub IoT Azure?
Internet delle cose (IoT) è una rete di dispositivi fisici che si connettono e scambiano dati con altri dispositivi e servizi tramite Internet o altre reti. Attualmente ci sono oltre dieci miliardi di dispositivi connessi al mondo e più vengono aggiunti ogni anno. Tutto ciò che può essere incorporato con i sensori e il software necessari possono essere connessi tramite Internet.
L'hub IoT di Azure è un servizio gestito, ospitato nel cloud, che funge da hub centrale di messaggi per le comunicazioni bidirezionali tra l'applicazione di IoT e i relativi dispositivi collegati. È possibile connettere milioni di dispositivi e le relative soluzioni back-end in modo affidabile e sicuro. Quasi tutti i dispositivi possono essere connessi a un hub IoT.
Sono supportati diversi modelli di messaggistica, inclusi i messaggi da dispositivo a cloud, il caricamento di file dai dispositivi e i metodi request-reply per controllare i dispositivi dal cloud. hub IoT supporta anche il monitoraggio per tenere traccia della creazione, delle connessioni dei dispositivi e degli errori dei dispositivi.
L'hub IoT è adattabile a milioni di dispositivi simultaneamente connessi e a milioni di eventi al secondo per supportare i carichi di lavoro IoT del cliente.
È possibile integrare l'hub IoT con altri servizi di Azure per compilare soluzioni end-to-end complete. Ad esempio, usare:
Griglia di eventi di Azure consente all'azienda di reagire rapidamente a eventi critici in modo affidabile, scalabile e sicuro.
App per la logica di Azure per automatizzare i processi aziendali.
Azure Machine Learning per aggiungere la machine learning e tutti i modelli alla soluzione dell'utente.
Analisi di flusso di Azure per eseguire calcoli di analisi in tempo reale sui dati di streaming dai dispositivi.
Dispositivi IoT
I dispositivi IoT differiscono da altri client, ad esempio browser e app per dispositivi mobili. I dispositivi IoT in particolare:
- Sono spesso sistemi incorporati senza operatore umano.
- Può essere distribuito in posizioni remote in cui l'accesso fisico è costoso.
- Potrebbe essere raggiungibile solo tramite il back-end della soluzione.
- Potrebbe avere risorse di alimentazione ed elaborazione limitate.
- Potrebbe avere connettività di rete intermittente, lenta o costosa.
- Potrebbe essere necessario usare protocolli applicativi proprietari, personalizzati o specifici del settore.
Identità e autenticazione del dispositivo
A ogni hub IoT è associato un registro delle identità in cui sono archiviate le informazioni sui dispositivi e i moduli a cui è consentito connettersi all'hub IoT. Prima che un dispositivo o modulo possa connettersi, è necessario che sia presente una voce relativa al dispositivo o al modulo nel registro delle identità dell'hub IoT. Un dispositivo o un modulo deve autenticarsi anche con l'hub IoT in base alle credenziali archiviate nel registro delle identità.
Sono supportati due metodi di autenticazione tra il dispositivo e l'hub IoT. È possibile usare l'autenticazione basata su token di firma di accesso condiviso o l'autenticazione del certificato X.509.
Il metodo token di firma di accesso condiviso fornisce l'autenticazione per ogni chiamata effettuata dal dispositivo a hub IoT associando la chiave simmetrica a ogni chiamata. L'autenticazione X.509 consente l'autenticazione di un dispositivo IoT a livello fisico come parte della definizione di connessione standard TLS (Transport Layer Security). La scelta tra i due metodi dipende dalla sicurezza dell'autenticazione del dispositivo e dalla possibilità di archiviare la chiave privata in modo sicuro nel dispositivo.
È possibile configurare ed effettuare il provisioning di molti dispositivi alla volta usando il servizio Device Provisioning hub IoT.
Per altre informazioni, vedere Gestione e controllo dei dispositivi.
Comunicazione del dispositivo
La connessione Internet tra il dispositivo IoT e hub IoT è protetta usando lo standard Transport Layer Security (TLS). Azure IoT supporta TLS 1.2, TLS 1.1 e TLS 1.0, in questo ordine. Il supporto per lo standard TLS 1.0 viene fornito soltanto per la compatibilità con le versioni precedenti. Controllare il supporto TLS in hub IoT per informazioni su come configurare l'hub per l'uso di TLS 1.2, che offre la massima sicurezza.
In genere, i dispositivi IoT inviano dati dai sensori ai servizi back-end nel cloud. Tuttavia, sono possibili altri tipi di comunicazione, ad esempio un servizio back-end che invia comandi ai dispositivi. Ad esempio:
- Un camion di raffreddamento che invia temperatura ogni 5 minuti a un hub IoT.
- Un servizio back-end che invia un comando a un dispositivo per modificare la frequenza con cui invia i dati per diagnosticare un problema.
- Un dispositivo che monitora un reattore in batch in un impianto chimico, inviando un avviso quando la temperatura supera un determinato valore.
Per altre informazioni, vedere Infrastruttura e connettività dei dispositivi.
Telemetria del dispositivo
Alcuni esempi di dati di telemetria ricevuti da un dispositivo possono includere dati del sensore, ad esempio velocità o temperatura, un messaggio di errore, ad esempio un evento perso o un messaggio informativo per indicare che il dispositivo è integro. I dispositivi IoT inviano eventi a un'applicazione per ottenere informazioni dettagliate. Le applicazioni potrebbero richiedere subset specifici di eventi per l'elaborazione o l'archiviazione in endpoint diversi.
Proprietà dei dispositivi
Le proprietà possono essere lette o impostate dall'hub IoT e possono essere usate per inviare notifiche al termine di un'azione. Un esempio di proprietà specifica in un dispositivo è la temperatura. La temperatura può essere una proprietà scrivibile che può essere aggiornata nel dispositivo o letta da un sensore di temperatura collegato al dispositivo.
È possibile abilitare le proprietà in hub IoT usando Dispositivi gemelli o Plug and Play.
Comandi del dispositivo
Un esempio di comando è il riavvio di un dispositivo. hub IoT implementa i comandi consentendo di richiamare metodi diretti nei dispositivi. I metodi diretti rappresentano un'interazione request-reply con un dispositivo simile a una chiamata HTTP in cui hanno esito positivo o negativo immediatamente (dopo un timeout specificato dall'utente). Questo approccio è utile per gli scenari in cui la linea di condotta immediata è diversa a seconda che il dispositivo sia in grado di rispondere o meno,
Agire sui dati del dispositivo
hub IoT offre la possibilità di sbloccare il valore dei dati del dispositivo con altri servizi di Azure, in modo da poter passare alla risoluzione predittiva dei problemi anziché alla gestione reattiva. Connettere l'hub IoT con altri servizi di Azure per eseguire machine learning, analisi e intelligenza artificiale per agire sui dati in tempo reale, ottimizzare l'elaborazione e ottenere informazioni più approfondite.
Nota
L'hub IoT di Azure non archivia né elabora i dati dei clienti all'esterno dell'area geografica in cui si distribuisce l'istanza del servizio. Per altre informazioni, vedere Replica tra aree in Azure.
L'endpoint predefinito raccoglie i dati del dispositivo per impostazione predefinita
Un endpoint predefinito raccoglie i dati dal dispositivo per impostazione predefinita. I dati vengono raccolti usando un modello di richiesta-risposta su endpoint dispositivo IoT dedicati, sono disponibili per una durata massima di sette giorni e possono essere usati per eseguire azioni su un dispositivo. I dati accettati dall'endpoint del dispositivo includono:
- Invio di messaggi da dispositivo a cloud.
- Ricezione di messaggi da cloud a dispositivo.
- Avvio di caricamenti di file.
- Recuperare e aggiornare le proprietà dei dispositivi gemelli.
- Ricezione di richieste di metodi diretti.
Per altre informazioni sugli endpoint dell'hub IoT, vedere Endpoint hub IoT.
Il routing dei messaggi invia dati ad altri endpoint
I dati possono anche essere indirizzati a servizi diversi per un'ulteriore elaborazione. Man mano che la soluzione IoT aumenta, anche il numero di dispositivi, il volume di eventi, la varietà di eventi e i diversi servizi variano. Per soddisfare le esigenze di questo modello, è necessario un metodo flessibile, scalabile, coerente e affidabile per instradare gli eventi. Per un'esercitazione che illustra più usi del routing dei messaggi, vedere Esercitazione: Inviare dati del dispositivo a Archiviazione di Azure usando hub IoT routing dei messaggi.
hub IoT supporta la configurazione di endpoint personalizzati per i servizi di Azure, tra cui contenitori di archiviazione, Hub eventi, code bus di servizio, argomenti bus di servizio e Cosmos DB. Dopo aver configurato l'endpoint, è possibile indirizzare i dati IoT a uno di questi endpoint per eseguire operazioni sui dati downstream.
hub IoT si integra anche con Griglia di eventi, che consente di fanout dei dati a più sottoscrittori. Griglia di eventi è un servizio eventi completamente gestito che consente di gestire facilmente gli eventi in molti servizi e applicazioni di Azure diversi. Griglia di eventi semplifica la creazione di applicazioni basate su eventi e architetture serverless.
Per altre informazioni, vedere Confrontare il routing dei messaggi e Griglia di eventi per hub IoT.
Passaggi successivi
Per provare una soluzione IoT end-to-end, consultare la Guida introduttiva di IoT Hub:
- Inviare dati di telemetria da un dispositivo a hub IoT
- Inviare dati di telemetria da un dispositivo Plug and Play IoT a hub IoT
- Guida introduttiva: Controllare un dispositivo connesso a un hub IoT
Per altre informazioni su come creare e distribuire soluzioni IoT con Azure, vedere: