快速入門:使用 Azure CLI 將遙測資料從裝置傳送至 IoT 中樞並加以監視

Azure IoT 中樞 設計用來從物聯網裝置收集大量遙測資料,用於雲端儲存或處理。 在此無程式碼快速入門中,您會使用 Azure CLI 建立 IoT 中樞和模擬裝置。 你要把裝置遙測資料傳送到集線器,同時也會傳送訊息、呼叫方法,並更新裝置上的屬性。 你可以使用 Azure 入口網站來視覺化裝置指標。

本文提供開發者使用Azure CLI與IoT 中樞應用程式互動的基本工作流程。

必要條件

  • Azure 訂用帳戶。 如果你還沒有,可以在開始前 免費創建一個 。
  • The Azure CLI. 你可以使用 Azure Cloud Shell 執行此快速入門中的所有指令,這是一個互動式 CLI shell,可在瀏覽器或 Windows 終端機 等應用程式中執行。 如果你用 Cloud Shell,就不需要安裝任何東西。 若您偏好在本機使用 CLI,本快速入門需要 Azure CLI 2.36 或以上版本。 執行 az --version 以尋找版本。 若要安裝或升級,請參閱安裝 Azure CLI。

登入 Azure 入口網站

登入 Azure 入口網站。

不管你是在本地還是在 Cloud Shell 執行 CLI,都要保持入口網站在瀏覽器中開啟。 您稍後會在本快速入門中使用此入口網站。

開啟 Cloud Shell

在這個區段,你會開啟一個 Cloud Shell 實例。 如果您在本機使用 CLI,請跳至準備兩個 CLI 工作階段一節。

  1. 在Azure入口右上角的選單欄選擇Cloud Shell。

    截圖顯示Azure傳送門Cloud Shell按鈕。

    如果你是第一次使用 Cloud Shell,系統會提示你建立儲存空間,這是使用 Cloud Shell 必須的。 選擇訂閱以建立儲存帳號和 Azure 檔案儲存體 共享。

  2. 在 「選擇環境 」下拉選單中選擇你偏好的 CLI 環境。 本快速入門使用 Bash 環境。 你也可以使用 PowerShell 環境。

    截圖顯示選取 CLI 環境。

    有些指令在 Bash 和 PowerShell 環境中需要不同的語法或格式。 如需更多資訊,請參閱成功使用 Azure CLI 的秘訣。

準備兩個 CLI 工作階段

接著,您將準備兩個 Azure CLI 工作階段。 如果你使用 Cloud Shell,請將這些工作階段分別放在不同的 Cloud Shell 分頁中執行。 如果你用本地 CLI 客戶端,請執行獨立的 CLI 實例。 針對下列工作,請使用獨立的命令行介面 (CLI) 會話:

  • 第一個課程會模擬一個與您的 IoT 中樞進行通訊的 IoT 裝置。
  • 第二個會話要麼監控第一個會話中的裝置,要麼發送訊息、指令及屬性更新。

要執行一個命令,請點選 複製 以複製本快速入門中的程式碼區塊,貼到您的 Shell 會話中,然後執行。

要使用 Azure CLI,您必須登入您的 Azure 帳號。 您的 Azure CLI Shell 工作階段與 IoT 中樞之間的所有通訊都會經過驗證和加密。 因此,這個快速入門不需要您在真實裝置上會使用的額外驗證,例如連線字串。

  • 在第一個 CLI 工作階段中,執行 az extension add 命令。 此命令會將適用於 Azure CLI 的 Microsoft Azure IoT 擴充功能新增至您的 CLI 殼層。 IoT 擴充套件新增了 IoT 中樞、Azure IoT Edge 以及 IoT Device Provisioning Service 專屬於 Azure CLI 的指令。

    az extension add --name azure-iot
    

    安裝 Azure IoT 擴充功能後,你不需要在任何 Cloud Shell 會話中重新安裝。

    附註

    本文使用最新版的 Azure IoT 擴充功能,稱為 azure-iot。 舊版稱為 azure-cli-iot-ext。 你應該一次只安裝一個版本。 您可以使用 az extension list 命令來驗證目前安裝的延伸模組。

    使用 az extension remove --name azure-cli-iot-ext 移除舊版的擴充功能。

    使用 az extension add --name azure-iot 新增新版的擴充功能。

    若要檢視目前安裝的擴充功能,請使用 az extension list。

  • 開啟第二個 CLI(命令行介面)工作階段。 如果你在瀏覽器中使用Cloud Shell,請使用 開啟新工作階段。 如果你在本地使用 CLI,請開啟第二個 CLI 實例。

    截圖顯示開啟新Cloud Shell會話。

建立 IoT 中樞

在本節中,您將使用 Azure CLI 建立資源群組和 IoT 中樞。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。 物聯網中樞作為中央訊息中樞,用於你的物聯網應用與裝置之間雙向通訊。

  1. 在第一個 CLI 工作階段中,執行 az group create 命令以建立資源群組。 以下指令會建立一個以該MyResourceGroup地點命名eastus的資源群組。

    az group create --name MyResourceGroup --location eastus
    
  2. 在第一個 CLI 工作階段中,執行 Az PowerShell module iot hub create 命令以建立 IoT 中樞。 建立 IoT 中樞可能需要幾分鐘的時間。

    在下列命令中,請將 YourIotHubName 預留位置與其周圍的大括號取代為您為 IoT 中樞所選擇的名稱。 IoT 中樞名稱在 Azure 中必須是全域唯一的。 只要您看到預留位置,就請在本快速入門的其餘部分使用您的 IoT 中樞名稱。

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

建立和監視裝置

在本節中,您將在第一個 CLI 工作階段中建立模擬裝置。 模擬裝置會將裝置遙測資料傳送至您的 IoT 中樞。 在第二個 CLI 工作階段中,您可監視事件和遙測。

若要建立並啟動模擬裝置:

  1. 在第一個 CLI 工作階段中,執行 az iot hub device-identity create 命令。 此命令會建立模擬裝置身分識別。

    • YourIotHubName。 請將以下程式碼中的這個佔位符替換成你為物聯網集線所選的名稱。
    • simDevice。 您可以在本快速入門的其餘部分直接對模擬裝置使用此名稱。 您也可以選擇使用不同的名稱。
    az iot hub device-identity create -d simDevice -n {YourIoTHubName} 
    
  2. 在第一個 CLI 工作階段中,執行 az iot device simulate 命令。 此命令會啟動模擬裝置。 裝置會將遙測資料傳送至您的 IoT 中樞,並接收來自該處的訊息。

    請將下列程式碼中的 YourIotHubName 預留位置,替換為你為 IoT 中樞選擇的名稱。

    az iot device simulate -d simDevice -n {YourIoTHubName}
    

若要監視裝置:

  1. 在第二個 CLI 工作階段中,執行 az iot hub monitor-events 命令。 此命令會持續監視模擬裝置。 輸出會顯示遙測數據,例如模擬裝置傳送至 IoT 中樞的事件和屬性狀態的變更。

    請將下列程式碼中的 YourIotHubName 預留位置,替換為你為 IoT 中樞選擇的名稱。

    az iot hub monitor-events --output table -p all -n {YourIoTHubName}
    

    模擬裝置上監視事件的螢幕擷取畫面。

  2. 在第二個 CLI 會話中監控模擬裝置後,選擇 Ctrl+C 停止監控。 保持第二個 CLI 工作階段開啟,以便後續步驟使用。

使用 CLI 傳送訊息

在本節中,您會傳送訊息給模擬裝置。

  1. 在第一個 CLI 工作階段中,確認模擬裝置正在執行中。 如果裝置停止,請執行以下指令重新啟動。

    請將下列程式碼中的 YourIotHubName 預留位置,替換為你為 IoT 中樞選擇的名稱。

    az iot device simulate -d simDevice -n {YourIoTHubName}
    
  2. 在第二個 CLI 工作階段中,執行 az iot device c2d-message send 命令。 此命令會將雲端到裝置的訊息從 IoT 中樞傳送至模擬裝置。 訊息包含一個字串和兩個鍵值對。

    請將下列程式碼中的 YourIotHubName 預留位置,替換為你為 IoT 中樞選擇的名稱。

    az iot device c2d-message send -d simDevice --data "Hello World" --props "key0=value0;key1=value1" -n {YourIoTHubName}
    

    (選擇性) 您可以使用 Azure 入口網站來傳送雲端到裝置的訊息。 要透過 Azure 入口傳送訊息,請瀏覽 IoT hub 的 Overview 頁面,選擇 IoT Devices,選擇模擬裝置,並選擇 Message to Device。

  3. 在第一個 CLI 工作階段中,確認模擬裝置已收到訊息。

    截圖顯示模擬裝置收到訊息。

使用 CLI 呼叫裝置方法

在本節中,您會在模擬裝置上呼叫直接方法。

  1. 如先前動作,確認第一個 CLI 工作階段中的模擬裝置正在執行中。 如否,請重新啟動。

  2. 在第二個 CLI 工作階段中,執行 az iot hub invoke-device-method 命令。 在此範例中,該裝置沒有預先存在的方法。 該命令會在模擬裝置上呼叫範例方法名稱,並傳回承載。

    請將下列程式碼中的 YourIotHubName 預留位置,替換為你為 IoT 中樞選擇的名稱。

    az iot hub invoke-device-method --mn MySampleMethod -d simDevice -n {YourIoTHubName}
    
  3. 在第一個 CLI 會話中,確認輸出顯示方法呼叫。

    截圖顯示模擬裝置在呼叫方法後顯示輸出。

使用 CLI 更新裝置屬性

在本節中,您會設定屬性值以更新模擬裝置的狀態。

  1. 如先前動作,確認第一個 CLI 工作階段中的模擬裝置正在執行中。 如否,請重新啟動。

  2. 在第二個 CLI 工作階段中,執行 az iot hub device-twin update 命令。 此命令會將 IoT 中樞上對應您的模擬裝置的裝置孿生的屬性更新為所需的狀態。 在此情況下,該命令會設定範例溫度條件屬性。

    重要

    如果您在 CLI 殼層中使用 PowerShell,請使用下列程式碼中命令的 PowerShell 版本。 PowerShell 會要求您逸出 JSON 承載中的字元。

    請將下列程式碼中的 YourIotHubName 預留位置,替換為你為 IoT 中樞選擇的名稱。

    az iot hub device-twin update -d simDevice --desired '{"conditions":{"temperature":{"warning":98, "critical":107}}}' -n {YourIoTHubName}
    
    az iot hub device-twin update -d simDevice --desired '{\"conditions\":{\"temperature\":{\"warning\":98, \"critical\":107}}}' -n {YourIoTHubName}
    
  3. 在第一個 CLI 工作階段中,確認該模擬裝置輸出屬性更新。

    此螢幕擷取畫面顯示如何更新裝置上的屬性。

  4. 在第二個 CLI 工作階段中,執行 az iot hub device-twin show 命令。 此命令會報告裝置屬性的變更。

    請將下列程式碼中的 YourIotHubName 預留位置,替換為你為 IoT 中樞選擇的名稱。

    az iot hub device-twin show -d simDevice --query properties.reported -n {YourIoTHubName}
    

    此螢幕擷取畫面顯示裝置對應項上的已更新屬性。

在入口網站中檢視訊息統計

你可以在 Azure 入口網站中管理物聯網樞紐和裝置的所有面向。 在從裝置擷取遙測資料的一般 IoT 中樞應用程式中,您可能會想要監視裝置或檢視裝置遙測的計量。

若要將 Azure 入口網站中的訊息計量視覺化:

  1. 在入口網站的服務選單中,選擇 「所有資源」。 這個分頁列出你訂閱中的所有資源,包括你建立的物聯網中樞。

  2. 選擇你建立的物聯網中樞上的連結。 入口網站會顯示該樞紐 的概覽 頁面。

  3. 在你的物聯網中樞左側窗格選擇 「Metrics 」。

    顯示IoT 中樞訊息指標的截圖。

  4. 在 [範圍] 欄位中,輸入您的 IoT 中樞名稱。

  5. 在 Metric Namespace欄位中,選擇 IoT 中樞標準指標。

  6. 在 [計量] 欄位中,選取 [已使用的訊息總數]。

  7. 將滑鼠指標停留在您的裝置傳送訊息的時間軸區域上方。 某個時間點的訊息總數會出現在時間軸的左下角。

    截圖,顯示IoT 中樞指標的視圖。

  8. 可選擇使用 指標 下拉選單,在模擬裝置上顯示其他指標。 例如,請參閱 已完成的 C2D 訊息傳遞 或 Total devices (preview)。

清除資源

如果你不再需要在這個快速入門中建立的 Azure 資源,你可以使用 Azure CLI 刪除它們。

如果你繼續閱讀下一篇推薦文章,可以保留已建立的資源並重複使用。

重要

刪除資源群組是無法回復的動作。 資源群組和其中包含的所有資源都將永久刪除。 請確定您不會誤刪錯誤的資源群組或資源。

若要依名稱刪除資源群組:

  1. 執行 az group delete 命令。 這個指令會移除資源群組、物聯網樞紐,以及你建立的裝置註冊。

    az group delete --name MyResourceGroup
    
  2. 執行 az 群組列表 指令以確認資源群組已被刪除。

    az group list
    

總結

在本快速入門中,您已使用 Azure CLI 建立 IoT 中樞、建立模擬裝置、傳送監視遙測、呼叫方法、設定所需屬性,並清除資源。 您已使用 Azure 入口網站將裝置上的訊息計量視覺化。

如果你是裝置開發者,建議下一步是查看使用 Azure IoT Device SDK for C 的遙測快速入門。也可以選擇閱讀可用 IoT 中樞 遙測快速入門文章,並以你偏好的語言或 SDK 閱讀。

若要了解如何從後端應用程式控制您的模擬裝置,請繼續下一個快速入門。

後續步驟