Övning – Anslut och strömma Azure Digital Twin-data till vindkraftverkstillgångar

Slutförd

En Azure SignalR Service har exponerats som en del av ARM-mallen som du distribuerade. Med den här tjänsten och tillhörande konfiguration kan du ansluta till Azure Digital Twins. En datapipeline har skapats för att hämta data från digital twins, som är abstrakt från klientappen som körs i mixad verklighet.

Översikt över Azure SignalR Service

Azure SignalR Service förenklar arbetet med att lägga till webbfunktioner i realtid för program via HTTP. Denna realtidsfunktion gör att tjänsten kan skicka innehållsuppdateringar till anslutna klienter, till exempel en webbplats med en sida eller ett mobilt program. Därför uppdateras klienterna utan att behöva avsöka servern eller skicka nya HTTP-begäranden för uppdateringar. Alla scenarion som kräver att data skickas från server till klient i realtid kan använda Azure SignalR Service. Traditionella realtidsfunktioner som ofta kräver avsökning från en server kan också använda Azure SignalR Service.

Azure SignalR Service kan enkelt integreras med andra Azure-tjänster, vilket öppnar andra möjliga scenarier. Azure Functions kan till exempel använda REST API för att skicka meddelanden till Azure SignalR Service, som sedan skickar data till anslutna klienter i realtid. Azure SignalR Service, som används med IoT Hub, kan göra det möjligt att överföra sensordata i realtid till anslutna klienter för att stödja övervakningsscenarier i realtid.

Realtidsscenarier levereras ofta med dataflöden med hög frekvens och stora mängder samtidiga anslutningar mellan klienten och servern. De kräver installation av icke-prövande infrastruktur för att få igång funktionerna i stor skala. Det är svårt att konfigurera den här infrastrukturen i stor skala. Konfigurationen kräver vanligtvis programspecifik logik i olika nätverkslager. Azure SignalR Service hanterar dessa problem så att du kan fokusera på den programlogik som levererar realtidsanslutna upplevelser. Du kan skala realtidsfunktioner dynamiskt samtidigt som du bara betalar för det du använder. Tjänsten ärver även Azure SignalR Service-funktioner för beständiga anslutningar via olika transporter.

Azure SignalR Service har använts i en mängd olika branscher för alla programtyper som kräver innehållsuppdateringar i realtid. Här är några exempel som är bra att använda Azure SignalR Service:

  • Datauppdateringar med hög frekvens: spel, röstning, avsökning och auktion
  • Instrumentpaneler och övervakning: företagets instrumentpanel, finansmarknadsdata, omedelbar försäljningsuppdatering, spelledarkort för flera spelare och IoT-övervakning
  • Realtidsplats på kartan: logistisk spårning, spårning av leveransstatus, uppdateringar av transportstatus och GPS-appar
  • Realtidsriktade annonser: anpassade push-annonser och erbjudanden i realtid och interaktiva annonser
  • Samarbetsappar: medförfattare, whiteboard-appar och teammötesprogram
  • Push-meddelanden: sociala nätverk, e-post, spel och reseaviseringar
  • Realtidssändningar: live-ljud/videosändningar, live-bildtext, översättning och evenemang/nyhetssändningar
  • IoT och anslutna enheter: IoT-mått i realtid, fjärrstyrning, realtidsstatus och platsspårning
  • Automation: realtidsutlösare från överordnade händelser

För användningsfallet för vindkraftverk använder kommunikationsskiktet mellan Azure Digital Twins vindkraftverksdata och enheten för mixad verklighet Azure SignalR Service och en SignalR-klient inbäddad i appen mixed reality.

Om du vill exponera data för din klientapp med hjälp av Azure Digital Twins måste du ansluta till Azure SignalR Service. Mixed Reality-appen som du skapar implementerar en SignalR-klient för att ansluta till SignalR-tjänsten. För att upprätta kommunikation mellan SignalR-klienten och Azure SignalR-tjänsten måste klienten anropa negotiate funktionen i SignalR-tjänsten.

Konfigurera med DeviceSimulator dina Azure Digital Twins-anslutningsparametrar och autentiseringsinformation som hämtades i föregående övning.

Hämta autentiseringsuppgifter för appen

  1. Öppna DeviceSimulator.sln i Visual Studio och konfigurera DeviceSimulator med värdnamnet för resurstypen Azure Digital Twins som skapats av ARM-mallen.

  2. Öppna textfilen Azure_config_settings.txt som du skapade i den senaste övningen som innehåller viktiga Azure Digital Twins-konfigurationsparametrar med hjälp av en textredigerare. Om PowerShell-sessionen förblir aktiv kan du också leta efter utdata från get-content kommandot.

  3. Från filen Azure_config_settings.txt eller från utdata get-content från kommandot i PowerShell letar du upp nyckel/värde-paret för adtHostName nyckeln och kopierar värdet. Den bör se ut ungefär så här:

    https://myprojadtxxxxxxxxxx.api.eus.digitaltwins.azure.net
    

    Screenshot of the command-line interface running the get-content command prompt.

  4. I din Visual Studio DeviceSimulator-lösning öppnar du filen AzureIoTHub.cs i redigeraren genom att dubbelklicka på filen från Solution Explorer. Klistra in värdet för nyckeln adtHostName /paret som kopierats från steg 2 ovan i strängvariabeln adtInstanceUrl .

    Screenshot of the Device Simulator solution with the Azure IoT Hub cs file open and host name and instance URL values added.

Konfigurera enhetssimulatorn med primär anslutningssträng

DeviceSimulator Konfigurera med den primära anslutningssträng för IoT Hub som skapats av ARM-mallen.

  1. Från filen Azure_config_settings.txt eller från utdata get-content från kommandot i PowerShell letar du upp nyckel/värde-paret för connectionString nyckeln och kopierar värdet. Den bör se ut ungefär så här:

    HostName=myprojHubxxxxxxxxxx.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
    
  2. Öppna filen AzureIoTHub.cs i redigeraren i Visual Studio-lösningen DeviceSimulatoroch klistra in värdet connectionString som kopierats i föregående steg i strängvariabeln iotHub Anslut ionString.

    Screenshot of the Device Simulator solution with the Azure IoT Hub cs file open and IoT Hub connection string value added.

Konfigurera enhetssimulatorn med autentiseringsnycklar

Konfigurera DeviceSimulator med de autentiseringsnycklar som skapats av ARM-mallen.

  1. Öppna textfilen AppCredentials.txt som du skapade i föregående övning.

  2. Öppna filen PropUpdater.cs i redigeraren i Visual Studio DeviceSimulator-lösningen. Kopiera och klistra in de globalt unika identifierarna (GUID) från textfilen till .cs-filen . Använd följande mappningar från .cs-variablerna till JSON-datautdata i textfilen:

    AppCredentials.txt PropUpdater.cs
    appId clientId
    password clientSecret
    tenant tenantId

    Screenshot of the Device Simulator solution with the PropUpdater.cs file open and client, secret, and tenant ID values added.

  3. Välj Spara alla för>att spara ditt arbete i Visual Studio.

Anslut din Azure Digital Twins-prefab i Unity till de digitala tvillingarna så att du kan ta emot simulerade telemetridata från DeviceSimulator.

Lägg till prefab för Azure Digital Twins-anslutningen

Lägg till Azure Digital Twins-anslutningsprefab-tillgången i Unity-scenen och konfigurera.

  1. Gå tillbaka till ditt Unity-projekt.

  2. ADTConnection Välj spelobjektet i hierarkin. Om den saknas i hierarkin drar du tillgången Assets>ADTPrefabs>ADT Anslut ion prefab till scenhierarkin.

    Screenshot of the Unity Hierarchy with the main scene highlighted.

  3. Öppna textfilen som du skapade i den senaste övningen, Azure_config_settings.txt, i en textredigerare. Filen innehåller nyckelkonfigurationsparametrarna för Azure Digital Twins. Om PowerShell-sessionen förblir aktiv kan du också leta efter utdata från get-content kommandot.

  4. Från filen Azure_config_settings.txt eller från utdata get-content från kommandot i PowerShell letar du upp nyckel/värde-paret för signalRNegotiatePath nyckeln och kopierar värdet. Den bör se ut ungefär så här:

    https://myprojfuncappxxxxxxxxxx.azurewebsites.net/api/negotiate
    
  5. Lägg till det här värdet i URL-parametern under ADT Data Handler (Script) med funktions-URL :en som hämtades i steg 1. Inkludera allt i URL:en upp till och inklusive …/api. Ta inte med det sista omvänt snedstrecket eller ordet förhandla.

    Screenshot of the Unity editor with the Azure Digital Twins connection prefab selected and the ADT data handler script added.

  6. Spara scenen.

Nu när Azure-tjänsterna har konfigurerats och lämpliga pekare finns i Unity-scenen kan du skapa ett användargränssnitt (UI) för att visualisera driftdata.