管理 IoT 裝置命令和事件 - 的受管整合 AWS IoT Device Management

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

管理 IoT 裝置命令和事件

除了執行重要的安全性、軟體和硬體更新之外,裝置命令還可讓您遠端管理實體裝置,確保完全控制裝置。使用大型裝置機群時,知道裝置何時執行命令可讓您監督整個裝置實作。裝置命令或自動更新會觸發裝置狀態變更,進而建立新的裝置事件。此裝置事件將觸發自動傳送至客戶受管目的地的通知。

裝置命令

命令請求是傳送至裝置的命令。命令請求包含承載,指定要採取的動作,例如開啟燈泡。若要傳送裝置命令,受管整合會代表最終使用者呼叫 SendManagedThingCommand API,並將命令請求傳送至裝置。

對 的回應SendManagedThingCommandtraceId,您可以盡可能使用此回應traceId來追蹤命令交付和任何相關的命令回應工作流程。

如需 SendManagedThingCommand API 操作的詳細資訊,請參閱 SendManagedThingCommand

UpdateState 動作

若要更新裝置的狀態,例如光線開啟的時間,請在呼叫 SendManagedThingCommand API 時使用 UpdateState動作。提供您在 中更新的資料模型屬性和新值parameters。以下範例說明將燈泡的 更新為 OnTimeSendManagedThingCommand API 請求5

{ "Endpoints": [ { "endpointId": "1", "capabilities": [ { "id": "matter.OnOff", "name": "On/Off", "version": "1", "actions": [ { "name": "UpdateState", "parameters": { "OnTime": 5 } } ] } ] } ] }

ReadState 動作

若要取得裝置的最新狀態,包括所有資料模型屬性的目前值,請在呼叫 SendManagedThingCommand API 時使用 ReadState動作。在 中propertiesToRead,您可以使用下列選項:

  • 提供特定資料模型屬性以取得 的最新值,例如OnOff判斷光線是開啟還是關閉。

  • 使用萬用字元運算子 (*) 讀取功能的所有裝置狀態屬性。

以下範例說明使用 ReadState動作之 SendManagedThingCommand API 請求的兩種案例:

{ "Endpoints": [ { "endpointId": "1", "capabilities": [ { "id": "aws.OnOff", "name": "On/Off", "version": "1", "actions": [ { "name": "ReadState", "parameters": { "propertiesToRead": [ "OnOff" ] } } ] } ] } ] }
{ "Endpoints": [ { "endpointId": "1", "capabilities": [ { "id": "aws.OnOff", "name": "On/Off", "version": "1", "actions": [ { "name": "ReadState", "parameters": { "propertiesToRead": [ "*" ] } } ] } ] } ]}

裝置事件

裝置事件包含裝置的目前狀態。這可能表示裝置已變更狀態,或正在報告其狀態,即使狀態未變更。它包含資料模型中定義的屬性報告和事件。事件可能是洗水機器週期已完成,或調溫器已達到最終使用者設定的目標溫度。

裝置事件通知

最終使用者可以訂閱他們建立的特定客戶受管目的地,以更新特定裝置事件。若要建立客戶受管目的地,請呼叫 CreateDestination API。當裝置向受管整合報告裝置事件時,如果有客戶受管目的地,則會通知該目的地。