Esercizio - Connettersi all'API REST di Gemelli digitali di Azure per risolvere gli avvisi

Completato

In condizioni reali, le operazioni di un parco eolico non sono continue. A volte, si verificano anomalie negli asset della turbina che possono superare le soglie operative. In questi casi, gli asset della turbina inviano un segnale di avviso che gli operatori e i tecnici ricevono, analizzano e in base al quale intervengono. Per risolvere un avviso relativo all'asset turbina in Gemelli digitali di Azure dall'app di realtà mista, inviare richieste all'API REST di Gemelli digitali di Azure.

Per effettuare richieste all'API REST, è necessario eseguire l'autenticazione. Nel contesto di questo modulo di apprendimento si eseguirà l'autenticazione usando le credenziali dell'app corrispondenti a una registrazione dell'app. Queste credenziali rappresentano un'app, non un singolo utente, e devono essere copiate nel progetto di Unity. Al momento della compilazione dell'app, queste credenziali vengono compilate direttamente nell'app. Questo approccio all'autenticazione non è consigliato per i sistemi di produzione perché non richiede l'accesso dell'utente. Di conseguenza, non impedisce l'accesso di utenti non autorizzati. Per motivi di semplicità, in questo modulo di apprendimento, usare questo approccio.

Il modello di ARM, tra le altre cose, crea la registrazione dell'app necessaria. Come parte dell'output, sono stati creati i file di testo AppCredentials.txt e Azure_config_settings.txt che contengono variabili importanti necessarie per configurare gli oggetti gestibili tramite script di Unity. Usare questi mapping di variabili per immettere i valori in Unity:

Azure_config_settings.txt Unity
adtHostName URL dell'istanza di Gemelli digitali di Azure
AppCredentials.txt Unity
appId ID client
password Segreto client
tenant ID tenant

Queste credenziali e l'URL devono essere trasferiti al progetto di Unity in modo che l'app possa eseguire l'autenticazione e interagire con Gemelli digitali di Azure. In particolare, è necessario assegnare questi valori a un oggetto scriptable nel progetto e fare riferimento a tale ScriptableObject da uno specifico GameObject nella scena.

Aggiungere le credenziali di Gemelli digitali di Azure

  1. Passare alla cartella Credentials (Credenziali) nel pannello del progetto di Unity: Assets>ScriptableObjects>AzureDigitalTwin>Credentials.

  2. Creare un oggetto gestibile tramite script per le credenziali selezionando Asset > Crea > Oggetti gestibili tramite script> Credenziali >dell'API REST di Gemelli digitali di Azure.

    Screenshot del menu degli asset di Unity aperto che mostra la selezione del menu Crea > Oggetti gestibili tramite script > Credenziali > Credenziali dell'API REST di Gemelli digitali di Azure.

  3. Selezionare l'oggetto gestibile tramite script appena creato nel pannello Project (Progetto) per visualizzarne i parametri di configurazione nel pannello Inspector (Controllo). Trasferire i valori in base al mapping delle variabili nella sezione precedente nel file AppCredentials.txt.

    Screenshot delle credenziali dell'API REST di Gemelli digitali di Azure in Inspector (Controllo).

Aggiungere il controller di avviso della turbina

Aggiungere il controller degli avvisi relativi alla turbina alla scena ed eseguire l'autenticazione:

  1. Il ADTTurbineAlertController modifica la proprietà Alert nel gemello digitale per una turbina specifica. In seguito alla modifica di questa proprietà in Gemelli digitali di Azure, il prefab ADTConnection riceve una notifica e aggiorna un valore di avviso corrispondente in locale.

  2. Trascinare Assets (Asset)> ADTPrefabs> ADTTurbineAlertController dal pannello Project (Progetto) al pannello Hierarchy (Gerarchia), nella parte inferiore dell'elenco.

    Screenshot degli oggetti prefab di Gemelli digitali di Azure nel pannello del progetto di Unity.

    Screenshot degli oggetti prefab di Gemelli digitali di Azure aggiunti al pannello della gerarchia di Unity.

  3. In Inspector (Controllo) trovare il componente ADT Turbine Alert Controller (Script) (Controller degli avvisi della turbina di Gemelli digitali di Azure - Script). Selezionare l'icona circolare all'interno della casella del valore per il campo denominato Adt Connection Info (Informazioni di connessione di Gemelli digitali di Azure).

    Screenshot del controller degli avvisi della turbina Gemelli digitali di Azure in Inspector (Controllo) di Unity.

  4. Selezionare la proprietà Adt Connection Info (Informazioni di connessione di Gemelli digitali di Azure) e assegnare l'oggetto gestibile tramite script ADTRestAPICredentials.

    Screenshot dell'oggetto gestibile tramite script delle credenziali per l'API REST di Gemelli digitali di Azure nella cartella degli asset di Unity.

  5. Salvare il file con File > Salva.