IoT-uppdateringar i realtid

Azure Functions
Azure IoT Edge
Azure IoT Hub
Azure Maps
Azure SignalR Service

Den här guiden beskriver ett sätt för klienter som webbsidor eller mobilappar att ta emot uppdateringar från enheter i realtid. Molnappar skickar inte längre HTTP-begäranden för uppdaterad information. I stället skickar Azure SignalR Service innehåll till klienter så snart det är tillgängligt. Som en hanterad tjänst förenklar Azure SignalR Service processen med att lägga till realtidskommunikation till appar.

Arkitektur

Arkitekturdiagram som visar hur Azure SignalR Service håller klienter som webbsidor och mobilappar uppdaterade med realtids-IoT-data.

Ladda ned en Visio-fil med den här arkitekturen.

Arbetsflöde

  1. Webbsidor, mobilappar och andra klienter begär en Azure SignalR Service-slutpunkt och token från Azure Functions, en serverlös beräkningsplattform. Förutom att integrera data från olika källor hanterar Functions även Azure SignalR Service-slutpunkter och information om klientgrupper.

  2. Klienter använder slutpunkten och token för att ansluta till Azure SignalR Service.

  3. IoT-enheter skickar telemetri till Azure IoT Edge och Azure IoT Hub. IoT Edge skickar bearbetade IoT-enhetstelemetri till IoT Hub.

  4. Telemetrin utlöser en funktion i Azure Functions. Funktionen slutför följande uppgifter:

    • Kör alla beräkningar som du programmerar på telemetrin.
    • Transformerar data på alla sätt som du programmerar.
    • Använder den hanterade tjänsten Azure SignalR Service för att sända data.
  5. Azure SignalR Service stöder flera tekniker som realtidsprogram använder, till exempel WebSocket, ett föredraget transportprotokoll. Men Azure SignalR Service använder tekniker som serverutskickade händelser (SSE) och lång avsökning när WebSocket inte är tillgängligt. Azure SignalR Service identifierar och initierar automatiskt lämpligt transportprotokoll baserat på de funktioner som servern och klienten stöder.

  6. Azure SignalR Service-meddelandet skickas till en specifik klient eller grupp med klienter. Klienterna använder data för att uppdatera appar.

Information om scenario

IoT-program (Internet of Things) behöver ofta realtidsdata från IoT-enheter. Till exempel visar vissa appar telemetri- eller aviseringsdata som de hämtar från enheter. Med traditionella avsökningsmetoder ber dessa klientappar enheterna om tillståndsändringar.

Den här guiden beskriver ett sätt för klienter som webbsidor eller mobilappar att ta emot uppdateringar från enheter i realtid. Molnappar skickar inte längre HTTP-begäranden för uppdaterad information. I stället skickar Azure SignalR Service innehåll till klienter så snart det är tillgängligt. Som en hanterad tjänst förenklar Azure SignalR Service processen med att lägga till realtidskommunikation till appar.

En återförsäljare kan till exempel ha en instrumentpanelsapp som visar det aktuella antalet kunder i en butik. Med den här guidens lösning begär inte appen det senaste antalet kunder. I stället skickar Azure SignalR Service den informationen till appen när summan ändras.

Potentiella användningsfall

Förutom detaljhandeln kan andra områden också dra nytta av den här lösningen:

  • Alla scenarion där servrar skickar realtidsdata till klienter för användning i visualiseringar och program.
  • Omfattande och mycket interaktiva appar som anpassade användargränssnitt och kartor.

Exempel som ger datauppdateringar i realtid är:

  • Övervakning av fordonsflottan som mappar fordonets plats (fordon).
  • Fjärrövervakning av temperatur, tryck och status för en tillverkningsprocess (gäller även för energiindustrin).
  • Borrkontrollsystem som använder telemetri, till exempel rotationer per minut, vridmoment och krokbelastning för att optimera processer.
  • Aviseringsmekanismer.

Att tänka på

Tänk på följande när du använder det här mönstret:

  • Om systemet har strikta svarstidskrav bör du vara medveten om faktorer som kan öka svarstiden avsevärt:

    • I realtidsscenarier kan signalering av molnprogram öka svarstiden med upp till 10 sekunder.
    • Alla datatransformeringssteg som du lägger till i lösningen kan öka svarstiden.
  • Azure SignalR Service definierar sju nivåer som rymmer en mängd olika prestandakapaciteter. Fastställa scenariots inkommande och utgående kapacitet genom att förstå de faktorer som påverkar dessa värden. Välj sedan den nivå som bäst uppfyller dina krav. Mer information finns i Prestandaguide för Azure SignalR Service.

  • Azure SignalR bygger vidare på SignalR-protokollet och följer mönstret publicera-prenumerera när meddelanden skickas till klienterna. Överväg att ha en egen mekanism för att bekräfta meddelanden (ACK) när du behöver garantera meddelandeleverans när du publicerar meddelanden till flera klienter.

  • När du visar realtidsdata i visuella Power BI-objekt bör du överväga realtidsströmning i Power BI som ett alternativ till den här lösningen.

Nästa steg

Mer information om relaterade lösningar finns i den här informationen:

IoT-arkitekturguider

IoT-mönster

IoT-arkitekturer