Realtime IoT-updates

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

In deze handleiding wordt een manier beschreven waarop clients, zoals webpagina's of mobiele apps, updates van apparaten in realtime kunnen ontvangen. Cloud-apps verzenden geen HTTP-aanvragen meer voor actuele informatie. In plaats daarvan pusht Azure SignalR Service inhoud naar clients zodra deze beschikbaar is. Als beheerde service vereenvoudigt Azure SignalR Service het proces van het toevoegen van realtime communicatie aan apps.

Architectuur

Architectuurdiagram waarin wordt getoond hoe Azure SignalR Service clients zoals webpagina's en mobiele apps bijhoudt met realtime IoT-gegevens.

Een Visio-bestand van deze architectuur downloaden.

Workflow

  1. Webpagina's, mobiele apps en andere clients vragen een Azure SignalR Service-eindpunt en -token aan bij Azure Functions, een serverloos rekenplatform. Naast het integreren van gegevens uit verschillende bronnen, beheert Functions ook Azure SignalR Service-eindpunten en -informatie over clientgroepen.

  2. Clients gebruiken het eindpunt en token om verbinding te maken met Azure SignalR Service.

  3. IoT-apparaten verzenden telemetrie naar Azure IoT Edge en Azure IoT Hub. IoT Edge verzendt verwerkte IoT-apparaattelemetrie naar IoT Hub.

  4. De telemetrie activeert een functie in Azure Functions. De functie voert deze taken uit:

    • Voert berekeningen uit die u op de telemetrieprogramma's uitvoert.
    • Transformeert de gegevens op elke manier die u programmat.
    • Maakt gebruik van de beheerde service Azure SignalR Service om de gegevens uit te zenden.
  5. Azure SignalR Service ondersteunt verschillende technieken die realtime toepassingen gebruiken, zoals WebSocket, een voorkeurstransportprotocol. Azure SignalR Service maakt echter gebruik van technieken zoals servergestuurde gebeurtenissen (SSE) en lange polling wanneer WebSocket niet beschikbaar is. Azure SignalR Service detecteert en initialiseert automatisch het juiste transportprotocol op basis van de functies die de server en client ondersteunen.

  6. Het azure SignalR Service-bericht gaat naar een specifieke client of groep clients. De clients gebruiken de gegevens om apps bij te werken.

Scenariodetails

IoT-toepassingen (Internet of Things) hebben vaak realtime gegevens van IoT-apparaten nodig. In sommige apps worden bijvoorbeeld telemetriegegevens of waarschuwingsgegevens weergegeven die ze van apparaten verkrijgen. Met traditionele pollingmethoden vragen deze client-apps de apparaten om statuswijzigingen.

In deze handleiding wordt een manier beschreven waarop clients, zoals webpagina's of mobiele apps, updates van apparaten in realtime kunnen ontvangen. Cloud-apps verzenden geen HTTP-aanvragen meer voor actuele informatie. In plaats daarvan pusht Azure SignalR Service inhoud naar clients zodra deze beschikbaar is. Als beheerde service vereenvoudigt Azure SignalR Service het proces van het toevoegen van realtime communicatie aan apps.

Een detailhandelaar kan bijvoorbeeld een dashboard-app hebben waarin het huidige aantal klanten in een winkel wordt weergegeven. Met de oplossing van deze handleiding vraagt de app niet om het laatste aantal klanten. In plaats daarvan voert Azure SignalR Service die informatie door naar de app wanneer het totale aantal wijzigingen is.

Potentiƫle gebruikscases

Naast de detailhandel kunnen andere gebieden ook profiteren van deze oplossing:

  • Elk scenario waarin servers realtime gegevens naar clients pushen voor gebruik in visualisaties en toepassingen.
  • Uitgebreide en zeer interactieve apps, zoals aangepaste gebruikersinterfaces en kaarten.

Specifieke voorbeelden van realtime gegevensupdates zijn:

  • Vlootbewaking die voertuiglocatie (automotive) toegeeft.
  • Externe bewaking van temperatuur, druk en status voor een productieproces (ook van toepassing op de energiesector).
  • Boorbesturingssystemen die gebruikmaken van telemetrie, zoals revoluties per minuut, koppel en haakbelasting om processen te optimaliseren.
  • Waarschuwingsmechanismen.

Overwegingen

Houd rekening met deze punten wanneer u dit patroon gebruikt:

  • Als uw systeem strikte latentievereisten heeft, moet u rekening houden met factoren die de latentie aanzienlijk kunnen verhogen:

    • In realtime scenario's kan signalering van cloudtoepassingen de latentie met maximaal 10 seconden verhogen.
    • Eventuele stappen voor gegevenstransformatie die u aan de oplossing toevoegt, kunnen de latentie verhogen.
  • Azure SignalR Service definieert zeven lagen die geschikt zijn voor een reeks prestatiecapaciteiten. Bepaal de inkomende en uitgaande capaciteit van uw scenario door inzicht te krijgen in de factoren die van invloed zijn op deze waarden. Selecteer vervolgens de laag die het beste voldoet aan uw vereisten. Zie de prestatiehandleiding voor Azure SignalR Service voor meer informatie.

  • Azure SignalR bouwt voort op het SignalR-protocol en volgt het patroon publish-subscribe bij het uitzenden van berichten naar de clients. Overweeg om uw eigen mechanisme voor berichtbevestiging (ACK) te hebben, wanneer u wilt garanderen dat berichten worden bezorgd bij het publiceren van berichten naar meerdere clients.

  • Wanneer u realtime gegevens weergeeft in Power BI-visuals, kunt u realtime streamen in Power BI overwegen als alternatief voor deze oplossing.

Volgende stappen

Zie deze informatie voor meer informatie over gerelateerde oplossingen:

Handleidingen voor IoT-architectuur

IoT-patronen

IoT-architecturen