在 Azure IoT Central 應用程式中定義新的 IoT 裝置類型

裝置範本是一種藍圖,可定義連線到 Azure IoT Central 應用程式的裝置類型其特性和行為。

本文說明如何在IoT Central中建立裝置範本。 例如,您可以為傳送遙測的感測器建立裝置範本,例如溫度和屬性,例如位置。 從此裝置範本中,操作員可以建立及連線實際裝置。

下列螢幕快照顯示裝置範本的範例:

顯示裝置範本的螢幕快照。

裝置範本有下列各節:

  • 模型 - 使用模型來定義您的裝置如何與您的 IoT Central 應用程式互動。 每個模型都有唯一的模型標識碼,並定義裝置的功能。 功能會分組為介面。 介面可讓您跨模型重複使用元件,或使用繼承來擴充功能集。
  • 原始資料 - 檢視您指定的預覽裝置所傳送的原始數據。 當您偵錯或疑難解答裝置範本時,此檢視很有用。
  • 檢視 - 使用檢視將裝置和表單中的資料可視化,以管理和控制裝置。

若要深入瞭解,請參閱 什麼是裝置範本?

若要瞭解如何使用IoT Central REST API管理裝置範本,請參閱 如何使用IoT Central REST API來管理裝置範本。

建立裝置範本

您有數個選項可建立裝置範本:

  • 在 IoT Central GUI 中設計裝置範本。
  • 從精選裝置範本清單中匯入裝置範本。 在 IoT Central 中,可選擇性地依您的需求來自訂裝置範本。
  • 裝置連線至 IoT Central 時,讓裝置傳送所實作模型的模型識別碼。 IoT Central 會使用模型識別碼,從模型存放庫擷取模型,並建立裝置範本。 將 IoT Central 應用程式所需的任何雲端屬性和檢視新增至裝置範本。
  • 當裝置連線到IoT Central時,讓IoT Central 從裝置傳送的數據自動產生裝置範本 定義。
  • 使用 數字對應項定義語言 (DTDL) V2IoT Central DTDL 擴充功能撰寫裝置模型。 將裝置模型手動匯入 IoT Central 應用程式。 然後新增雲端屬性和檢視IoT Central應用程式需求。
  • 您也可以使用 如何使用IoT Central REST API來管理裝置範本,將裝置範本新增至IoT Central 應用程式。

注意

在每個案例中,裝置程式代碼都必須實作模型中定義的功能。 裝置程式代碼實作不會受到裝置範本雲端屬性和檢視區段的影響。

本節說明如何從精選裝置範本清單匯入裝置範本,以及如何使用 IoT Central GUI 自定義它。 此範例會從精選裝置範本清單中,使用 [開始] Hobo MX-100 Temp Sensor 裝置範本:

  1. 若要新增裝置範本,請在 [裝置範本] 頁面上選取 [+ 新增]。
  2. 在 [選取類型] 頁面上,向下捲動,直到您在 [精選裝置範本] 區段中找到 [開始] Hobo MX-100 Temp Sensor 圖格為止。
  3. 選取 [ 開始][Hobo MX-100 Temp Sensor] 圖格,然後選取 [ 下一步:檢閱]。
  4. [檢閱] 頁面上,選取 [建立]。 您建立的範本名稱是 Hobo MX-100。 此模型包含如 Hobo MX-100IotDevice元件。 元件會定義 Hobo MX-100 裝置的功能。 功能可以包含遙測、屬性和命令。 此裝置只有遙測功能。

顯示裝置範本的螢幕快照。

自動產生裝置範本

您也可以從目前未指派的裝置自動建立裝置範本。 IoT Central 會使用裝置傳送來推斷裝置模型的遙測和屬性值。

注意

目前,此預覽功能無法使用元件的遙測和屬性。 它只能從根遙測和屬性產生功能。

下列步驟示範如何使用這項功能:

  1. 連線 裝置至IoT Central,並開始傳送數據。 當您在 [原始數據] 檢視中看到數據時,請在 [管理範本] 下拉式清單中選取 [自動建立範本]:

    顯示未指派裝置原始數據的螢幕快照。

  2. 在 [ 數據預覽 ] 頁面上,對原始數據進行任何必要的變更,然後選取 [ 建立範本]:

    顯示數據預覽變更的螢幕快照,可讓您編輯IoT Central用來產生裝置範本的數據。

  3. IoT Central 會根據 [數據預覽] 頁面上顯示的數據格式產生範本,並將裝置指派給它。 您可以在 [裝置範本] 頁面上對裝置範本進行進一步變更,例如重新命名或新增功能

    顯示如何重新命名自動產生的裝置範本的螢幕快照。

管理裝置範本

您可以從範本的編輯頁面重新命名或刪除範本。

定義範本之後,您可以發佈範本。 在範本發佈之前,您無法將裝置連線到該範本,而且它不會出現在 [裝置 ] 頁面上。

若要深入瞭解修改和版本設定裝置範本,請參閱 編輯現有的裝置範本

模型

此模型會定義您的裝置如何與您的IoT Central 應用程式互動。 使用更多功能自定義模型、新增介面以繼承功能,或新增以其他介面為基礎的新元件。

若要建立裝置模型,您可以:

  • 使用 IoT Central 從頭開始建立自訂模型。
  • 從 JSON 檔案匯入 DTDL 模型。 裝置產生器可能會使用 Visual Studio Code 來撰寫應用程式的裝置模型。
  • 從精選裝置範本清單中選取其中一個裝置。 此選項會匯入製造商為此裝置發行的裝置型號。 這樣匯入的裝置模型會自動發佈。
  1. 若要檢視模型標識碼,請選取模型中的根介面,然後選取 [ 編輯身分識別]:

    顯示裝置範本根介面模型標識碼的螢幕快照。

  2. 若要檢視元件標識碼,請選取 模型中任何元件介面上的 [編輯身分識別 ]。

若要深入瞭解,請參閱 IoT 隨插即用 模型化指南

介面與元件

若要檢視及管理裝置模型中的介面:

  1. 移至 [ 裝置範本] 頁面,然後選取您建立的裝置範本。 介面會列在 裝置範本的 [模型 ] 區段中。 下列螢幕快照顯示裝置範本中感測器控制器根介面的範例:

    顯示模型根介面的螢幕快照

  2. 選取省略號,將繼承的介面或元件新增至根介面。 若要深入瞭解介面和元件,請參閱 模型化指南中的多個元件

    顯示如何新增介面或元件的螢幕快照。

  3. 若要匯出模型或介面,請選取 [匯出]

  4. 若要檢視或編輯介面或功能的 DTDL,請選取 [編輯 DTDL]

功能

選取 [+ 新增功能] 以將功能新增至介面或元件。 例如,您可以將「目標溫度」功能新增至 SensorTemp 元件。

顯示如何新增功能的螢幕快照。

遙測

遙測是裝置所傳送過來的數值串流,來源一般是感應器。 例如,感測器可能會回報環境溫度,如下列螢幕快照所示:

顯示如何新增遙測類型的螢幕快照。

下表顯示遙測功能的組態設定:

欄位 描述
顯示名稱 檢視和表單上所用遙測值的顯示名稱。
名稱 遙測訊息中的欄位名稱。 IoT Central 會從顯示名稱產生此欄位的值,但如有必要,您也可以選擇自己所要使用的值。 此欄位必須是英數位元。
功能類型 遙測。
語意類型 遙測的語意類型,例如溫度、狀態或事件。 所選擇的語意類型會決定下列哪些欄位可供使用。
結構描述 遙測數據類型,例如 double、string 或 vector。 語意類型會決定可用的選擇。 結構描述不適用於事件和狀態這兩種語意類型。
嚴重性 僅適用於事件語意類型。 嚴重性為 [錯誤]、[資訊] 或 [警告]
狀態值 僅適用於狀態語意類型。 會定義可能的狀態值,每個狀態值都會有顯示名稱、名稱、列舉類型和值。
Unit 遙測值的單位,例如 mph%°C
顯示單位 要在檢視和表單上使用的顯示單位。
註解 遙測功能的任何相關註解。
描述 遙測功能的說明。

屬性

屬性代表時間點值。 您可以從 IoT Central 設定可寫入的屬性。 例如,裝置可以使用可寫入屬性來讓操作員設定目標溫度,如下列螢幕快照所示:

顯示如何新增屬性的螢幕快照。

下表顯示屬性功能的組態設定:

欄位 描述
顯示名稱 儀表板和表單上所用屬性值的顯示名稱。
名稱 屬性的名稱。 IoT Central 會從顯示名稱產生此欄位的值,但如有必要,您也可以選擇自己所要使用的值。 此欄位必須是英數位元。
功能類型 屬性。
語意類型 屬性的語意類型,例如溫度、狀態或事件。 所選擇的語意類型會決定下列哪些欄位可供使用。
結構描述 屬性的資料類型,例如雙精度浮點數、字串或向量。 語意類型會決定可用的選擇。 結構描述不適用於事件和狀態這兩種語意類型。
可寫入 如果屬性無法寫入,裝置可以向 IoT Central 報告屬性值。 如果屬性可寫入,裝置可以將屬性值回報給IoT Central,而IoT Central可以將屬性更新傳送至裝置。
嚴重性 僅適用於事件語意類型。 嚴重性為 [錯誤]、[資訊] 或 [警告]
狀態值 僅適用於狀態語意類型。 會定義可能的狀態值,每個狀態值都會有顯示名稱、名稱、列舉類型和值。
Unit 屬性值的單位,例如 mph%°C
顯示單位 要在檢視和表單上使用的顯示單位。
註解 屬性功能的任何相關註解。
描述 屬性功能的說明。
Color DTDL 的 IoT Central 擴充功能。
最小值 將最小值 - IoT Central 擴充功能設定為 DTDL。
最大值 設定最大值 - IoT Central 擴充功能為 DTDL。
小數位數 DTDL 的 IoT Central 擴充功能。

命令

您可以從 IoT Central 呼叫裝置命令。 命令會選擇性地將參數傳遞給裝置,並接收裝置傳來的回應。 例如,您可以呼叫命令,在10秒內重新啟動裝置,如下列螢幕快照所示:

顯示如何新增命令的螢幕快照。

下表顯示命令功能的組態設定:

欄位 描述
顯示名稱 檢視和表單上所用命令的顯示名稱。
名稱 命令的名稱。 IoT Central 會從顯示名稱產生此欄位的值,但如有必要,您也可以選擇自己所要使用的值。 此欄位必須是英數位元。
功能類型 命令。
離線時排入佇列 如果啟用,即使裝置離線,您仍然可以呼叫命令。 若未啟用,您只能在裝置上線時呼叫命令。
註解 有關命令功能的任何註解。
描述 命令功能的說明。
Request 若啟用,則為要求參數的定義,包括:名稱、顯示名稱、結構描述、單位和顯示單位。
回應 若啟用,則為命令回應的定義,包括:名稱、顯示名稱、結構描述、單位和顯示單位。
初始值 預設參數值。 此參數是 DTDL 的 IoT Central 擴充功能。

若要深入瞭解裝置如何實作命令,請參閱 遙測、屬性和命令承載 > 命令命令和長時間執行的命令

離線命令

如果裝置目前離線,您可以選擇佇列命令,方法是在裝置範本中啟用 命令的 [如果離線 ] 選項。

此選項會使用 IoT 中樞 雲端到裝置訊息,將通知傳送至裝置。 若要深入瞭解,請參閱傳送雲端到裝置訊息一文 IoT 中樞。

雲端到裝置訊息:

  • 是解決方案中裝置的單向通知。
  • 保證至少傳遞一次訊息。 IoT 中樞 會保存每個裝置佇列中的雲端到裝置訊息,保證對連線和裝置失敗的復原能力。
  • 要求裝置實作訊息處理程式來處理雲端到裝置訊息。

注意

離線命令會標示為 durable 將模型導出為 DTDL。

雲端屬性

使用雲端屬性,可將裝置的相關資訊儲存在 IoT Central 中。 雲端屬性一律不會傳送至裝置。 例如,您可以使用雲端屬性來儲存已安裝裝置的客戶名稱,或裝置的最後一個服務日期。

顯示如何新增雲端屬性的螢幕快照。

提示

您只能將雲端屬性新增至模型中的 元件。

下表顯示雲端屬性的組態設定:

欄位 描述
顯示名稱 檢視和表單上所用雲端屬性值的顯示名稱。
名稱 雲端屬性的名稱。 IoT Central 會從顯示名稱產生此欄位的值,但如有必要,您也可以選擇自己所要使用的值。
語意類型 屬性的語意類型,例如溫度、狀態或事件。 所選擇的語意類型會決定下列哪些欄位可供使用。
結構描述 雲端屬性的資料類型,例如雙精度浮點數、字串或向量。 語意類型會決定可用的選擇。

檢視

[檢視] 可讓您定義檢視和表單,以讓操作員監視裝置並與其互動。 [檢視] 會使用圖表這類視覺效果來顯示遙測和屬性值。

產生預設檢視是視覺化您重要裝置資訊的快速方法。 這三個預設檢視如下:

預設檢視

  • 命令:具有裝置命令的檢視,並可讓您的操作員將其分派至您的裝置。
  • 觀:具有裝置遙測的檢視,顯示圖表和計量。
  • 關於:具有裝置資訊的檢視,顯示裝置屬性。

選取 [產生默認檢視] 之後,系統會自動新增在裝置範本的 [檢視] 區段底下

自訂檢視

將檢視新增至裝置範本,讓操作員能夠使用圖表和計量將裝置可視化。 您可以將自己的自訂檢視新增至裝置範本。

若要將檢視新增至裝置範本:

  1. 移至裝置範本,然後選取 [檢視]
  2. 選取 [ 可視化裝置]。
  3. [檢視名稱] 中,輸入檢視的名稱。
  4. 在新增圖格下選取 [使用視覺效果啟動],然後選擇圖格的視覺效果類型。 然後選取 [新增圖格],或將視覺效果拖放至畫布。 若要設定圖格,請選取齒輪圖示。

顯示如何以視覺效果開頭的螢幕快照。

顯示如何設定磚的螢幕快照。

若要測試您的檢視,請選取 [設定預覽裝置]。 此功能可讓您將檢視視為操作員在發佈之後看到檢視。 使用此功能來驗證檢視所顯示的資料是否正確。 從下列選項中選擇:

  • 沒有預覽裝置。
  • 您為裝置範本設定的實際測試裝置。
  • 您應用程式中現存的裝置,依裝置識別碼。

表單

透過檢視和設定屬性,新增表單至裝置模板已啟用操作員來管理裝置。 操作員只能編輯雲端屬性和可寫入的裝置屬性。 針對裝置模板,您可以擁有多重表單。

  1. 選取 [檢視] 節點,然後選取 [編輯裝置和雲端資料] 圖格,以新增新視圖。

  2. 將表單名稱變更為 [管理裝置]。

  3. 選取要新增至表單的屬性和雲端屬性。 然後選取 [新增區段]

  4. 選取 [儲存] 以儲存您的新表單。

顯示如何設定表單的螢幕快照。

發佈裝置範本

您必須先發佈裝置範本,才能連接實作裝置模型的裝置。

若要發佈裝置範本,請移至裝置範本並選取 [發佈]

發佈裝置範本後,操作員可以轉到 [裝置] 頁面,新增使用您的裝置範本的真實或模擬裝置。 您可以在進行變更時繼續修改並儲存裝置範本。 當您想要將這些變更推送給操作員以在 [裝置] 頁面下檢視時,每次都必須選擇 [發佈]