

AWS IoT FleetWise 自 2026 年 4 月 30 日起將不再向新客戶開放。現有的 AWS IoT FleetWise 客戶可以繼續使用 服務。[上的連線行動性指南 AWS](https://aws.amazon.com/solutions/guidance/connected-mobility-on-aws/)提供如何為連線行動解決方案開發和部署模組化服務的指引，這些解決方案可用於實現與 AWS IoT FleetWise 同等的功能。

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

# 命令概念
<a name="remote-command-concepts-states"></a>

**重要**  
對特定 AWS IoT FleetWise 功能的存取目前受到鎖定。如需詳細資訊，請參閱[AWS AWS IoT FleetWise 中的區域和功能可用性](fleetwise-regions.md)。

命令是從雲端傳送至目標裝置的指示。目標裝置可以是 車輛，且必須在*AWS IoT 物件*登錄檔中註冊為物件。命令可以包含參數，以定義車輛傳動器需要執行的動作。車輛接著會剖析命令及其參數，並處理它們以採取對應的動作。然後，它會以命令執行的狀態回應雲端應用程式。

如需詳細的工作流程，請參閱 [車輛和命令](remote-command-vehicles.md)。

**Topics**
+ [命令關鍵概念](#remote-command-concepts)
+ [命令執行狀態](#remote-command-execution-status-codes)

## 命令關鍵概念
<a name="remote-command-concepts"></a>

以下顯示一些使用 命令功能的重要概念，以及其如何使用上次已知狀態 (LKS) 狀態範本。

**命令**  
命令是一種實體，可用來將指示傳送至實體車輛，讓它執行動作，例如開啟引擎或變更視窗的位置。您可以針對特定使用案例預先定義一組命令，或使用它們來為經常性使用案例建立可重複使用的組態。例如，您可以設定 命令，供 應用程式用來鎖定車輛的門或遠端變更溫度。

**命名空間**  
使用命令功能時，您必須指定命令的命名空間。當您在 AWS IoT FleetWise 中建立命令時，您必須選擇 `AWS-IoT-FleetWise`做為命名空間。當您使用此命名空間時，必須提供將用於在車輛上執行 命令的參數。如果您想要 AWS IoT Device Management 改為在 中建立命令，則必須改用 `AWS-IoT` 命名空間。如需詳細資訊，請參閱 *AWS IoT Device Management 開發人員指南*中的 [命令](https://docs.aws.amazon.com/iot/latest/developerguide/iot-remote-command.html)。

**命令狀態**  
您建立的命令將處於可用狀態，這表示它可用於在車輛上啟動命令執行。如果命令過期，您可以棄用命令。對於處於已棄用狀態的命令，現有的命令執行將執行到完成。您無法更新命令或執行任何新的執行。若要傳送新的執行，您必須還原命令，使其變成可用。  
如果不再需要命令，您也可以將其刪除。當您將命令標記為刪除時，如果命令已棄用超過最大逾時 24 小時的持續時間，則會立即刪除命令。如果命令未棄用，或已棄用超過最大逾時的持續時間，則命令將處於待定刪除狀態。命令會在 24 小時後自動從您的帳戶中移除。

**參數**  
建立命令時，您可以選擇指定您希望目標車輛在執行命令時執行的參數。您建立的 命令是可重複使用的組態，可用來將多個命令執行傳送至您的 車輛，並同時執行它們。或者，您也可以只在執行時間指定參數，並選擇執行建立命令並將其傳送至車輛的一次性操作。

**目標車輛**  
當您想要執行命令時，您必須指定將接收命令並執行特定動作的目標車輛。目標車輛必須已向 註冊為*物件* AWS IoT。將命令傳送至車輛後，它會開始根據您指定的參數和值執行命令的執行個體。

**傳動器**  
當您想要執行 命令時，您必須在車輛上指定將接收命令的傳動器及其值，以決定要執行的動作。您可以選擇性地設定傳動器的預設值，以避免傳送不正確的命令。例如，您可以將預設值 `LockDoor`用於門鎖致動器，讓命令不會意外解除鎖定門。如需傳動器的一般資訊，請參閱 [重要概念](how-iotfleetwise-works.md#key-concepts)。

**資料類型支援**  
用於命令功能的傳動器支援以下資料類型。  
遠端資訊處理資料、命令或最後已知狀態 (LKS) 不支援陣列。您只能將陣列資料類型用於視覺系統資料。
+ 浮點數類型。支援下列類型。
  + 浮點數 (32 位元）
  + 雙 (64 位元）
+ 整數 （已簽章和未簽章）。支援下列整數類型。
  + int8 和 uint8
  + int16 和 uint16
  + int32 和 uint32
+ 長。支援下列長型。
  + 長 (int64)
  + 未簽署的長 (uint64)
+ String
+ Boolean

**命令執行**  
命令執行是在目標裝置上執行之命令的執行個體。車輛會使用您在建立命令或啟動命令執行時指定的參數來執行命令。車輛接著會執行指定的操作，並傳回執行的狀態。  
對於指定的車輛，您可以同時執行多個命令。如需您可以為每個車輛執行的並行執行數目上限的相關資訊，請參閱[AWS IoT Device Management 命令配額](https://docs.aws.amazon.com/general/latest/gr/iot_device_management.html#commands-limits)。

**上次已知狀態 (LKS) 狀態範本**  
狀態範本為車主提供追蹤其車輛狀態的機制。若要近乎即時地監控您車輛的上次已知狀態 (LKS)，您可以建立狀態範本並將其與您的車輛建立關聯。  
使用 命令功能，您可以執行可用於狀態資料收集和處理的「隨需」操作。例如，您可以請求目前車輛狀態一次性 （擷取），或啟用或停用先前部署的 LKS 狀態範本，以開始或停止報告車輛資料。如需示範如何使用 命令搭配狀態範本的範例，請參閱 [命令使用案例](remote-command-use-cases.md)。

## 命令執行狀態
<a name="remote-command-execution-status-codes"></a>

啟動命令執行後，您的車輛可以發佈執行狀態，並提供狀態原因做為執行的其他資訊。下列各節說明各種命令執行狀態，以及狀態碼。

**Topics**
+ [命令執行狀態原因代碼和描述](#remote-command-execution-status-reason-codes)
+ [命令執行狀態和狀態碼](#remote-command-execution-status-codes)
+ [命令執行逾時狀態](#remote-command-execution-status-timeout)

### 命令執行狀態原因代碼和描述
<a name="remote-command-execution-status-reason-codes"></a>

若要報告命令執行狀態的更新，您的車輛可以使用 `UpdateCommandExecution` API，使用*AWS IoT Core 開發人員指南*中所述[的命令保留主題](https://docs.aws.amazon.com/iot/latest/developerguide/reserved-topics.html#reserved-topics-commands)，將更新的狀態資訊發佈至雲端。報告狀態資訊時，您的裝置可以使用 `StatusReason` 物件提供每個命令執行狀態的其他內容，以及包含在 物件中的欄位 `reasonCode` 和 `reasonDescription` 。

### 命令執行狀態和狀態碼
<a name="remote-command-execution-status-codes"></a>

下表顯示各種命令執行狀態碼，以及命令執行可以轉換到的允許狀態。它也會顯示命令執行是否為「終端」（即不會進一步進行狀態更新）、變更是由車輛或雲端啟動，以及不同的預先定義狀態碼，以及它們如何對應到雲端報告的狀態。
+ 如需有關 AWS IoT FleetWise 如何使用預先定義狀態碼和 `statusReason` 物件的資訊，請參閱 *Edge Agent for AWS IoT FleetWise 軟體文件中*的[命令狀態](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/include/aws/iotfleetwise/ICommandDispatcher.h)。
+ 如需有關終端機和非終端機執行以及狀態之間轉換的其他資訊，請參閱*AWS IoT Core 開發人員指南*中的[命令執行狀態](https://docs.aws.amazon.com/iot/latest/developerguide/iot-remote-command-concepts.html#iot-command-execution-status)。


**命令執行狀態和來源**  

| 命令執行狀態 | Description | 由裝置/雲端啟動？ | 終端機執行？ | 允許的狀態轉換 | 預先定義的狀態碼 | 
| --- | --- | --- | --- | --- | --- | 
| CREATED | 當開始執行命令的 API 請求 (StartCommandExecution API) 成功時，命令執行狀態會變更為 CREATED。 | 雲端 | 否 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/iot-fleetwise/latest/developerguide/remote-command-concepts-states.html)  | 無 | 
| IN\$1PROGRESS | 當車輛開始執行命令時，可以發佈訊息至回應主題，將狀態更新為 IN\$1PROGRESS。 | 裝置 | 否 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/iot-fleetwise/latest/developerguide/remote-command-concepts-states.html)  | COMMAND\$1STATUS\$1COMMAND\$1IN\$1PROGRESS | 
| SUCCEEDED | 當車輛成功處理命令並完成執行時，可以將訊息發佈至回應主題，以將狀態更新為 SUCCEEDED。 | 裝置 | 是 | 不適用 | COMMAND\$1STATUS\$1SUCCEEDED | 
| FAILED | 當車輛無法執行命令時，可以將訊息發佈至回應主題，以將狀態更新為 FAILED。 | 裝置 | 是 | 不適用 | COMMAND\$1STATUS\$1EXECUTION\$1FAILED | 
| REJECTED | 如果車輛無法接受命令，可以將訊息發佈至回應主題，將狀態更新為 REJECTED。 | 裝置 | 是 | 不適用 | 無 | 
| TIMED\$1OUT |  由於下列任何原因`TIMED_OUT`，命令執行狀態可能會變更為 。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/iot-fleetwise/latest/developerguide/remote-command-concepts-states.html) 如需此狀態的詳細資訊，請參閱 [命令執行逾時狀態](#remote-command-execution-status-timeout)。  | 裝置和雲端 | 否 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/iot-fleetwise/latest/developerguide/remote-command-concepts-states.html)  | COMMAND\$1STATUS\$1EXECUTION\$1TIMEOUT | 

### 命令執行逾時狀態
<a name="remote-command-execution-status-timeout"></a>

雲端和裝置都可以報告命令執行逾時。命令傳送至裝置後，計時器便會啟動。如果在指定的持續時間內沒有收到來自裝置的回應，則雲端會報告`TIMED_OUT`狀態。在此情況下，`TIMED_OUT`狀態為 的命令執行為非終端。

裝置可以將此狀態覆寫為終端狀態，例如 `SUCCEEDED`、 `FAILED`或 `REJECTED`。它也可以報告執行 命令時發生逾時。在此情況下，命令執行狀態會保持在 ，`TIMED_OUT`但`StatusReason`物件的欄位會根據裝置報告的資訊更新。狀態中的命令執行`TIMED_OUT`現在會變成終端機。

如需詳細資訊，請參閱*AWS IoT Core 《 開發人員指南*》中的[命令執行逾時考量](https://docs.aws.amazon.com/iot/latest/developerguide/iot-remote-command-execution-start-monitor.html#iot-command-execution-timeout)事項。