在 Azure IoT Central 應用程式中建立裝置範本
裝置範本是一種藍圖,可定義連線到 Azure IoT Central 應用程式的裝置類型其特性和行為。 例如,您可以為傳送遙測 (例如溫度) 和屬性 (例如位置) 的感應器建立裝置範本。 若要深入了解,請參閱什麼是裝置範本? \(部分機器翻譯\)。
本文說明在 IoT Central 中建立裝置範本的一些方式,例如從遙測訊息自動產生裝置範本,或在 IoT Central UI 中定義範本。
操作員可以透過裝置範本,建立並連接實際的裝置。
以下螢幕擷取畫面顯示裝置範本的範例:
裝置範本有以下區段:
- 模型 - 使用模型可定義裝置與 IoT Central 應用程式互動的方式。 每個模型都有唯一的模型識別碼,並且會定義裝置的功能。 功能會分組為介面。 介面可讓您跨模型重複使用元件,或使用繼承來擴充一組功能。
- 未經處理資料 - 檢視您指定的預覽裝置所傳送的未經處理資料。 在針對裝置範本進行偵錯或疑難排解時,此檢視會很有用。
- 檢視 - 使用檢視可將裝置的資料視覺化,使用表單則可以管理和控制裝置。
若要了解如何使用 IoT Central REST API 管理裝置範本,請參閱<如何使用 IoT Central REST API 來管理裝置範本>。
有數個選項可供您建立裝置範本:
- 在 IoT Central UI 中設計裝置範本。
- 從精選裝置範本清單中匯入裝置範本。 在 IoT Central 中,可選擇性地依您的需求來自訂裝置範本。
- 裝置連線至 IoT Central 時,讓裝置傳送所實作模型的模型識別碼。 IoT Central 會使用模型識別碼,從模型存放庫擷取模型,並建立裝置範本。 將 IoT Central 應用程式所需的任何雲端屬性和檢視新增至裝置範本。
- 裝置連線至 IoT Central 時,讓 IoT Central 以裝置所傳送的資料來自動產生裝置範本定義。
- 使用數位對應項定義語言 (DTDL) v2 和 IoT Central DTDL 延伸模組,來撰寫裝置模型。 將裝置模型手動匯入 IoT Central 應用程式。 接著新增 IoT Central 應用程式所需的雲端屬性和檢視。
- 您也可以使用如何使用 IoT Central REST API 來管理裝置範本,將裝置範本新增至 IoT Central 應用程式。
注意
在每個案例中,裝置程式碼都必須實作模型中定義的功能。 裝置程式碼的實作不受裝置範本的雲端屬性和檢視區段所影響。
匯入裝置範本
本節說明如何從精選裝置範本清單匯入裝置範本,以及如何使用 IoT Central UI 進行自訂。 此範例會從精選裝置範本清單中,使用 Onset Hobo MX-100 Temp Sensor 裝置範本:
- 若要新增裝置範本,請選取 [裝置範本] 頁面上的 [+ 新增]。
- 在 [選取類型] 分頁向下捲動,直到在 [精選裝置範本] 區段中找到 [Onset Hobo MX-100 溫度感應器] 圖格。
- 選取 [Onset Hobo MX-100 溫度感應器] 圖格,然後選取 [下一步:檢閱]。
- 在 [檢閱] 頁面上,選取 [建立]。 您建立的範本名為 Hobo MX-100。 此模型包含如 Hobo MX-100 和 IotDevice 等元件。 元件會定義 Hobo MX-100 裝置的功能。 功能可能包括遙測、屬性和命令。 此裝置只有遙測功能。
自動產生裝置範本
您也可以從目前未指派的裝置自動建立裝置範本。 IoT Central 會使用裝置傳送的遙測和屬性值來推斷裝置模型。
注意
目前,此預覽功能無法使用元件中的遙測和屬性。 其只能從根遙測和屬性產生功能。
下列步驟說明如何使用此功能:
將您的裝置連線到 IoT Central,並開始傳送資料。 當您在 [未經處理資料] 檢視中看到資料時,請在 [管理範本] 下拉式清單中選取 [自動建立範本]:
在 [資料預覽] 頁面上,對未經處理資料進行任何所需變更,然後選取 [建立範本]:
IoT Central 會根據 [資料預覽] 頁面上顯示的資料格式來產生範本,並於範本中指派裝置。 您可以在 [裝置範本] 頁面上對裝置範本進行進一步的變更,例如重新命名裝置範本或新增功能:
在 UI 中管理裝置範本
您可以從範本的編輯器頁面建立、編輯、重新命名或刪除範本。
您可以在定義範本後發佈範本。 在發佈範本之前,您無法將裝置連線到該範本,而該範本也不會出現在 [裝置] 頁面上。
若要深入了解如何修改裝置範本以及如何為裝置範本設定版本,請參閱編輯現有的裝置範本。
模型
模型會定義裝置如何與您的 IoT Central 應用程式互動。 使用更多功能來自訂模型、新增介面以繼承功能,或新增以其他介面為基礎的新元件。
若要建立裝置模型,您可以:
- 使用 IoT Central 從頭開始建立自訂模型。
- 從 JSON 檔案匯入 DTDL 模型。 裝置建置者可能使用 Visual Studio Code,來撰寫適用於應用程式的裝置模型。
- 從精選裝置範本清單中選取其中一個裝置。 此選項會匯入製造商為此裝置發佈的裝置模型。 以這種方式匯入的裝置模型會自動發佈。
若要檢視模型識別碼,請選取模型中的根介面,然後選取 [編輯身分識別]:
若要檢視元件識別碼,請選取模型中任何元件介面上的 [編輯身分識別]。
若要深入了解,請參閱 IoT 隨插即用模型化指南。
介面與元件
若要檢視及管理裝置模型中的介面:
前往 [裝置範本] 頁面,然後選取您所建立的裝置範本。 介面會列在裝置範本的 [模型] 區段中。 下列螢幕擷取畫面顯示裝置範本中 [感應器控制器] 根介面的範例:
選取省略號,將繼承的介面或元件新增至根介面。 若要深入了解介面和元件,請參閱模型化指南中的多個元件。
若要匯出模型或介面,請選取 [匯出]。
若要檢視或編輯介面或功能的 DTDL,請選取 [編輯 DTDL]。
功能
選取 [+ 新增功能] 以將功能新增至介面或元件。 例如,您可以將「目標溫度」功能新增至 SensorTemp 元件。
遙測
遙測是裝置所傳送過來的數值串流,來源一般是感應器。 例如,感應器可能會回報周圍溫度,如下列螢幕擷取畫面所示:
下表顯示遙測功能的組態設定:
欄位 | 描述 |
---|---|
顯示名稱 | 檢視和表單上所用遙測值的顯示名稱。 |
名稱 | 遙測訊息中的欄位名稱。 IoT Central 會從顯示名稱產生此欄位的值,但如有必要,您也可以選擇自己所要使用的值。 此欄位必須是英數字元。 |
功能類型 | 遙測。 |
語意類型 | 遙測的語意類型,例如溫度、狀態或事件。 所選擇的語意類型會決定下列哪些欄位可供使用。 |
結構描述 | 遙測的資料類型,例如雙精度浮點數、字串或向量。 語意類型會決定可用的選擇。 結構描述不適用於事件和狀態這兩種語意類型。 |
嚴重性 | 僅適用於事件語意類型。 嚴重性為 [錯誤]、[資訊] 或 [警告]。 |
狀態值 | 僅適用於狀態語意類型。 會定義可能的狀態值,每個狀態值都會有顯示名稱、名稱、列舉類型和值。 |
Unit | 遙測值的單位,例如 mph、% 或 °C。 |
顯示單位 | 要在檢視和表單上使用的顯示單位。 |
註解 | 遙測功能的任何相關註解。 |
描述 | 遙測功能的說明。 |
屬性
屬性代表時間點值。 您可以從 IoT Central 設定可寫入的屬性。 例如,裝置可以使用可寫入的屬性,讓操作員設定目標溫度,如下列螢幕擷取畫面所示:
下表顯示屬性功能的組態設定:
欄位 | 描述 |
---|---|
顯示名稱 | 儀表板和表單上所用屬性值的顯示名稱。 |
名稱 | 屬性的名稱。 IoT Central 會從顯示名稱產生此欄位的值,但如有必要,您也可以選擇自己所要使用的值。 此欄位必須是英數字元。 |
功能類型 | 屬性。 |
語意類型 | 屬性的語意類型,例如溫度、狀態或事件。 所選擇的語意類型會決定下列哪些欄位可供使用。 |
結構描述 | 屬性的資料類型,例如雙精度浮點數、字串或向量。 語意類型會決定可用的選擇。 結構描述不適用於事件和狀態這兩種語意類型。 |
可寫入 | 如果屬性無法寫入,裝置可以向 IoT Central 報告屬性值。 如果屬性可寫入,則裝置可以向 IoT Central 報告屬性值,IoT Central 也可以向裝置傳送屬性更新。 |
嚴重性 | 僅適用於事件語意類型。 嚴重性為 [錯誤]、[資訊] 或 [警告]。 |
狀態值 | 僅適用於狀態語意類型。 會定義可能的狀態值,每個狀態值都會有顯示名稱、名稱、列舉類型和值。 |
Unit | 屬性值的單位,例如 mph、% 或 °C。 |
顯示單位 | 要在檢視和表單上使用的顯示單位。 |
註解 | 屬性功能的任何相關註解。 |
描述 | 屬性功能的說明。 |
Color | DTDL 的 IoT Central 延伸模組。 |
最小值 | 設定最小值 - DTDL 的 IoT Central 延伸模組。 |
最大值 | 設定最大值 - DTDL 的 IoT Central 延伸模組。 |
小數位數 | DTDL 的 IoT Central 延伸模組。 |
命令
您可以從 IoT Central 呼叫裝置命令。 命令會選擇性地將參數傳遞給裝置,並接收裝置傳來的回應。 例如,您可以呼叫命令以在 10 秒內將裝置重新開機,如下列螢幕擷取畫面所示:
下表顯示命令功能的組態設定:
欄位 | 描述 |
---|---|
顯示名稱 | 檢視和表單上所用命令的顯示名稱。 |
名稱 | 命令的名稱。 IoT Central 會從顯示名稱產生此欄位的值,但如有必要,您也可以選擇自己所要使用的值。 此欄位必須是英數字元。 |
功能類型 | 命令。 |
離線時排入佇列 | 如果啟用,即使裝置離線,您仍然可以呼叫命令。 若未啟用,您只能在裝置上線時呼叫命令。 |
註解 | 有關命令功能的任何註解。 |
描述 | 命令功能的說明。 |
Request | 若啟用,則為要求參數的定義,包括:名稱、顯示名稱、結構描述、單位和顯示單位。 |
回應 | 若啟用,則為命令回應的定義,包括:名稱、顯示名稱、結構描述、單位和顯示單位。 |
初始值 | 預設參數值。 此參數是 DTDL 的 IoT Central 延伸模組。 |
若要深入了解裝置實作命令的方式,請參閱遙測、屬性和命令承載 > 命令和長時間執行的命令。
離線命令
您可以為裝置範本中的命令啟用 [離線時排入佇列] 選項,以在裝置目前處於離線狀態時選擇佇列命令。
此選項會使用 IoT 中樞雲端到裝置的訊息,將通知傳送至裝置。 若要深入了解,請參閱 IoT 中樞文章傳送雲端到裝置的訊息。
雲端到裝置的訊息:
- 是從解決方案到裝置的單向通知。
- 可保證會傳遞訊息至少一次。 IoT 中樞會在每一裝置佇列中保存雲端到裝置的訊息,以保證能在連線能力與裝置失敗時復原。
- 會要求裝置實作訊息處理常式,以處理雲端到裝置的訊息。
注意
如果您將模型匯出為 DTDL,則離線命令會標示為 durable
。
雲端屬性
使用雲端屬性,可將裝置的相關資訊儲存在 IoT Central 中。 雲端屬性一律不會傳送至裝置。 例如,您可以使用雲端屬性來儲存安裝了裝置的客戶名稱,或儲存裝置的上次維修日期。
提示
您只能將雲端屬性新增至模型中的根元件。
下表顯示雲端屬性的組態設定:
欄位 | 描述 |
---|---|
顯示名稱 | 檢視和表單上所用雲端屬性值的顯示名稱。 |
名稱 | 雲端屬性的名稱。 IoT Central 會從顯示名稱產生此欄位的值,但如有必要,您也可以選擇自己所要使用的值。 |
語意類型 | 屬性的語意類型,例如溫度、狀態或事件。 所選擇的語意類型會決定下列哪些欄位可供使用。 |
結構描述 | 雲端屬性的資料類型,例如雙精度浮點數、字串或向量。 語意類型會決定可用的選擇。 |
檢視
[檢視] 可讓您定義檢視和表單,以讓操作員監視裝置並與其互動。 [檢視] 會使用圖表這類視覺效果來顯示遙測和屬性值。
產生預設檢視是視覺化您重要裝置資訊的快速方法。 這三個預設檢視如下:
預設檢視
- 命令:具有裝置命令的檢視,並可讓操作員將其分派至裝置。
- 概觀:具有裝置遙測的檢視,並顯示圖表和計量。
- 關於:具有裝置資訊的檢視,並顯示裝置屬性。
在您選取 [產生預設檢視] 之後,系統會自動將其新增至裝置範本的 [檢視] 區段下方。
自訂檢視
將檢視新增至裝置範本,可讓操作員使用圖表和計量將裝置視覺化。 您可以將自己的自訂檢視新增至裝置範本。
若要將檢視新增至裝置範本:
- 移至裝置範本,然後選取 [檢視]。
- 選取 [將裝置視覺化]。
- 在 [檢視名稱] 中,輸入檢視的名稱。
- 在新增圖格下選取 [使用視覺效果啟動],然後選擇圖格的視覺效果類型。 然後選取 [新增圖格],或將視覺效果拖放至畫布。 若要設定圖格,請選取齒輪圖示。
若要測試您的檢視,請選取 [設定預覽裝置]。 此功能可讓您看到檢視,就像操作員在發佈之後所見相同。 使用此功能來驗證檢視所顯示的資料是否正確。 從下列選項中選擇:
- 沒有預覽裝置。
- 您為裝置範本設定的實際測試裝置。
- 您應用程式中現存的裝置,依裝置識別碼。
表單
透過檢視和設定屬性,新增表單至裝置模板已啟用操作員來管理裝置。 操作員只能編輯雲端屬性和可寫入的裝置屬性。 針對裝置模板,您可以擁有多重表單。
選取 [檢視] 節點,然後選取 [編輯裝置和雲端資料] 圖格,以新增新視圖。
將表單名稱變更為 [管理裝置]。
選取要新增至表單的屬性和雲端屬性。 然後選取 [新增區段]。
選取 [儲存] 以儲存您的新表單。
發佈裝置範本
您必須先發佈裝置範本,才能連接實作裝置模型的裝置。
若要發佈裝置範本,請移至裝置範本,然後選取 [發佈]。
發佈裝置範本後,操作員可以轉到 [裝置] 頁面,新增使用您的裝置範本的真實或模擬裝置。 您可以在進行變更時繼續修改並儲存裝置範本。 當您想要將這些變更推送給操作員以在 [裝置] 頁面下檢視時,每次都必須選擇 [發佈]。