기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
예: 명령을 사용하여 차량 조향 모드 제어(AWS CLI)
중요
특정 AWS IoT FleetWise 기능에 대한 액세스는 현재 게이트됩니다. 자세한 내용은 AWSAWS IoT FleetWise의 리전 및 기능 가용성 단원을 참조하십시오.
다음 예제에서는를 사용하여 명령 기능을 사용하는 방법을 보여줍니다 AWS CLI. 이 예제에서는 AWS IoT FleetWise 차량을 대상 디바이스로 사용하여 조향 모드를 원격으로 제어하는 명령을 보내는 방법을 보여줍니다.
차량 조향 모드 개요 예제
이 예제에서는 다음을 수행합니다.
-
를 사용하여 작업에 대한 명령 리소스를 생성
create-commandAWS CLI 하여 차량의 조향 모드를 변경합니다. -
를 사용하여 명령이 생성되거나 마지막으로 업데이트된 시간과 같은 명령에 대한 정보를 검색합니다
get-commandAWS CLI. -
조향 모드가 필수 파라미터
start-command-executionAWS CLI 인를 사용하여 차량으로 명령을 전송하면 디바이스에서 실행됩니다. -
를 사용하여 명령 실행 결과를 가져옵니다
get-command-executionAWS CLI. 실행이 완료되는 시기를 확인하고 실행 결과 및 명령 실행을 완료하는 데 걸린 시간과 같은 추가 세부 정보를 검색할 수 있습니다. -
더 이상 사용하지 않으려는 명령과 명령 실행을 제거하여 정리 활동을 수행합니다.
사전 조건
이 예제를 실행하기 전에:
-
AWS IoT FleetWise 차량을 AWS IoT 레지스트리에 AWS IoT 사물로 프로비저닝합니다. 또한 사물에 인증서를 추가하고 활성화한 다음 사물에 정책을 연결해야 합니다. 그러면 디바이스가 클라우드에 연결하고 명령을 실행할 수 있습니다. 자세한 내용은 차량 프로비저닝을 참조하세요.
-
에 표시된 대로 명령을 사용하기 위한 API 작업을 수행할 수 있는 권한을 부여하는 IAM 사용자 및 IAM 정책을 생성합니다원격 명령을 사용하기 위한 IAM 정책.
원격 명령을 사용하기 위한 IAM 정책
다음 표에는 명령 기능에 대한 모든 컨트롤 플레인 및 데이터 플레인 API 작업에 대한 액세스 권한을 부여하는 샘플 IAM 정책이 나와 있습니다. 애플리케이션 사용자는 표에 표시된 대로 모든 원격 명령 API 작업을 수행할 수 있는 권한이 있습니다.
| API 작업 | 컨트롤/데이터 영역 | 프로토콜 | Description | Resource |
|---|---|---|---|---|
CreateCommand |
컨트롤 플레인 | HTTP | 명령 리소스를 생성합니다. |
|
GetCommand |
컨트롤 플레인 | HTTP | 명령에 대한 정보를 검색합니다. |
|
UpdateCommand |
컨트롤 플레인 | HTTP | 명령 또는에 대한 정보를 업데이트하여 사용 중단합니다. |
|
ListCommands |
컨트롤 플레인 | HTTP | 계정의 명령을 나열합니다. |
|
DeleteCommand |
컨트롤 플레인 | HTTP | 명령을 삭제합니다. |
|
StartCommandExecution |
데이터 영역 | HTTP | 명령 실행을 시작합니다. |
|
UpdateCommandExecution |
데이터 영역 | MQTT | 명령 실행 업데이트 |
|
GetCommandExecution |
컨트롤 플레인 | HTTP | 명령 실행에 대한 정보를 검색합니다. |
|
ListCommandExecutions |
컨트롤 플레인 | HTTP | 계정의 명령 실행을 나열합니다. |
|
DeleteCommandExecution |
컨트롤 플레인 | HTTP | 명령 실행을 삭제합니다. |
|
대체 예시:
-
와 AWS 리전같은를 사용합니다us-east-1ap-south-1. -
와 같은 사용자 AWS 계정 번호로11112222333357EXAMPLE833. -
또는와 같은 고유한 명령 식별자가command-id있는command-id2,command-id1LockDoor및TurnOffAC. -
와 같은 AWS IoT 사물 이름을 사용합니다thing-namemy_car.
AWS IoT 명령 실행(AWS CLI)
다음은 AWS CLI 를 사용하여 명령 작업을 수행하고 차량 조향 모드를 변경하는 방법을 보여줍니다.
-
조향 모드 작업을 위한 명령 리소스 생성
create-commandCLI를 사용하여 디바이스로 전송할 명령을 생성합니다. 이 예제에서는 다음을 지정합니다.-
command-id문자:TurnOffSteeringMode -
role-arn"arn:aws:iam:는 차량에서 명령을 생성하고 실행할 수 있는 권한을 부여하는 IAM 역할이므로를 제공해야accountId:role/FwCommandExecutionRole"role-arn합니다. 자세한 내용은 를 사용하여 명령에 대한 페이로드를 생성할 수 있는 AWS IoT Device Management 권한 부여 AWS IoT FleetWise 단원을 참조하십시오. -
display-name""로 표시Turn off steering mode -
namespace여야 합니다.AWS-IoT-FleetWise -
mandatory-parameters이름-값 페어로, "$actuatorPath.Vehicle.Chassis.SteeringWheel.TurnOffSteeringMode"name로, defaultValue를 로 사용{ "S": "true" }참고
필수 파라미터를 지정하지 않고도 명령을 생성할 수도 있습니다. 그런 다음
start-command-executionCLI를 사용하여 명령을 실행할 때 사용할 파라미터를 지정해야 합니다. 예제는 명령 사용 시나리오 섹션을 참조하세요.
중요
AWS-IoT-FleetWise네임스페이스를 사용할 때는의 일부로 지정된Name필드가$actuatorPath.접두사를mandatory-parameters사용하고Value필드가 문자열 데이터 형식을 사용해야 합니다.aws iot create-command \ --command-idTurnOffSteeringMode\ --role-arn "arn:aws:iam:accountId:role/FwCommandExecutionRole" \ --display-name "Turn off steering mode" \ --namespace AWS-IoT-FleetWise \ --mandatory-parameters '[ { "name": "$actuatorPath.Vehicle.Chassis.SteeringWheel.TurnOffSteeringMode", "defaultValue": {"S": "true"} } ]'다음 출력은 CLI의 샘플 응답을 보여줍니다. 여기서
ap-south-1및123456789012는 AWS 리전 및 AWS 계정 ID의 예입니다.{ "commandId": "TurnOffSteeringMode", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/TurnOffSteeringMode" }이 명령 사용에 대한 추가 예제는 섹션을 참조하세요명령 리소스 생성.
-
-
명령에 대한 정보 검색
다음 명령을 실행하여 명령에 대한 정보를 검색합니다. 여기서
command-id는 위에서create-command작업 출력의 명령 ID입니다.참고
둘 이상의 명령을 생성하는 경우
ListCommandsAPI를 사용하여 계정의 모든 명령을 나열한 다음GetCommandAPI를 사용하여 특정 명령에 대한 추가 정보를 얻을 수 있습니다. 자세한 내용은 계정의 명령 나열 단원을 참조하십시오.aws iot get-command --command-idTurnOffSteeringMode이 명령을 실행하면 다음 응답이 생성됩니다. 명령이 생성된 시간과 마지막으로 업데이트된 시간, 지정한 파라미터, 디바이스에서 명령을 실행할 수 있는지 여부가 표시됩니다.
{ "commandId": "TurnOffSteeringMode", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/TurnOffSteeringMode", "namespace": "AWS-IoT-FleetWise", "mandatoryParameters":[ { "name": "$actuatorPath.Vehicle.Chassis.SteeringWheel.TurnOffSteeringMode", "defaultValue": {"S": "true" } } ], "createdAt": "2024-03-23T00:50:10.095000-07:00", "lastUpdatedAt": "2024-03-23T00:50:10.095000-07:00", "deprecated": false }이 명령 사용에 대한 추가 예제는 섹션을 참조하세요명령에 대한 정보 검색.
-
명령 실행 시작
다음 명령을 실행하여 명령 실행을 시작합니다. 여기서
command-arn는 위에서get-command작업 출력의 명령 ARN입니다.target-arn는 명령을 실행하는 대상 디바이스의 ARN입니다. 예:.myVehicle이 예제에서는 명령을 생성할 때 파라미터의 기본값을 제공했으므로
start-command-executionCLI는 명령을 실행할 때 이러한 값을 사용할 수 있습니다. CLI를 사용할 때 파라미터에 대해 다른 값을 지정하여 기본값을 재정의하도록 선택할 수도 있습니다.aws iot-data start-command-execution \ --command-arn arn:aws:iot:ap-south-1:123456789012:command/TurnOffSteeringMode\ --target-arn arn:aws:iot:ap-south-1:123456789012:thing/myVehicle이 명령을 실행하면 명령 실행 ID가 반환됩니다. 이 ID를 사용하여 명령 실행 상태, 세부 정보 및 명령 실행 기록을 쿼리할 수 있습니다.
{ "executionId": "07e4b780-7eca-4ffd-b772-b76358da5542" }CLI 사용에 대한 추가 예제는 섹션을 참조하세요명령 전송(AWS CLI).
-
명령 실행에 대한 정보 검색
다음 명령을 실행하여 대상 디바이스에서 실행한 명령에 대한 정보를 검색합니다. 위에서
start-command-execution작업의 출력으로execution-id얻은와 대상으로 하는 디바이스의target-arnARN인를 지정합니다.참고
-
최신 상태 정보를 얻으려면 디바이스가 MQTT API를 사용하는 명령에 대한
UpdateCommandExecutionMQTT 예약 응답 주제에 업데이트된 상태 정보를 게시했어야 합니다. 자세한 내용은 명령 실행 결과 업데이트 단원을 참조하십시오. -
둘 이상의 명령 실행을 시작하는 경우
ListCommandExecutionsAPI를 사용하여 계정의 모든 명령 실행을 나열한 다음GetCommandExecutionAPI를 사용하여 특정 실행에 대한 추가 정보를 얻을 수 있습니다. 자세한 내용은 계정의 명령 실행 나열 단원을 참조하십시오.
aws iot get-command-execution \ --execution-id<"07e4b780-7eca-4ffd-b772-b76358da5542">\ --target-arn arn:aws:iot:us-east-1:<account>:thing/myVehicle이 명령을 실행하면 명령 실행, 실행 상태, 실행이 시작된 시간 및 완료된 시간에 대한 정보가 반환됩니다. 예를 들어 다음 응답은 대상 디바이스에서 명령 실행이 성공했고 조향 모드가 꺼졌음을 보여줍니다.
{ "executionId": "07e4b780-7eca-4ffd-b772-b76358da5542", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/TurnOffSteeringMode", "targetArn": "arn:aws:iot:ap-south-1:123456789012:thing/myVehicle", "result": "SUCCEEDED", "statusReason": { "reasonCode": "65536", "reasonDescription": "SUCCESS" }, "result": { "KeyName": { "S": "", "B": true, "BIN": null } }, "createdAt": "2024-03-23T00:50:10.095000-07:00", "completedAt": "2024-03-23T00:50:10.095000-07:00", "parameters": '{ "$actuatorPath.Vehicle.Chassis.SteeringWheel.TurnOffSteeringMode": { "S": "true" } }' } -
정리
이제 명령을 생성하여 디바이스에서 실행했으므로이 명령을 더 이상 사용하지 않으려는 경우 삭제할 수 있습니다. 진행 중인 보류 중인 명령 실행은 삭제 요청의 영향을 받지 않고 계속 실행됩니다.
참고
또는 오래된 경우 명령을 사용 중지할 수 있으며 나중에 대상 디바이스에서 실행하기 위해 명령을 사용해야 할 수도 있습니다.
-
(선택 사항) 명령 리소스 사용 중단
다음 명령을 실행하여 명령을 사용 중지합니다. 여기서
command-id는 위에서get-command작업 출력의 명령 ID입니다.aws iot update-command \ --command-idTurnOffSteeringMode\ --deprecated이 명령을 실행하면 명령이 더 이상 사용되지 않음을 보여주는 출력이 반환됩니다. CLI를 사용하여 명령을 복원할 수도 있습니다.
참고
update-commandCLI를 사용하여 명령의 표시 이름과 설명을 업데이트할 수도 있습니다. 자세한 내용은 명령 리소스 업데이트 또는 사용 중단 섹션을 참조하세요.{ "commandId": "TurnOffSteeringMode", "deprecated": true, "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00" } -
명령 삭제
다음 명령을 실행하여에 지정된 명령을 삭제합니다
command-id.참고
삭제 작업은 영구적이며 실행 취소할 수 없습니다.
aws iot delete-command --command-idTurnOffSteeringMode삭제 요청이 성공하면 사용 중단 명령을 표시했는지 여부와 사용 중단 시기에 따라 HTTP가
statusCode202 또는 204로 표시됩니다. 자세한 내용과 예제는 명령 리소스 삭제 단원을 참조하세요.get-commandCLI를 사용하여 명령이 계정에서 제거되었는지 확인할 수 있습니다. -
(선택 사항) 명령 실행 삭제
기본적으로 모든 명령 실행은 생성한 날짜로부터 6개월 이내에 삭제됩니다.
GetCommandExecutionAPI의timeToLive파라미터를 사용하여이 정보를 볼 수 있습니다.또는 실행 상태가 ,
FAILED또는 중 하나인 경우와 같이 명령 실행이 터미널이SUCCEEDED된REJECTED경우 명령 실행을 삭제할 수 있습니다. 다음 명령을 실행하여 실행을 삭제합니다. 여기서execution-id는 위에서get-command-execution작업 출력의 실행 ID입니다.aws iot delete-command-execution \ --execution-id"07e4b780-7eca-4ffd-b772-b76358da5542"get-command-executionCLI를 사용하여 명령 실행이 계정에서 제거되었는지 확인할 수 있습니다.