Exercice - Connecter et streamer des données de jumeau numérique Azure à des ressources d’éolienne

Effectué

Un service Azure SignalR a été exposé dans le cadre du modèle ARM que vous avez déployé. Ce service et la configuration associée vous permettent de vous connecter à Azure Digital Twins. Un pipeline de données a été créé pour récupérer des données à partir de jumeaux numériques, indépendamment de l’application client qui s’exécute dans la réalité mixte.

Présentation d’Azure SignalR Service

Le service Azure SignalR simplifie le processus d’ajout de fonctionnalités web en temps réel aux applications par HTTP. Cette fonctionnalité en temps réel permet au service d’envoyer des mises à jour de contenu aux clients connectés, comme une application web ou mobile monopage. Par conséquent, les clients sont mis à jour sans avoir à interroger le serveur ni à envoyer de nouvelles requêtes HTTP pour les mises à jour. Tout scénario qui nécessite l’envoi (push) de données du serveur au client en temps réel peut utiliser Azure SignalR Service. Les fonctionnalités en temps réel traditionnelles qui requièrent fréquemment l’interrogation d’un serveur peuvent également utiliser Azure SignalR Service.

Azure SignalR Service peut être facilement intégré à d’autres services Azure, ce qui ouvre la voie à d’autres scénarios éventuels. Par exemple, Azure Functions peut utiliser l’API REST pour envoyer des notifications à Azure SignalR Service, qui envoie à son tour des données aux clients connectés en temps réel. Lorsqu’il est utilisé avec IoT Hub, Azure SignalR Service peut permettre la transmission en temps réel de données de capteurs aux clients connectés afin de prendre en charge des scénarios de surveillance en temps réel.

Les scénarios temps réel sont souvent associés à des flux de données à fréquence élevée, et à de grandes quantités de connexions simultanées entre le client et le serveur. Ces scénarios nécessitent la configuration d’une infrastructure non triviale pour que les fonctionnalités soient opérationnelles à grande échelle. La configuration de cette infrastructure à grande échelle est difficile. Cette configuration nécessite généralement une logique propre à l’application sur différentes couches réseau. Le service Azure SignalR gère ces problèmes, ce qui vous permet de vous concentrer sur la logique d’application qui fournit des expériences connectées en temps réel. Vous pouvez mettre à l’échelle dynamiquement les fonctionnalités temps réel tout en payant seulement pour ce que vous utilisez. Le service bénéficie également des capacités d’Azure SignalR Service concernant les connexions persistantes sur différents transports.

Azure SignalR Service est utilisé dans un grand nombre de secteurs d’activité pour toutes les applications nécessitant des mises à jour de contenu en temps réel. Voici quelques exemples d’utilisation d’Azure SignalR Service :

  • Mises à jour des données à une fréquence élevée : jeux, votes, sondages et enchères
  • Tableaux de bord et monitoring : tableau de bord d’entreprise, données des marchés financiers, mise à jour instantanée des ventes, tableau de classement pour les jeux multijoueurs et monitoring de l’IoT
  • Localisation en temps réel sur une carte : suivi logistique, suivi de l’état des livraisons, mise à jour de l’état des transports et applications GPS
  • Publicités ciblées en temps réel : publicités et offres push personnalisées en temps réel et publicités interactives
  • Applications collaboratives : co-création, applications de tableau blanc et logiciels de réunion d’équipe
  • Notifications Push : réseau social, e-mail, jeux et alertes de voyage
  • Diffusion en temps réel : diffusion audio/vidéo en direct, sous-titrage en direct, traduction et diffusion d’événements ou d’actualités
  • IoT et appareils connectés : mesures IoT en temps réel, contrôle à distance, état en temps réel et suivi de la localisation
  • Automation : déclenchement en temps réel sur la base d’événements survenant en amont

Pour le cas d’usage des éoliennes, la couche de communication entre les données d’Azure Digital Twins sur les éoliennes et l’appareil de réalité mixte utilise Azure SignalR Service et un client SignalR incorporé à l’application de réalité mixte.

Pour exposer les données à votre application cliente à l’aide d’Azure Digital Twins, vous devez vous connecter à Azure SignalR Service. L’application de réalité mixte que vous générez implémente un client SignalR pour se connecter au service SignalR. L’établissement de la communication entre le client SignalR et le service Azure SignalR nécessite que le client appelle la fonction negotiate dans le service SignalR.

Configurez vos DeviceSimulator avec vos paramètres de connexion Azure Digital Twins et les informations d’authentification recueillies lors de l’exercice précédent.

Obtenir les informations d’identification de l’application

  1. Ouvrez DeviceSimulator.sln dans Visual Studio et configurez le DeviceSimulator avec le nom d’hôte du type de ressource Azure Digital Twins créé par le modèle ARM.

  2. À l’aide d’un éditeur de texte, ouvrez le fichier texte Azure_config_settings.txt que vous avez créé dans le dernier exercice, et qui contient les principaux paramètres de configuration d’Azure Digital Twins. Ou bien, si votre session PowerShell est toujours active, examinez les résultats obtenus à l’issue de la commande get-content.

  3. À partir du fichier Azure_config_settings.txt ou des résultats de la commande get-content dans PowerShell, identifiez la paire clé-valeur pour la clé adtHostName et copiez la valeur. Elle doit ressembler à ceci :

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

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

  4. Dans votre solution Visual Studio DeviceSimulator, ouvrez le fichier AzureIoTHub.cs dans l’éditeur en double-cliquant sur le fichier à partir de l’Explorateur de solutions. Collez la valeur de votre clé/paire adtHostName, copiée à l’étape 2 ci-dessus, dans la variable de chaîne adtInstanceUrl.

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

Configurer le simulateur d’appareil avec la chaîne de connexion principale

Configurez le DeviceSimulator avec la chaîne de connexion principale pour le IoT Hub créé par le modèle ARM.

  1. À partir du fichier Azure_config_settings.txt ou des résultats de la commande get-content dans PowerShell, identifiez la paire clé-valeur pour la clé connectionString et copiez la valeur. Elle doit ressembler à ceci :

    HostName=myprojHubxxxxxxxxxx.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
    
  2. Dans votre solution Visual Studio DeviceSimulator, ouvrez le fichier AzureIoTHub.cs dans l’éditeur et collez la valeur connectionString, copiée à l’étape précédente, dans la variable de chaîne iotHubConnectionString.

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

Configurer le simulateur d’appareil avec des clés d’authentification

Configurez le DeviceSimulator avec les clés d’authentification créées par le modèle ARM.

  1. Ouvrez le fichier texte AppCredentials.txt que vous avez créé au cours de l’exercice précédent.

  2. Dans votre solution Visual Studio DeviceSimulator, ouvrez le fichier PropUpdater.cs dans l’éditeur. Copiez et collez les identificateurs globaux uniques (GUID) de votre fichier texte dans le fichier .cs. Utilisez les mappages suivants entre les variables .cs et les données JSON figurant dans votre fichier texte :

    AppCredentials.txt PropUpdater.cs
    appId clientId
    mot de passe clientSecret
    tenant tenantId

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

  3. Sélectionnez Fichier>Enregistrer tout pour enregistrer votre travail dans Visual Studio.

Dans Unity, connectez votre préfabriqué Azure Digital Twins aux jumeaux numériques afin de pouvoir recevoir des données de télémétrie simulées à partir du DeviceSimulator.

Ajouter le préfabriqué de connexion Azure Digital Twins

Ajoutez le préfabriqué de connexion Azure Digital Twins à votre scène Unity et configurez-le.

  1. Revenez à votre projet Unity.

  2. Sélectionnez l’objet de jeu ADTConnection dans la hiérarchie. Si il ne figure pas dans votre hiérarchie, faites glisser le préfabriqué Assets>ADTPrefabs>ADTConnection vers la hiérarchie de votre scène.

    Screenshot of the Unity Hierarchy with the main scene highlighted.

  3. Dans un éditeur de texte, ouvrez le fichier texte Azure_config_settings.txt créé dans le dernier exercice. Ce fichier contient les principaux paramètres de configuration d’Azure Digital Twins. Ou bien, si votre session PowerShell est toujours active, examinez les résultats obtenus à l’issue de la commande get-content.

  4. À partir du fichier Azure_config_settings.txt ou des résultats de la commande get-content dans PowerShell, identifiez la paire clé-valeur pour la clé signalRNegotiatePath et copiez la valeur. Elle doit ressembler à ceci :

    https://myprojfuncappxxxxxxxxxx.azurewebsites.net/api/negotiate
    
  5. Ajoutez cette valeur au paramètre URL sous ADT Data Handler (Script) avec l’URL de la fonction obtenue à l’étape 1. Incluez tous les éléments de l’URL jusqu’à …/api (inclus). N’incluez pas la dernière barre oblique inverse ni le mot negotiate.

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

  6. Enregistrez la scène.

Maintenant que les services Azure sont configurés et que les pointeurs appropriés se trouvent dans votre scène Unity, vous pouvez créer une interface utilisateur (IU) pour visualiser les données d’exploitation.