練習 - 連接到 Azure Digital Twins REST API 以解決警示

已完成

在真實世界的情況下,風力發電廠的作業不會是持續不斷的。 有時,風力發電機資產會遇到可能超過作業閾值的異常狀況。 在這些情況下,風力發電機資產會傳送警示訊號,讓操作員和工程師得以接收、分析及採取動作。 若要從混合實境應用程式解決 Azure Digital Twins 上的風力發電機資產警示,請將要求傳送至 Azure Digital Twins REST API。

若要對 REST API 提出要求,您必須進行驗證。 在此學習課程模組的上下文中,您會使用對應至應用程式註冊的應用程式認證進行驗證。 這些認證代表的是應用程式而非個人,且需要複製到 Unity 專案中。 在建置應用程式時,這些認證會直接編譯到應用程式中。 我們不建議將這種驗證方法用於實際執行系統,因為其不會要求使用者登入。 因此,無法防止未經授權的使用者存取。 在此學習課程模組中,使用此方法的目的是簡化學習過程。

除此之外,ARM 範本還會建立必要的應用程式註冊。 作為輸出的一部分,您建立了 AppCredentials.txtAzure_config_settings.txt 文字檔,其中包含設定 Unity 可編寫指令碼物件所需的重要變數。 使用這些變數對應,將值輸入至 Unity:

Azure_config_settings.txt Unity
adtHostName Adt 執行個體 URL
AppCredentials.txt Unity
appId 用戶端識別碼
password 用戶端密碼
tenant 租用戶識別碼

這些認證與 URL 必須傳輸至您的 Unity 專案,讓您的應用程式能夠驗證 Azure Digital Twins 並與之互動。 具體來說,您必須將這些值指派給專案中可編寫指令碼的物件,然後從場景中的特定 GameObject 參考該 ScriptableObject

新增 Azure Digital Twins 認證

  1. 瀏覽至 Unity 專案面板中的 [認證] 資料夾:[資產]>[ScriptableObjects]>[AzureDigitalTwin]>[認證]

  2. 透過選取 [資產]>[建立]>[ScriptableObjects]>[認證]>[ADT Rest API 認證],為認證建立可編寫指令碼的物件。

    Unity 資產功能表的螢幕擷取畫面,其中顯示 [建立] > [可編寫物件] > [認證] > [ADT Rest API 認證] 功能表選取項目。

  3. 在 [專案] 面板中選取新建立的可編寫指令碼物件,以在 [偵測器] 面板中查看其設定參數。 根據上一節的變數對應,從 AppCredentials.txt 檔案中傳輸值。

    偵測器中 ADT REST API 認證的螢幕擷取畫面。

新增風力發電機警示控制器

將風力發電機警示控制器新增至您的場景並進行驗證:

  1. ADTTurbineAlertController 會變更特定風力發電機數位對應項上的 Alert 屬性。 一旦在 Azure Digital Twins 上變更此屬性,ADTConnection 預製物件就會收到通知,並在本機更新對應的 Alert 值。

  2. 將位於 [專案] 面板的 [資產]>[ADTPrefabs]>[ADTTurbineAlertController] 拖曳至清單底部的 [階層] 面板。

    Unity 專案面板中 ADT 預製項目物件的螢幕擷取畫面。

    新增至 Unity 階層面板的 ADT 預製項目物件的螢幕擷取畫面。

  3. 在 [偵測器] 中,尋找 [ADT 風力發電機警示控制器 (指令碼)] 元件。 在名為 [ADT 連線資訊] 欄位的值方塊中,選取圓圈圖示。

    Unity 偵測器中 ADT 警示控制器的螢幕擷取畫面。

  4. 選取 [Adt Connection Info]\(ADT 連線資訊\) 屬性,並指派 [ADTRestAPICredentials]\(ADT Rest API 認證\) 可編寫物件。

    Unity 資產資料夾中 ADT REST API 認證可編寫物件的螢幕擷取畫面。

  5. 前往 [檔案]>[儲存],以儲存您的檔案。