將 Azure IoT Edge 裝置連線至 Azure IoT Central 應用程式

Azure IoT Edge 將雲端分析與自訂商務邏輯從雲端移至您的裝置。 這種方法可讓您的雲端解決方案專注於商業見解,而不是資料管理。 將您的商務邏輯封裝到標準容器中,來擴增 IoT 解決方案,然後將這些容器部署到您的裝置,並從雲端進行全面監視。

本文章說明:

  • 搭配 IoT Central 使用 IoT Edge 閘道模式。
  • IoT Edge 裝置如何連線到 IoT Central 應用程式。
  • 如何使用 IoT Central 來管理您的 IoT Edge裝置。

若要深入了解 IoT Edge,請參閱什麼是 Azure IoT Edge?

IoT Edge

具有 Azure IoT Edge 的 Azure IoT Central

IoT Edge 是由三個元件組成:

  • IoT Edge 模組是執行 Azure 服務、夥伴服務或自有程式碼的容器。 這類模組會部署到 IoT Edge 裝置,並在這些裝置本機上執行。 部署資訊清單會定義要部署至 IoT Edge 裝置的模組。
  • IoT Edge 執行階段會在每個 IoT Edge 裝置上執行,並管理部署到每個裝置的模組。 執行階段包含兩個 IoT Edge 模組:IoT Edge 代理程式和 IoT Edge 中樞
  • 雲端式介面可讓您在遠端監視及管理 IoT Edge 裝置。 IoT Central 是雲端介面的範例。

IoT Central 可為 IoT Edge 裝置啟用下列功能:

  • 部署資訊清單管理。 IoT Central 應用程式可以管理部署資訊清單的集合,並將其指派給裝置。
  • 裝置範本可描述 IoT Edge 裝置的功能,例如:
    • 每個 IoT Edge 模組傳送的遙測。
    • 每個 IoT Edge 模組回報的屬性。
    • 每個 IoT Edge 模組回應的命令。
    • IoT Edge 閘道裝置與下游裝置之間的關聯性。
    • 未儲存在 IoT Edge 裝置上的雲端屬性。
    • 裝置檢視和表單。
  • 使用 Azure IoT 裝置佈建服務大規模佈建 IoT Edge 裝置的功能。
  • 規則與動作。
  • 自訂儀表板和分析。
  • 從 IoT Edge 裝置持續匯出遙測資料。

IoT Edge 裝置可以是:

  • 由自訂模組組成的獨立裝置。
  • 「閘道裝置」具有與其連線的下游裝置。 閘道裝置可能包含自訂模組。

IoT Edge 裝置和 IoT Central

IoT Edge 裝置可以使用「共用存取簽章」權杖或 X.509 憑證,向 IoT Central 進行驗證。 在進行首次連線前,您可以在 IoT Central 中自行註冊 IoT Edge 裝置,或使用裝置佈建服務來註冊。 若要深入了解,請參閱裝置的連線方式

IoT Central 會選用裝置範本,來定義 IoT Central 與 IoT Edge 裝置的互動方式。 例如,裝置範本會指定:

  • IoT Edge 裝置傳送的遙測和屬性類型,可讓 IoT Central 進行解譯並建立視覺效果。
  • IoT Edge 裝置所回應的命令,可讓 IoT Central 顯示操作員用來呼叫命令的使用者介面。

如果沒有與裝置相關聯的裝置範本,遙測和屬性值會顯示為「未模型化」資料。 不過,您仍然可以使用 IoT Central 資料匯出功能,將遙測和屬性值轉送至其他後端服務。

IoT Edge 部署資訊清單

在 IoT Edge 中,您可以透過模組形式來部署和管理商務邏輯。 IoT Edge 模組是 IoT Edge 管理的最小計算單位,可以包含 Azure 服務 (例如 Azure 串流分析) 或您自己的解決方案特定程式碼。

IoT Edge 部署資訊清單會列出要部署在裝置上的IoT Edge 模組,以及模組的設定方式。

在 Azure IoT Central 中瀏覽至 [Edge 資訊清單],即可匯入並管理解決方案中 IoT Edge 裝置的部署資訊清單。

下列程式碼片段為 IoT Edge 部署資訊清單的範例:

{
  "modulesContent": {
    "$edgeAgent": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "runtime": {
          "type": "docker",
          "settings": {
            "minDockerVersion": "v1.25",
            "loggingOptions": "",
            "registryCredentials": {}
          }
        },
        "systemModules": {
          "edgeAgent": {
            "type": "docker",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-agent:1.0.9",
              "createOptions": "{}"
            }
          },
          "edgeHub": {
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-hub:1.0.9",
              "createOptions": "{}"
            }
          }
        },
        "modules": {
          "SimulatedTemperatureSensor": {
            "version": "1.0",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
              "createOptions": "{}"
            }
          }
        }
      }
    },
    "$edgeHub": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "routes": {
            "route": "FROM /* INTO $upstream"
        },
        "storeAndForwardConfiguration": {
          "timeToLiveSecs": 7200
        }
      }
    },
    "SimulatedTemperatureSensor": {
      "properties.desired": {
           "SendData": true,
           "SendInterval": 10
      }
    }
  }
}

在先前的程式碼片段中,您可以看到:

  • 三個模組。 存在於每個部署資訊清單中的「IoT Edge 代理程式」和「IoT Edge 中樞」系統模組。 自訂「SimulatedTemperatureSensor」模組。
  • 公用模組映像是從 Azure Container Registry 存放庫中提取,該存放庫無需認證即可進行連線。 如需私人模組映像,請設定容器登錄認證,以將其用於「IoT Edge 代理程式」模組的 registryCredentials 設定中。
  • 自訂「SimulatedTemperatureSensor」模組有兩個可寫入的屬性:"SendData": true"SendInterval": 10

下列螢幕擷取畫面為匯入至 IoT Central 的部署資訊清單:

此螢幕擷取畫面為已匯入的環境感應器部署資訊清單。

如果您的應用程式使用組織,您可以將部署資訊清單指派給特定組織。 上一個螢幕擷取畫面為指派給「市集管理員/美洲」組織的部署資訊清單。

若要了解如何使用 [Edge 資訊清單] 頁面,並將部署資訊清單指派給 IoT Edge 裝置,請參閱在 IoT Central 應用程式中管理 IoT Edge 部署資訊清單

管理未指派的裝置

沒有相關聯裝置範本的 IoT Edge 裝置稱為「未指派」裝置。 您無法透過未指派的裝置使用 IoT Central 功能,例如儀表板、裝置群組、分析、規則和作業。 不過,您可以透過未指派的裝置使用下列功能:

  • 檢視原始資料,例如遙測和屬性。
  • 呼叫裝置命令。
  • 讀取和寫入屬性。

此螢幕擷取畫面為未指派的裝置功能。

您也可以在未指派的裝置上管理個別模組:

此螢幕擷取畫面為未指派裝置上的模組管理選項。

IoT Edge 裝置範本

IoT Central 裝置範本會使用模型來描述 IoT Edge 裝置的功能。 可針對 IoT Edge 裝置選用裝置範本。 您可以在裝置範本中使用 IoT Central 功能 (例如儀表板和分析),來與遙測、屬性和命令進行互動。 下列圖表為 IoT Edge 裝置的模型結構:

此圖表為連線至 IoT Central 的 IoT Edge 裝置模型結構。

IoT Central 會建立 IoT Edge 裝置的模型,如下所示:

  • 每個 IoT Edge 裝置範本都有一個功能模型。
  • 針對部署資訊清單中列出的每個自訂模組,如果您想要使用 IoT Central 與該模組互動,請新增模組定義。
  • 模組功能模型會實作一或多個模組介面。
  • 每個模組介面都包含遙測、屬性和命令。

您可以根據裝置資訊清單中定義的模組和屬性來產生基本功能模型。 若要深入了解,請參閱將模組和屬性新增至裝置範本

IoT Edge 閘道模式

IoT Central 支援下列 IoT Edge 裝置模式:

將 IoT Edge 作為透明閘道

下游裝置會藉由自己的身分識別,透過閘道來連線至 IoT Central。

將 IoT Edge 作為透明閘道

IoT Edge 裝置不僅會在 IoT Central 中佈建,也同時在與其連線的下游裝置中佈建。 執行階段支援目前無法透過閘道佈建下游裝置。

IoT Edge 中樞模組的作業方式與 IoT Central 相似,並可處理來自 IoT Central 中已註冊裝置的連線。 訊息不受閘道阻礙,可順利從下游裝置傳遞至 IoT Central。 您無法在透明閘道中使用自訂模組,操作來自下游裝置的訊息。

注意

IoT Central 目前不支援將 IoT Edge 裝置當作下游裝置,連線到 IoT Edge 透明閘道。 這是因為連線到 IoT Central 的所有裝置都會使用裝置佈建服務 (DPS) 佈建,而 DPS 目前不支援巢狀 IoT Edge 情節。

將 IoT Edge 作為通訊協定轉譯閘道

若裝置無法適用 IoT Central 所支援的通訊協定,您可以透過此模式來連接該裝置。

將 IoT Edge 作為通訊協定轉譯閘道

IoT Edge 裝置是在 IoT Central 中佈建,而下游裝置的任何遙測來源皆會顯示為 IoT Edge 裝置。 連線到 IoT Edge 裝置的下游裝置不會在 IoT Central 中佈建。

IoT Edge 作為身分識別轉譯閘道

下游裝置在閘道中連線的模組會為其提供 IoT Central 裝置身分識別。

將 IoT Edge 作為身分識別轉譯閘道

IoT Edge 裝置不僅會在 IoT Central 中佈建,也同時在與其連線的下游裝置中佈建。 IoT Central 目前不具備閘道的執行階段支援,無法提供身分識別及佈建下游裝置。 如果您具備自己的身分識別轉譯模組,IoT Central 即可支援此模式。

下游裝置與閘道和模組的關聯性

如果下游裝置透過「IoT Edge 中樞」模組連線到 IoT Edge 閘道裝置,IoT Edge 裝置即為透明閘道:

透明閘道的圖表

如果下游裝置透過自訂模組連線到 IoT Edge 閘道裝置,IoT Edge 裝置即為透明閘道。 在下列範例中,下游裝置會透過執行通訊協定轉譯的「Modbus」自訂模組進行連線:

自訂模組連接的圖表

下圖為透過兩種模組類型連線到 IoT Edge 閘道裝置的情形。 在此案例中,IoT Edge 裝置是透明和轉譯閘道:

此圖表為使用兩種連線模組的連線情形

下游裝置可以透過多個自訂模組連線到 IoT Edge 閘道裝置。 下圖為透過 Modbus 自訂模組、BLE 自訂模組和「IoT Edge 中樞」模組所連線的下游裝置:

此圖表為使用多個自訂模組的連線情形

若要深入了解 IoT Edge 閘道模式,請參閱如何將 IoT Edge 裝置作為閘道

部署 IoT Edge 執行階段

若要了解可以在何處執行 IoT Edge 執行階段,請參閱 Azure IoT Edge 支援的系統

您也可以在下列環境中安裝 IoT Edge 執行階段:

監視您的 IoT Edge 裝置

若要了解如何從遠端監視您的 IoT Edge 機群,請參閱收集和傳輸計量

下一步

下一個建議步驟是了解如何開發您自己的 IoT Edge 模組