Panoramica del servizio hub IoT di AzureOverview of the Azure IoT Hub service

Benvenuti nell’hub IoT di Azure.Welcome to Azure IoT Hub. Questo articolo offre una panoramica dell'hub IoT di Azure e descrive il motivo per cui è consigliabile usare questo servizio quando si implementa una soluzione Internet delle cose (IoT).This article provides an overview of Azure IoT Hub and describes why you should use this service to implement an Internet of Things (IoT) solution. L'hub IoT di Azure è un servizio completamente gestito che consente comunicazioni bidirezionali affidabili e sicure tra milioni di dispositivi IoT e un back-end della soluzione.Azure IoT Hub is a fully managed service that enables reliable and secure bidirectional communications between millions of IoT devices and a solution back end. L'hub IoT di Azure:Azure IoT Hub:

  • Offre più opzioni di comunicazione da dispositivo a cloud e da cloud a dispositivo.Provides multiple device-to-cloud and cloud-to-device communication options. Queste opzioni includono la messaggistica unidirezionale, il trasferimento di file e i metodi di richiesta-risposta.These options include one-way messaging, file transfer, and request-reply methods.
  • Fornisce routing incorporato dichiarativo dei messaggi ad altri servizi di Azure.Provides built-in declarative message routing to other Azure services.
  • Offre un archivio in cui eseguire query sui metadati e informazioni di stato sincronizzate.Provides a queryable store for device metadata and synchronized state information.
  • Abilita comunicazioni sicure e controllo di accesso tramite chiavi di sicurezza per dispositivo o certificati X.509.Enables secure communications and access control using per-device security keys or X.509 certificates.
  • Fornisce un monitoraggio esteso per gli eventi relativi alla connettività dei dispositivi e alla gestione delle identità dei dispositivi.Provides extensive monitoring for device connectivity and device identity management events.
  • Comprende librerie di dispositivi per i linguaggi e le piattaforme più diffusi.Includes device libraries for the most popular languages and platforms.

L'articolo Confronto tra l'hub IoT e Hub eventi descrive le differenze più importanti tra questi due servizi e mette in evidenza i vantaggi dell'uso dell'hub IoT nelle soluzioni IoT.The article Comparison of IoT Hub and Event Hubs describes the key differences between these two services and highlights the advantages of using IoT Hub in your IoT solutions.

Per altre informazioni su come Azure e l'hub IoT proteggono la soluzione IoT, vedere Sicurezza dell'Internet of Things sin dall'inizio.For more information on how Azure and IoT Hub help secure your IoT solution, see Internet of Things security from the ground up.

Hub IoT di Azure come gateway cloud in una soluzione Internet delle cose

Nota

Per un'analisi approfondita dell'architettura IoT, vedere Microsoft Azure IoT Reference Architecture (Architettura di riferimento di Microsoft Azure IoT).For an in-depth discussion of IoT architecture, see the Microsoft Azure IoT Reference Architecture.

Problematiche relative alla connettività dei dispositivi IoTIoT device-connectivity challenges

L’hub IoT e le librerie di dispositivi consentono di risolvere le problematiche relative alla connessione affidabile e sicura dei dispositivi al back-end della soluzione.IoT Hub and the device libraries help you to meet the challenges of how to reliably and securely connect devices to the solution back end. Dispositivi IoT:IoT devices:

  • Sono spesso sistemi incorporati senza operatore umano.Are often embedded systems with no human operator.
  • Possono trovarsi in località remote, dove l'accesso fisico è molto costoso.Can be in remote locations, where physical access is expensive.
  • Possono essere raggiungibili solo tramite il back-end della soluzione.May only be reachable through the solution back end.
  • Possono avere risorse di alimentazione e di elaborazione limitate.May have limited power and processing resources.
  • Possono disporre di una connettività di rete intermittente, lenta o costosa.May have intermittent, slow, or expensive network connectivity.
  • Possono richiedere protocolli di applicazioni proprietari, personalizzati o specifici del settore.May need to use proprietary, custom, or industry-specific application protocols.
  • Possono essere create utilizzando un'ampia gamma di piattaforme hardware e software molto comuni.Can be created using a large set of popular hardware and software platforms.

Oltre ai requisiti precedenti, le soluzioni IoT devono offrire scalabilità, sicurezza e affidabilità.In addition to the requirements above, any IoT solution must also deliver scale, security, and reliability. L'implementazione del set di requisiti di connettività con tecnologie tradizionali, come i contenitori Web e i broker di messaggistica, è un'attività lunga e complessa.The resulting set of connectivity requirements is hard and time-consuming to implement when you use traditional technologies, such as web containers and messaging brokers.

Perché usare l'hub IoT di Azure?Why use Azure IoT Hub?

L'hub IoT di Azure offre un set avanzato di opzioni di comunicazione da dispositivo a cloud e da cloud a dispositivo.Azure IoT Hub offers a rich set of device-to-cloud and cloud-to-device communication options. L'hub IoT di Azure risolve anche i problemi relativi alla connessione affidabile e sicura ai dispositivi nei modi seguenti:Additionally, Azure IoT Hub addresses the challenges that come with reliably and securely connecting to devices in the following ways:

  • Dispositivi gemelli.Device twins. Con l'uso dei dispositivi gemelli , è possibile archiviare, sincronizzare ed eseguire query sui metadati e sulle informazioni di stato del dispositivo.Using Device twins, you can store, synchronize, and query device metadata and state information. I dispositivi gemelli sono documenti JSON nei quali vengono archiviate informazioni sullo stato dei dispositivi, ad esempio metadati, configurazioni e condizioni.Device twins are JSON documents that store device state information like metadata, configurations, and conditions. L'hub IoT mantiene un dispositivo gemello per ogni dispositivo che viene connesso all'hub IoT.IoT Hub maintains a device twin for each device that you connect to IoT Hub.

  • Autenticazione e connettività sicura per ogni dispositivo.Per-device authentication and secure connectivity. È possibile effettuare il provisioning di ogni dispositivo con la chiave di sicurezza per consentire la connessione all'hub IoT.You can provision each device with its own security key to enable it to connect to IoT Hub. Il registro di identità dell'hub IoT archivia le identità e le chiavi dei dispositivi in una soluzione.The IoT Hub identity registry stores device identities and keys in a solution. Un back-end della soluzione può aggiungere singoli dispositivi per negare o consentire il controllo completo dell'accesso ai dispositivi.A solution back end can add individual devices to allow or deny lists to enable complete control over device access.

  • Indirizzare i messaggi da dispositivo a cloud a servizi di Azure sulla base di regole dichiarative.Route device-to-cloud messages to Azure services based on declarative rules. L'hub IoT consente di definire route messaggi sulla base di regole per il routing, per controllare la destinazione a cui l'hub invia i messaggi da dispositivo a cloud.IoT Hub enables you to define message routes based on routing rules to control where your hub sends device-to-cloud messages. Le regole di routing non richiedono la scrittura di codice e possono sostituire dispatcher di messaggi post-inserimento personalizzati.Routing rules do not require you to write any code, and can take the place of custom post-ingestion message dispatchers.

  • Monitoraggio delle operazioni di connettività dei dispositivi.Monitoring of device connectivity operations. È possibile ricevere i log dettagliati sulle operazioni di gestione delle identità dei dispositivi e sugli eventi di connettività dei dispositivi.You can receive detailed operation logs about device identity management operations and device connectivity events. Questa funzionalità di monitoraggio consente alla soluzione IoT di identificare i problemi di connettività.This monitoring capability enables your IoT solution to identify connectivity issues. Usare questi log per identificare i dispositivi che forniscono credenziali non valide, inviano messaggi troppo spesso o rifiutano tutti i dispositivi da cloud a dispositivo.Use these logs to identify devices that provide wrong credentials, send messages too frequently, or reject all cloud-to-device messages.

  • Un set completo di librerie di dispositivi.An extensive set of device libraries. Gli Azure IoT SDK per dispositivi sono disponibili e supportati per vari linguaggi e piattaforme: C per diverse distribuzioni Linux, Windows e sistemi operativi in tempo reale.Azure IoT device SDKs are available and supported for various languages and platforms--C for many Linux distributions, Windows, and real-time operating systems. Gli SDK per dispositivi Azure IoT supportano inoltre linguaggi gestiti, ad esempio C#, Java e JavaScript.Azure IoT device SDKs also support managed languages, such as C#, Java, and JavaScript.

  • Protocolli IoT ed estensibilità.IoT protocols and extensibility. Se la soluzione non può usare le librerie dei dispositivi, l'hub IoT espone un protocollo pubblico che consente ai dispositivi di usare i protocolli MQTT v3.1.1, HTTPS 1.1 o AMQP 1.0 in modalità nativa.If your solution cannot use the device libraries, IoT Hub exposes a public protocol that enables devices to natively use the MQTT v3.1.1, HTTPS 1.1, or AMQP 1.0 protocols. È anche possibile estendere l'hub IoT per supportare protocolli personalizzati tramite le operazioni seguenti:You can also extend IoT Hub to support custom protocols by:

    • Creazione di un gateway sul campo con Azure IoT Edge che converte il protocollo personalizzato in uno dei tre protocolli riconosciuti dall'hub IoT.Creating a field gateway with Azure IoT Edge that converts your custom protocol to one of the three protocols understood by IoT Hub.
    • Personalizzazione del gateway del protocollo IoT di Azure, un componente open source che viene eseguito nel cloud.Customizing the Azure IoT protocol gateway, an open source component that runs in the cloud.
  • Scalabilità.Scale. L'hub IoT di Azure è adattabile a milioni di dispositivi simultaneamente connessi e a milioni di eventi al secondo.Azure IoT Hub scales to millions of simultaneously connected devices and millions of events per second.

GatewayGateways

In una soluzione IoT un gateway è generalmente un gateway del protocollo distribuito nel cloud o un gateway sul campo distribuito nei dispositivi locali.A gateway in an IoT solution is typically either a protocol gateway deployed in the cloud or a field gateway deployed locally with your devices. Un gateway del protocollo effettua la conversione tra protocolli, ad esempio da MQTT ad AMQP.A protocol gateway performs protocol translation, for example MQTT to AMQP. Un gateway sul campo può eseguire analisi perimetrali, prendere decisioni rapide per ridurre la latenza, offrire servizi di gestione dei dispositivi, applicare vincoli sulla sicurezza e la privacy, nonché eseguire la conversione del protocollo.A field gateway can run analytics on the edge, make time-sensitive decisions to reduce latency, provide device management services, enforce security and privacy constraints, and also perform protocol translation. Entrambi i tipi di gateway fungono da intermediari tra i dispositivi e l'hub IoT.Both gateway types act as intermediaries between your devices and your IoT Hub.

Un gateway sul campo differisce da un semplice dispositivo di routing del traffico, ad esempio un firewall o un dispositivo NAT (Network Address Translation), in quanto in genere esegue un ruolo attivo nella gestione dell'accesso e del flusso di informazioni nella soluzione.A field gateway differs from a simple traffic routing device (such as a network address translation device or firewall) because it typically performs an active role in managing access and information flow in your solution.

Una soluzione può includere sia gateway di protocollo che gateway campo.A solution may include both protocol and field gateways.

Come funziona l’Hub IoT?How does IoT Hub work?

L'hub IoT di Azure implementa il modello di comunicazione assistita con i servizi per eseguire la mediazione delle interazioni tra i dispositivi e il back-end della soluzione.Azure IoT Hub implements the service-assisted communication pattern to mediate the interactions between your devices and your solution back end. L'obiettivo della comunicazione assistita con i servizi è stabilire percorsi di comunicazione bidirezionali attendibili tra sistemi di controllo, ad esempio l'hub IoT, e dispositivi per scopi specifici in uno spazio fisico non attendibile.The goal of service-assisted communication is to establish trustworthy, bidirectional communication paths between a control system, such as IoT Hub, and special-purpose devices in untrusted physical space. Il modello stabilisce i principi seguenti:The pattern establishes the following principles:

  • La sicurezza ha la precedenza su tutte le altre funzionalità.Security takes precedence over all other capabilities.

  • I dispositivi non accettano informazioni di rete non richieste.Devices do not accept unsolicited network information. Un dispositivo stabilisce tutte le connessioni e le route in modalità solo in uscita.A device establishes all connections and routes in an outbound-only fashion. Per ricevere un comando dal back-end di soluzione, il dispositivo deve avviare periodicamente una connessione per cercare eventuali comandi in sospeso da elaborare.For a device to receive a command from the solution back end, the device must regularly initiate a connection to check for any pending commands to process.

  • I dispositivi possono stabilire una connessione o una route solo con i servizi noti con peering, ad esempio un hub IoT.Devices should only connect to or establish routes to well-known services they are peered with, such as IoT Hub.

  • Il percorso di comunicazione tra dispositivo e servizio o tra dispositivo e gateway viene protetto a livello di protocollo dell'applicazione.The communication path between device and service or between device and gateway is secured at the application protocol layer.

  • L'autenticazione e l'autorizzazione a livello di sistema sono basate sulle identità per ogni dispositivo.System-level authorization and authentication are based on per-device identities. Rendono le credenziali di accesso e le autorizzazioni revocabili quasi immediatamente.They make access credentials and permissions nearly instantly revocable.

  • Per i dispositivi connessi in modo intermittente a causa di problemi di alimentazione o di connettività, la comunicazione bidirezionale funziona trattenendo i comandi e le notifiche finché un dispositivo non si connette per riceverli.For devices that connect sporadically due to power or connectivity concerns, bidirectional communication works by holding commands and notifications until a device connects to receive them. L'hub IoT conserva le code specifiche dei dispositivi per i comandi inviati.IoT Hub maintains device-specific queues for the commands it sends.

  • I dati di payload delle applicazioni possono essere protetti separatamente per il transito sicuro dai gateway a un determinato servizio.Application payload data is secured separately for protected transit through gateways to a particular service.

Il modello di comunicazione assistita con i servizi è stato usato nel settore dei dispositivi mobili per implementare i servizi di notifica push, ad esempio Servizi notifica Push Windows, Google Cloud Messaging e Apple Push Notification Service.The mobile industry has used the service-assisted communication pattern to implement push notification services such as Windows Push Notification Services, Google Cloud Messaging, and Apple Push Notification Service.

L'hub IoT è supportato tramite il percorso di peering pubblico di ExpressRoute.IoT Hub is supported over ExpressRoute's public peering path.

Passaggi successiviNext steps

Per informazioni su come inviare messaggi da un dispositivo e riceverli dall'hub IoT, oltre che su come configurare route messaggi, vedere Inviare e ricevere messaggi con l'hub IoT.To learn how to send messages from a device and receive them from IoT Hub, as well as how to configure message routes, see Send and receive messages with IoT Hub.

Per informazioni su come l'hub IoT consente la gestione dei dispositivi basata su standard per gestire, configurare e aggiornare i dispositivi in modalità remota, vedere Panoramica della gestione dei dispositivi con l'hub IoT.To learn how IoT Hub enables standards-based device management for you to remotely manage, configure, and update your devices, see Overview of device management with IoT Hub.

Per implementare le applicazioni client su una vasta gamma di piattaforme hardware e sistemi operativi per dispositivi, è possibile usare Azure IoT SDK per dispositivi.To implement client applications on a wide variety of device hardware platforms and operating systems, you can use the Azure IoT device SDKs. Gli SDK per dispositivi includono librerie che facilitano l'invio di dati di telemetria a un hub IoT e la ricezione di messaggi da cloud a dispositivo.The device SDKs include libraries that facilitate sending telemetry to an IoT hub and receiving cloud-to-device messages. Quando si usano gli SDK dei dispositivi, è possibile scegliere tra diversi protocolli di rete per comunicare con l'hub IoT.When you use the device SDKs, you can choose from various network protocols to communicate with IoT Hub. Per altre informazioni, vedere le informazioni sugli SDK per dispositivi.To learn more, see the information about device SDKs.

Per iniziare a scrivere codice ed eseguire alcuni esempi, vedere l'esercitazione Introduzione all'hub IoT.To get started writing some code and running some samples, see the Get started with IoT Hub tutorial.