Aggiornamenti IoT in tempo reale

Funzioni di Azure
Azure IoT Edge
Hub IoT Azure
Mappe di Azure
Servizio Azure SignalR

Questa guida descrive un modo in cui i client, come pagine Web o app per dispositivi mobili, ricevono aggiornamenti dai dispositivi in tempo reale. Le app cloud non inviano più richieste HTTP per acquisire informazioni aggiornate. Al contrario, Servizio Azure SignalR esegue il push del contenuto ai client non appena è disponibile. Come servizio gestito, Servizio Azure SignalR semplifica il processo di aggiunta della comunicazione delle informazioni in tempo reale alle app.

Architettura

Diagramma dell'architettura che mostra come Servizio Azure SignalR mantiene aggiornati i client come pagine Web e app per dispositivi mobili con dati IoT in tempo reale.

Scaricare un file di Visio di questa architettura.

Workflow

  1. Pagine Web, app per dispositivi mobili e altri client richiedono un endpoint e un token di Servizio Azure SignalR da Funzioni di Azure, una piattaforma di calcolo serverless. Oltre all'integrazione di dati da varie origini, Funzioni gestisce anche gli endpoint di Servizio Azure SignalR e le informazioni sui gruppi di client.

  2. I client usano l'endpoint e il token per connettersi a Servizio Azure SignalR.

  3. I dispositivi IoT inviano dati di telemetria ad Azure IoT Edge e all'hub IoT di Azure. IoT Edge invia i dati di telemetria dei dispositivi IoT elaborati all'hub IoT.

  4. I dati di telemetria attivano una funzione in Funzioni di Azure. La funzione completa le attività seguenti:

    • Esegue tutti i calcoli programmati sui dati di telemetria.
    • Trasforma i dati in qualsiasi modo programmato.
    • Usa Servizio Azure SignalR (gestito) per trasmettere i dati.
  5. Servizio Azure SignalR supporta diverse tecniche usate dalle applicazioni in tempo reale, ad esempio WebSocket, un protocollo di trasporto preferito. Servizio Azure SignalR usa tuttavia tecniche come gli eventi inviati dal server (SSE, Server Sent Events) e il polling prolungato quando WebSocket non è disponibile. Servizio Azure SignalR rileva e inizializza automaticamente il protocollo di trasporto appropriato in base alle funzionalità supportate dal server e dal client.

  6. Il messaggio di Servizio Azure SignalR viene inviato a un client oppure a un gruppo di client specifico. I client usano quindi i dati per aggiornare le app.

Dettagli dello scenario

Le applicazioni Internet delle cose (IoT, Internet of Thing) necessitano spesso di ricevere dati in tempo reale dai dispositivi IoT. Alcune app, ad esempio, visualizzano dati di telemetria o di avviso che ottengono dai dispositivi. Con i metodi di polling tradizionali, tali app client chiedono ai dispositivi di modificare lo stato.

Questa guida descrive un modo in cui i client, come pagine Web o app per dispositivi mobili, ricevono aggiornamenti dai dispositivi in tempo reale. Le app cloud non inviano più richieste HTTP per acquisire informazioni aggiornate. Al contrario, Servizio Azure SignalR esegue il push del contenuto ai client non appena è disponibile. Come servizio gestito, Servizio Azure SignalR semplifica il processo di aggiunta della comunicazione delle informazioni in tempo reale alle app.

Un rivenditore, ad esempio, potrebbe usare un'app dashboard che visualizza il numero corrente di clienti in un negozio. Con la soluzione descritta in questa guida, l'app non richiede il numero di clienti più recente. Al contrario, Servizio Azure SignalR invia le informazioni all'app quando il totale cambia.

Potenziali casi d'uso

Oltre al settore della vendita al dettaglio, questa soluzione è vantaggiosa anche per altre aree:

  • Qualsiasi scenario in cui i server eseguono il push dei dati ai client in tempo reale per l'uso nelle visualizzazioni e nelle applicazioni.
  • App avanzate e altamente interattive come interfacce utente e mappe personalizzate.

Esempi specifici che forniscono aggiornamenti dei dati in tempo reale includono:

  • Monitoraggio della flotta che mappa la posizione del veicolo (automotive).
  • Monitoraggio remoto di temperatura, pressione e stato per un processo di produzione (applicabile anche all'industria energetica).
  • Sistemi di controllo di perforazione che usano i dati di telemetria, come le rivoluzioni al minuto, la coppia e il carico di gancio per ottimizzare i processi.
  • Meccanismi di avviso.

Considerazioni

Quando si usa questo schema, considerare gli aspetti indicati di seguito.

  • Se per il sistema sono presenti requisiti di latenza rigorosi, tenere presenti i fattori che possono aumentare significativamente la latenza:

    • Negli scenari in tempo reale, le segnalazioni di applicazioni cloud possono aumentare la latenza fino a 10 secondi.
    • I passaggi di trasformazione dei dati aggiunti alla soluzione possono aumentare la latenza.
  • Servizio Azure SignalR definisce sette livelli che supportano una certa gamma di capacità di prestazioni. Per determinare la capacità in ingresso e in uscita dello scenario in uso, valutare e comprendere i fattori che influiscono su tali valori, quindi selezionare il livello che soddisfa al meglio i requisiti. Per altre informazioni, vedere Guida alle prestazioni per Servizio Azure SignalR.

  • Azure SignalR si basa sul protocollo SignalR e segue il modello di pubblicazione-sottoscrizione, durante la trasmissione dei messaggi ai client. Quando è necessario garantire il recapito dei messaggi durante la pubblicazione di messaggi in più client, è consigliabile avere un meccanismo di riconoscimento dei messaggi personalizzato.

  • Quando si visualizzano dati in tempo reale negli oggetti visivi di Power BI, prendere in considerazione lo streaming in tempo reale in Power BI come alternativa a questa soluzione.

Passaggi successivi

Per informazioni sulle soluzioni correlate, vedere gli argomenti seguenti:

Guide all'architettura IoT

Criteri per IoT

Architetture IoT