Azure e Internet delle coseAzure and the Internet of Things

Microsoft Azure e Internet delle cose (IoT)Welcome to Microsoft Azure and the Internet of Things (IoT). Questo articolo descrive le caratteristiche comuni di una soluzione IoT nel cloud.This article describes the common characteristics of an IoT solution in the cloud. Le soluzioni IoT richiedono una comunicazione bidirezionale sicura tra dispositivi, possibilmente nell'ordine dei milioni, e un back-end della soluzione.IoT solutions require secure, bidirectional communication between devices, possibly numbering in the millions, and a solution back end. Una soluzione può ad esempio usare l'analisi predittiva e automatizzata per trovare informazioni dettagliate dal flusso di eventi da dispositivo a cloud.For example, a solution might use automated, predictive analytics to uncover insights from your device-to-cloud event stream.

Architettura della soluzione IoTIoT solution architecture

Il diagramma seguente mostra gli elementi chiave di una tipica architettura della soluzione IoT.The following diagram shows the key elements of a typical IoT solution architecture. Il diagramma è indipendente dai dettagli dell'implementazione specifica, ad esempio i servizi di Azure usati e i sistemi operativi dei dispositivi.The diagram is agnostic of the specific implementation details such as the Azure services used, and device operating systems. In questa architettura, i dispositivi IoT raccolgono i dati che inviano a un gateway nel cloud.In this architecture, IoT devices collect data that they send to a cloud gateway. Il gateway del cloud rende i dati disponibili per l'elaborazione da parte di altri servizi back-end.The cloud gateway makes the data available for processing by other back-end services. Questi servizi back-end possono inviare i dati a:These back-end services can deliver data to:

  • Altre applicazioni line-of-business.Other line-of-business applications.
  • Operatori umani tramite un dashboard o un altro dispositivo di presentazione.Human operators through a dashboard or other presentation device.

Architettura della soluzione IoT

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.

Connettività dei dispositiviDevice connectivity

In un'architettura della soluzione IoT i dispositivi in genere inviano i dati di telemetria al cloud per l'archiviazione e l'elaborazione.In an IoT solution architecture, devices typically send telemetry to the cloud for storage and processing. In uno scenario di manutenzione predittiva, ad esempio, il back-end della soluzione potrebbe usare il flusso di dati dei sensori per determinare quando una determinata pompa richiede manutenzione.For example, in a predictive maintenance scenario, the solution back end might use the stream of sensor data to determine when a specific pump requires maintenance. I dispositivi possono anche ricevere e rispondere a messaggi da cloud a dispositivo leggendo i messaggi da un endpoint cloud.Devices can also receive and respond to cloud-to-device messages by reading messages from a cloud endpoint. Nello stesso esempio il back-end della soluzione potrebbe inviare messaggi ad altre pompe della stazione di pompaggio per avviare il reinstradamento dei flussi appena prima che inizi l'intervento di manutenzione,In the same example, the solution back end might send messages to other pumps in the pumping station to begin rerouting flows just before maintenance is due to start. in modo che il tecnico della manutenzione possa iniziare subito il lavoro al suo arrivo.This procedure makes sure the maintenance engineer could get started as soon as she arrives.

La connessione sicura e affidabile dei dispositivi è spesso la sfida principale nelle soluzioni IoT.Connecting devices securely and reliably is often the biggest challenge in IoT solutions. I dispositivi IoT infatti presentano caratteristiche diverse da quelle di altri client, ad esempio browser e app per dispositivi mobili.This is because IoT devices have different characteristics as compared to other clients such as browsers and mobile apps. I dispositivi IoT in particolare:Specifically, IoT devices:

  • Sono spesso sistemi incorporati senza operatore umano (diversamente da un telefono).Are often embedded systems with no human operator (unlike a phone).
  • Possono essere distribuiti in località remote, dove l'accesso fisico è costoso.Can be deployed 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. Non esiste un altro modo per interagire con il dispositivo.There is no other way to interact with the device.
  • 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 vincoli precedenti, le soluzioni IoT devono essere anche scalabili, sicure e affidabili.In addition to the previous constraints, any IoT solution must also be scalable, secure, and reliable.

A seconda del protocollo di comunicazione e della disponibilità di rete, un dispositivo può comunicare con il cloud direttamente o tramite un gateway intermedio.Depending on the communication protocol and network availability, a device can either communicate directly, or through an intermediate gateway, with the cloud. Le architetture IoT presentano spesso una combinazione di questi due modelli di comunicazione.IoT architectures often have a mix of these two communication patterns.

e analisi dei datiData processing and analytics

Nelle moderne soluzioni IoT l'elaborazione dei dati può essere eseguita nel cloud o sul lato dispositivo.In modern IoT solutions, data processing can occur in the cloud or on the device side. L'elaborazione lato dispositivo viene detta elaborazione perimetrale.Device-side processing is referred as Edge computing. La scelta di dove elaborare i dati dipende da alcuni fattori, ad esempio:The choice of where to process data depends on factors such as:

  • Vincoli di rete.Network constraints. Se la larghezza di banda tra i dispositivi e il cloud è limitata, si è incentivati a preferire l'elaborazione perimetrale.If bandwidth between the devices and the cloud is limited, there is an incentive to do more edge processing.
  • Tempo di risposta.Response time. Se è necessario intervenire su un dispositivo in tempo quasi reale, può essere meglio elaborare la risposta nel dispositivo stesso,If there is a requirement to act on a device in near real time, it may be better to process the response in the device itself. ad esempio un braccio robotico che deve essere arrestato in caso di emergenza.For example, a robot arm that needs to be stopped in an emergency.
  • Ambiente normativo.Regulatory environment. Alcuni dati non possono essere inviati al cloud.Some data cannot be sent to the cloud.

In generale l'elaborazione dei dati sia nel dispositivo perimetrale che nel cloud è una combinazione delle funzionalità seguenti:In general, data processing both in the edge and in the cloud are a combination of the following capabilities:

  • Ricezione dei dati di telemetria su larga scala dai dispositivi e scelta di come elaborare e archiviare tali dati.Receiving telemetry at scale from your devices and determining how to process and store that data.
  • Analisi dei dati di telemetria per fornire informazioni dettagliate, sia in tempo reale che dopo un evento.Analyzing the telemetry to provide insights, whether they are in real time or after the fact.
  • Invio di comandi dal cloud o da un dispositivo gateway a un dispositivo specifico.Sending commands from the cloud or a gateway device to a specific device.

Un back-end cloud IoT deve anche offrire:Additionally, an IoT cloud back end should provide:

  • Funzionalità di registrazione del dispositivo che consentono di:Device registration capabilities that enable you to:
    • Effettuare il provisioning dei dispositivi.Provision devices.
    • Controllare a quali dispositivi è consentito connettersi all'infrastruttura.Control which devices are permitted to connect to your infrastructure.
  • Gestione dei dispositivi per controllarne lo stato e monitorarne le attività.Device management to control the state of your devices and monitor their activities.

In uno scenario di manutenzione predittiva, ad esempio, il back-end cloud archivia i dati di telemetria cronologici.For example, in a predictive maintenance scenario, the cloud back-end stores historical telemetry data. La soluzione usa questi dati per identificare un potenziale comportamento anomalo in pompe specifiche prima che causino un vero problema.The solution uses this data to identify potential anomalous behavior on specific pumps before they cause a real problem. Usando l'analisi dei dati, può stabilire che la soluzione preventiva è l'invio di un comando al dispositivo per eseguire un'azione correttiva.Using data analytics, it can identify that the preventative solution is to send a command back to the device to take a corrective action. Questo processo genera un ciclo di feedback automatizzato tra il dispositivo e il cloud che accresce notevolmente l'efficienza della soluzione.This process generates an automated feedback loop between the device and the cloud that greatly increases the solution efficiency.

Connettività aziendale e di presentazionePresentation and business connectivity

Il livello di connettività aziendale e di presentazione consente agli utenti finali di interagire con la soluzione IoT e i dispositivi.The presentation and business connectivity layer allows end users to interact with the IoT solution and the devices. Consente anche agli utenti di visualizzare e analizzare i dati raccolti dai dispositivi.It enables users to view and analyze the data collected from their devices. Queste visualizzazioni possono assumere la forma di dashboard o report di BI che possono mostrare sia i dati cronologici sia i dati quasi in tempo reale.These views can take the form of dashboards or BI reports that can display both historical data or near real-time data. Ad esempio, un operatore può controllare lo stato di determinate stazioni di pompaggio e vedere gli avvisi generati dal sistema.For example, an operator can check on the status of particular pumping station and see any alerts raised by the system. Questo livello consente anche l'integrazione della soluzione back-end IoT con le applicazioni line-of-business esistenti che possono legarsi ai processi o ai flussi di lavoro aziendali.This layer also allows integration of the IoT solution back-end with existing line-of-business applications to tie into enterprise business processes or workflows. Una soluzione di manutenzione predittiva, ad esempio, può essere integrata con un sistema di pianificazione per prenotare un tecnico per visitare una stazione di pompaggio quando identifica una pompa che richiede manutenzione.For example, a predictive maintenance solution can integrate with a scheduling system to book an engineer to visit a pumping station when it identifies a pump in need of maintenance.

Passaggi successiviNext steps

Hub IoT di Azure è un servizio che consente comunicazioni bidirezionali affidabili e sicure tra il back-end della soluzione e milioni di dispositivi.Azure IoT Hub is an Azure service that enables secure and reliable bi-directional communications between your solution back end and millions of devices. Consente al back-end della soluzione di:It enables the solution back end to:

  • Ricevere dati di telemetria su larga scala dai dispositivi.Receive telemetry at scale from your devices.
  • Instradare i dati dai dispositivi a un processore di eventi di flusso.Route data from your devices to a stream event processor.
  • Ricevere caricamenti di file dai dispositivi.Receive file uploads from devices.
  • Inviare messaggi da cloud a dispositivo a dispositivi specifici.Send cloud-to-device messages to specific devices.

È possibile usate l'hub IoT per implementare il back-end della propria soluzione.You can use IoT Hub to implement your own solution back end. L'hub IoT include anche un registro di identità usato per effettuare il provisioning di dispositivi, credenziali di sicurezza e relativi diritti per connettersi all'hub IoT.In addition, IoT Hub includes an identity registry used to provision devices, their security credentials, and their rights to connect to the IoT hub. Per altre informazioni sull'hub IoT, vedere Informazioni sull'hub IoT.To learn more about IoT Hub, see What is IoT Hub.

Per informazioni su come l'hub IoT di Azure consente la gestione dei dispositivi basata su standard per gestire i dispositivi in modalità remota, vedere Panoramica della gestione dei dispositivi con l'hub IoT.To learn how Azure IoT Hub enables standards-based device management for you to remotely manage 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 per dispositivi, è possibile scegliere tra diversi protocolli di rete per comunicare con l'hub IoT.When you use the device SDKs, you can choose from several network protocols to communicate with IoT Hub. Per altre informazioni, vedere 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.

Si potrebbe anche essere interessati a Azure IoT Suite, che è una raccolta di soluzioni preconfigurate.You may also be interested in Azure IoT Suite, which is a collection of preconfigured solutions. IoT Suite consente di iniziare rapidamente e scalare progetti IoT per indirizzare scenari di IoT comuni, quali il monitoraggio remoto, la gestione degli asset e la manutenzione predittiva.IoT Suite enables you to get started quickly and scale IoT projects to address common IoT scenarios--such as remote monitoring, asset management, and predictive maintenance.