기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
명령 개념
중요
특정AWS IoT FleetWise 기능에 대한 액세스는 현재 게이트됩니다. 자세한 내용은 AWSAWS IoT FleetWise의 리전 및 기능 가용성 단원을 참조하십시오.
명령은 클라우드에서 대상 디바이스로 전송되는 지침입니다. 대상 디바이스는 차량일 수 있으며 AWS IoT사물 레지스트리에 사물로 등록되어야 합니다. 명령에는 차량의 액추에이터가 수행해야 하는 작업을 정의하는 파라미터가 포함될 수 있습니다. 그런 다음 차량은 명령과 파라미터를 구문 분석하고 이를 처리하여 해당 작업을 수행합니다. 그런 다음 명령 실행 상태로 클라우드 애플리케이션에 응답합니다.
자세한 워크플로는 섹션을 참조하세요차량 및 명령.
명령 주요 개념
다음은 명령 기능을 사용하기 위한 몇 가지 주요 개념과 마지막으로 알려진 상태(LKS) 상태 템플릿에서 작동하는 방법을 보여줍니다.
- 명령
-
명령은 엔진을 켜거나 창 위치를 변경하는 등의 작업을 수행하도록 물리적 차량에 지침을 보내는 데 사용할 수 있는 개체입니다. 특정 사용 사례에 대한 명령 세트를 사전 정의하거나 이를 사용하여 반복 사용 사례에 대한 재사용 가능한 구성을 생성할 수 있습니다. 예를 들어 앱이 차량의 문을 잠그거나 원격으로 온도를 변경하는 데 사용할 수 있는 명령을 구성할 수 있습니다.
- 네임스페이스
-
명령 기능을 사용할 때는 명령의 네임스페이스를 지정해야 합니다.AWS IoT FleetWise에서 명령을 생성할 때 네임스페이스
AWS-IoT-FleetWise로를 선택해야 합니다. 이 네임스페이스를 사용하는 경우 차량에서 명령을 실행하는 데 사용할 파라미터를 제공해야 합니다.AWS IoT Device Management대신에서 명령을 생성하려면 대신AWS-IoT네임스페이스를 사용해야 합니다. 자세한 내용은 AWS IoT Device Management개발자 안내서의 명령을 참조하세요. - 명령 상태
-
생성하는 명령은 사용 가능한 상태가 되므로 차량에서 명령 실행을 시작하는 데 사용할 수 있습니다. 명령이 오래된 경우 명령을 사용 중지할 수 있습니다. 더 이상 사용되지 않는 상태의 명령의 경우 기존 명령 실행이 완료될 때까지 실행됩니다. 명령을 업데이트하거나 새 실행을 실행할 수 없습니다. 새로운 실행을 전송하려면 명령을 복원하여 사용할 수 있게 해야 합니다.
명령이 더 이상 필요하지 않은 경우에도 삭제할 수 있습니다. 삭제 명령을 표시할 때 명령이 최대 제한 시간인 24시간보다 긴 기간 동안 더 이상 사용되지 않으면 명령이 즉시 삭제됩니다. 명령이 사용되지 않는 상태거나 최대 제한 시간보다 짧은 기간 동안 사용되지 않았던 경우 해당 명령은 삭제 보류 중 상태가 됩니다. 명령은 24시간 후에 계정에서 자동으로 제거됩니다.
- 파라미터
-
명령을 생성할 때 선택적으로 명령을 실행할 때 대상 차량이 실행할 파라미터를 지정할 수 있습니다. 생성하는 명령은 재사용 가능한 구성이며 여러 명령 실행을 차량에 전송하고 동시에 실행하는 데 사용할 수 있습니다. 또는 런타임 시에만 파라미터를 지정하고 명령을 생성하여 차량으로 전송하는 일회성 작업을 수행하도록 선택할 수도 있습니다.
- 대상 차량
-
명령을 실행하려면 명령을 수신하고 특정 작업을 수행할 대상 차량을 지정해야 합니다. 대상 차량이 사물로 이미 등록되어 있어야 합니다AWS IoT. 차량으로 명령을 전송하면 지정한 파라미터와 값을 기반으로 명령의 인스턴스를 실행하기 시작합니다.
- 액추에이터
-
명령을 실행하려면 명령을 수신할 차량의 액추에이터와 수행할 작업을 결정하는 값을 지정해야 합니다. 부정확한 명령을 전송하지 않도록 액추에이터의 기본값을 선택적으로 구성할 수 있습니다. 예를 들어 명령이 실수로 문
LockDoor을 잠금 해제하지 않도록 문 잠금 액추에이터에 기본값인를 사용할 수 있습니다. 액추에이터에 대한 일반적인 정보는 단원을 참조하십시오주요 개념. - 데이터 형식 지원
-
명령 기능에 사용되는 액추에이터에는 다음 데이터 형식이 지원됩니다.
참고
어레이는 텔레매틱스 데이터, 명령 또는 마지막으로 알려진 상태(LKS)에는 지원되지 않습니다. 비전 시스템 데이터에는 배열 데이터 유형만 사용할 수 있습니다.
-
부동 소수점 유형입니다. 다음 유형이 지원됩니다.
-
부동 소수점(32비트)
-
이중(64비트)
-
-
정수(서명된 값과 서명되지 않은 값 모두). 다음 정수 유형이 지원됩니다.
-
int8 및 uint8
-
int16 및 uint16
-
int32 및 uint32
-
-
길다. 다음과 같은 긴 유형이 지원됩니다.
-
Long(int64)
-
부호 없는 길이(uint64)
-
-
문자열
-
부울
-
- 명령 실행
-
명령 실행은 대상 디바이스에서 실행되는 명령의 인스턴스입니다. 차량은 명령을 생성할 때 또는 명령 실행을 시작할 때 지정한 파라미터를 사용하여 명령을 실행합니다. 그러면 차량이 지정된 작업을 수행하고 실행 상태를 반환합니다.
참고
특정 차량의 경우 여러 명령을 동시에 실행할 수 있습니다. 각 차량에 대해 실행할 수 있는 최대 동시 실행 수에 대한 자세한 내용은 AWS IoT Device Management명령 할당량을 참조하세요.
- 마지막으로 알려진 상태(LKS) 상태 템플릿
-
상태 템플릿은 차량 소유자가 차량의 상태를 추적할 수 있는 메커니즘을 제공합니다. 차량의 마지막으로 알려진 상태(LKS)를 거의 실시간으로 모니터링하려면 상태 템플릿을 생성하여 차량과 연결할 수 있습니다.
명령 기능을 사용하여 상태 데이터 수집 및 처리에 사용할 수 있는 "온디맨드" 작업을 수행할 수 있습니다. 예를 들어 현재 차량 상태를 일회성으로 요청하거나(가져오기) 이전에 배포된 LKS 상태 템플릿을 활성화 또는 비활성화하여 차량 데이터 보고를 시작하거나 중지할 수 있습니다. 상태 템플릿과 함께 명령을 사용하는 방법을 보여주는 예제는 섹션을 참조하세요명령 사용 시나리오.
명령 실행 상태
명령 실행을 시작한 후 차량은 실행 상태를 게시하고 상태에 대한 이유를 실행에 대한 추가 정보로 제공할 수 있습니다. 다음 섹션에서는 다양한 명령 실행 상태와 상태 코드를 설명합니다.
명령 실행 상태 사유 코드 및 설명
명령 실행 상태에 대한 업데이트를 보고하기 위해 차량은 UpdateCommandExecution API를 사용하여 AWS IoT Core개발자 안내서에 설명된 명령 예약 주제를 사용하여 업데이트된 상태 정보를 클라우드에 게시할 수 있습니다. 상태 정보를 보고할 때 디바이스는 StatusReason 객체를 사용하여 각 명령 실행의 상태와 객체에 reasonDescription 포함된 필드 reasonCode 및에 대한 추가 컨텍스트를 제공할 수 있습니다.
명령 실행 상태 및 상태 코드
다음 표에는 다양한 명령 실행 상태 코드와 명령 실행이 전환할 수 있는 허용된 상태가 나와 있습니다. 또한 명령 실행이 "터미널"인지(즉, 향후 상태 업데이트가 없는지), 차량 또는 클라우드에서 변경이 시작되었는지 여부, 사전 정의된 다양한 상태 코드 및 클라우드에서 보고하는 상태에 매핑되는 방법을 보여줍니다.
| 명령 실행 상태 | 설명 | 디바이스/클라우드에 의한 시작 여부 | 터미널 실행 여부 | 허용된 상태 전환 | 사전 정의된 상태 코드 |
|---|---|---|---|---|---|
CREATED |
명령 실행을 시작하기 위한 API 요청(StartCommandExecution API)이 성공하면 명령 실행 상태가 로 변경됩니다CREATED. |
클라우드 | 아니요 |
|
없음 |
IN_PROGRESS |
차량이 명령을 실행하기 시작하면 응답 주제에 메시지를 게시하여 상태를 로 업데이트할 수 있습니다IN_PROGRESS. |
장치 | 아니요 |
|
COMMAND_STATUS_COMMAND_IN_PROGRESS |
SUCCEEDED |
차량이 명령을 성공적으로 처리하고 실행을 완료하면 응답 주제에 메시지를 게시하여 상태를 로 업데이트할 수 있습니다SUCCEEDED. |
장치 | 예 | 해당 사항 없음 | COMMAND_STATUS_SUCCEEDED |
FAILED |
차량이 명령을 실행하지 못한 경우 응답 주제에 메시지를 게시하여 상태를 로 업데이트할 수 있습니다FAILED. |
장치 | 예 | 해당 사항 없음 | COMMAND_STATUS_EXECUTION_FAILED |
REJECTED |
차량이 명령을 수락하지 못하면 응답 주제에 메시지를 게시하여 상태를 로 업데이트할 수 있습니다REJECTED. |
장치 | 예 | 해당 사항 없음 | 없음 |
TIMED_OUT |
명령 실행 상태는 다음과 같은 이유로
이 상태에 대한 자세한 내용은 섹션을 참조하세요명령 실행 제한 시간 상태. |
디바이스 및 클라우드 | 아니요 |
|
COMMAND_STATUS_EXECUTION_TIMEOUT |
명령 실행 제한 시간 상태
명령 실행 제한 시간은 클라우드와 디바이스 모두에서 보고할 수 있습니다. 명령이 디바이스로 전송되면 타이머가 시작됩니다. 지정된 기간 내에 디바이스에서 수신된 응답이 없는 경우 클라우드는 TIMED_OUT 상태를 보고합니다. 이 경우 TIMED_OUT 상태의 명령 실행은 비터미널입니다.
디바이스는이 상태를 , SUCCEEDED FAILED또는와 같은 터미널 상태로 재정의할 수 있습니다REJECTED. 또한 명령을 실행할 때 제한 시간이 발생했음을 보고할 수도 있습니다. 이 경우 명령 실행 상태는 로 유지TIMED_OUT되지만 객체의 필드는 디바이스에서 보고한 정보에 따라 StatusReason 업데이트됩니다. 이제 TIMED_OUT 상태의 명령 실행이 터미널이 됩니다.
자세한 내용은 AWS IoT Core개발자 안내서의 명령 실행 제한 시간 고려 사항을 참조하세요.