共用方式為


教學課程:在IoT Edge上設定機器學習的環境

適用於:勾選圖示 IoT Edge 1.1

這很重要

IoT Edge 1.1 終止支援日期為 2022 年 12 月 13 日。 如需此產品、服務、技術或 API 的支援資訊,請參閱 Microsoft 產品生命週期。 如需更新至最新版 IoT Edge 的詳細資訊,請參閱 更新 IoT Edge

本文可協助您準備環境以進行開發和部署。 首先,將開發機器安裝好,並配置您需要的所有工具。 然後,在 Azure 中建立必要的雲端資源。

在本教學課程的本節中,您將瞭解如何:

  • 設定虛擬機以進行開發。
  • 請為您的開發環境設定 IoT 中樞和雲端儲存。

先決條件

本文是一系列關於在 IoT Edge 上使用 Azure Machine Learning 的教學課程的一部分。 本系列中的每個文章都是以上一篇文章中的工作為基礎。 如果您已直接抵達本文,請瀏覽本系列的第一篇文章

設定開發 VM

此步驟通常是由雲端開發人員執行。 某些軟體也可能對數據科學家有幫助。

我們已建立 PowerShell 腳本,以建立已設定許多必要條件的 Azure 虛擬機。 我們建立的 VM 必須能夠處理 巢狀虛擬化,這就是為什麼我們選擇 Standard_D8s_v3 機器大小的原因。

開發 VM 將會使用下列項目進行設定:

開發人員 VM 並非絕對必要,所有開發工具都可以在本機電腦上執行。 不過,我們強烈建議使用 VM 來確保一個公平的競爭領域。

建立和設定虛擬機大約需要30分鐘的時間。

  1. Machine Learning 和 IoT Edge 範例存放庫複製或下載到本機電腦。

  2. 以系統管理員身分開啟 PowerShell,並流覽至您下載程式代碼根目錄底下的 \IoTEdgeAndMlSample\DevVM 目錄。 我們會將來源的根目錄稱為 srcdir

    cd c:\srcdir\IoTEdgeAndMlSample\DevVM
    

    DevVM 目錄包含建立適合完成本教學課程的 Azure 虛擬機所需的檔案。

  3. 執行下列命令以允許執行腳本。 出現提示時,選擇 [[全部]。

    Set-ExecutionPolicy Bypass -Scope Process
    
  4. 執行 Create-AzureDevVM.ps1。

    .\Create-AzureDevVm.ps1
    

    出現提示時,請提供下列資訊:

    • Azure 訂用帳戶標識碼:您可以在入口網站 Azure 訂用帳戶 中找到您的訂用帳戶標識碼。
    • 資源組名:Azure 中新或現有資源群組的名稱。
    • 位置:選擇將建立虛擬機的 Azure 位置。 例如,「美國西部 2」或「北歐」。 如需詳細資訊,請參閱 Azure 位置
    • Username:為 VM 的系統管理員帳戶提供令人難忘的名稱。
    • 密碼:為 VM 的系統管理員帳戶設定密碼。

    腳本會執行數分鐘,以完成以下步驟:

    1. 安裝 Azure PowerShell Az 模組
    2. 提示您登入 Azure。
    3. 確認建立 VM 的資訊。 按 yEnter 以繼續。
    4. 如果資源群組不存在,則建立資源群組。
    5. 部署虛擬機。
    6. 在 VM 上啟用 Hyper-V。
    7. 安裝開發所需的軟體並複製範例存放庫。
    8. 重新啟動 VM。
    9. 在您的桌面上建立 RDP 檔案,以連線到 VM。

    如果系統提示您輸入要重新啟動的 VM 的名稱,您可以從腳本輸出中複製其名稱。 輸出也會顯示連線到 VM 之 RDP 檔案的路徑。

設定自動關機排程

為了協助您降低成本,已使用設定為1900 PST的自動關機排程來建立開發VM。 視您的位置和排程而定,您可能需要更新此設定。 若要更新關機排程:

  1. 在 Azure 入口網站中,流覽至腳本建立的 VM。

  2. 從左窗格選單的 [作業] 底下,選取 [自動關機]。

  3. 視需要調整 排程關機時區,然後選擇 儲存

連接到開發 VM

既然我們已建立 VM,我們必須完成安裝完成教學課程所需的軟體。

  1. 雙擊腳本在桌面上建立的 RDP 檔案。

  2. 您會看到一個對話框,指出遠端連線的發行者未知。 這是可接受的,因此請選取 [Connect]。

  3. 提供您為建立 VM 所提供的系統管理員密碼,然後按一下 [確定]

  4. 系統會提示您接受 VM 的憑證。 選擇

安裝 Visual Studio Code 延伸模組

既然您已連線到開發計算機,請將一些有用的擴充功能新增至 Visual Studio Code,讓開發體驗更容易。

  1. 聯機到開發 VM、開啟 PowerShell 視窗,然後流覽至 C:\source\IoTEdgeAndMlSample\DevVM 目錄。 此目錄是由建立 VM 的腳本所建立。

    cd C:\source\IoTEdgeAndMlSample\DevVM
    
  2. 執行下列命令以允許執行腳本。 出現提示時,選擇「全部是」。

    Set-ExecutionPolicy Bypass -Scope Process
    
  3. 執行 Visual Studio Code 擴充功能腳本。

    .\Enable-CodeExtensions.ps1
    
  4. 腳本將執行幾分鐘以安裝 VS Code 延伸模組:

    • Azure IoT Edge
    • Azure IoT 中樞
    • Python(程式語言)
    • C#
    • Docker(用於開發、傳遞和運行應用程式的平台)
    • PowerShell

設定IoT中樞和記憶體

這些步驟通常是由雲端開發人員執行。

Azure IoT 中樞是任何 IoT 應用程式的核心,因為它會處理 IoT 裝置與雲端之間的安全通訊。 這是IoT Edge機器學習解決方案作業的主要協調點。

  • IoT 中樞會使用路由,將傳入數據從IoT裝置導向至其他下游服務。 我們將利用IoT中樞路由,將裝置資料傳送至 Azure 記憶體。 在 Azure 儲存體中,Azure Machine Learning 會取用裝置數據來訓練我們的剩餘可用壽命 (RUL) 分類器。

  • 稍後在本教學課程中,我們將使用IoT中樞來設定和管理 Azure IoT Edge 裝置。

在本節中,您會使用腳本來建立 Azure IoT 中樞和 Azure 記憶體帳戶。 然後在 Azure 入口網站中,設定路由,以將中樞所接收的數據轉送至 Azure 記憶體容器。 這些步驟需要大約 10 分鐘才能完成。

  1. 聯機到開發 VM、開啟 PowerShell 視窗,然後流覽至 IoTHub 目錄。

    cd C:\source\IoTEdgeAndMlSample\IoTHub
    
  2. 執行建立腳本。 使用與建立開發 VM 時相同的訂用帳戶標識碼、位置和資源群組值。

    .\New-HubAndStorage.ps1 -SubscriptionId <subscription id> -Location <location> -ResourceGroupName <resource group>
    
    • 系統會提示您登入 Azure。
    • 腳本會確認您建立中樞和儲存帳戶的資訊。 按 yEnter 以繼續。

腳本需要大約兩分鐘的時間才能執行。 完成後,腳本會輸出IoT中樞的名稱和記憶體帳戶。

檢閱 IoT 中樞的儲存路徑

在建立IoT中樞時,我們在上一節中執行的腳本也會建立自定義端點和路由。 IoT 中樞路由是由查詢表達式和端點所組成。 如果訊息符合表達式,則會沿著路由傳送數據至相關聯的端點。 端點可以是事件中樞、服務總線佇列和主題。 在此情況下,端點是記憶體帳戶中的 Blob 容器。 讓我們使用 Azure 入口網站來檢閱腳本所建立的路由。

  1. 開啟 Azure 入口網站,然後移至您在本教學課程中所使用的資源群組。

  2. 在資源清單中,選取腳本所建立的IoT中樞。 名稱結尾為隨機字元,例如 IotEdgeAndMlHub-jrujej6de6i7w

  3. 從左窗格功能表的 [中樞設定] 底下,選取 [訊息路由]。

  4. 在 [訊息路由] 頁面上,選取 [自訂端點] 索引標籤。

  5. 展開 [記憶體] 區段:

    I o T Hub 入口網站中自定義端點清單中名為 turbofanDeviceStorage 的記憶體螢幕快照。

    我們看到 turbofanDeviceStorage 位於自定義端點清單中。 請注意此端點的下列特性:

    • 它將指向您所建立、名稱為 devicedata 的 Blob 儲存體容器,如 容器名稱所指示。
    • 檔名格式 名稱中有 「partition」 這個字。 我們發現此格式更方便我們在本教學課程稍後使用 Azure Notebooks 的檔案作業。
    • 狀態 應該狀況良好。
  6. 請選擇 路由 標籤。

  7. 選擇名為 turbofanDeviceDataToStorage的路由。

  8. 路由詳細數據 頁面上,請注意路由的端點是 turbofanDeviceStorage 端點。

    顯示有關 turbofanDeviceDataToStorage 路由的詳細資訊的螢幕快照。

  9. 檢視路由查詢 ,其設定為 true。 此設定表示所有裝置遙測訊息都會符合此路由;因此,所有訊息都會傳送至 turbofanDeviceStorage 端點。

  10. 由於未進行任何編輯,只要關閉此頁面即可。

清理資源

本教學課程是一組的一部分,其中每個文章都是以先前文章中完成的工作為基礎。 請等候清除任何資源,直到您完成最後一個教學課程為止。

後續步驟

在本文中,我們建立了IoT中樞,並設定了 Azure 記憶體帳戶的路由。 接下來,我們會透過IoT中樞將一組模擬裝置的數據傳送到記憶體帳戶。 稍後在本教學課程中,設定IoT Edge裝置和模組之後,我們將重新流覽路由,並進一步查看路由查詢。

繼續閱讀下一篇文章,以建立要監視的模擬裝置。