Övning – Anslut och strömma Azure Digital Twin-data till vindkraftverkstillgångar
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
Öppna DeviceSimulator.sln i Visual Studio och konfigurera
DeviceSimulator
med värdnamnet för resurstypen Azure Digital Twins som skapats av ARM-mallen.Ö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.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öradtHostName
nyckeln och kopierar värdet. Den bör se ut ungefär så här:https://myprojadtxxxxxxxxxx.api.eus.digitaltwins.azure.net
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 .
Konfigurera enhetssimulatorn med primär anslutningssträng
DeviceSimulator
Konfigurera med den primära anslutningssträng för IoT Hub som skapats av ARM-mallen.
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örconnectionString
nyckeln och kopierar värdet. Den bör se ut ungefär så här:HostName=myprojHubxxxxxxxxxx.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
Öppna filen AzureIoTHub.cs i redigeraren i Visual Studio-lösningen
DeviceSimulator
och klistra in värdetconnectionString
som kopierats i föregående steg i strängvariabeln iotHub Anslut ionString.
Konfigurera enhetssimulatorn med autentiseringsnycklar
Konfigurera DeviceSimulator med de autentiseringsnycklar som skapats av ARM-mallen.
Öppna textfilen AppCredentials.txt som du skapade i föregående övning.
Ö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 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.
Gå tillbaka till ditt Unity-projekt.
ADTConnection
Välj spelobjektet i hierarkin. Om den saknas i hierarkin drar du tillgången Assets>ADTPrefabs>ADT Anslut ion prefab till scenhierarkin.Ö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.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örsignalRNegotiatePath
nyckeln och kopierar värdet. Den bör se ut ungefär så här:https://myprojfuncappxxxxxxxxxx.azurewebsites.net/api/negotiate
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.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.