AWS IoT FleetWise Word 디코더 매니페스트 생성 - AWS IoT FleetWise

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS IoT FleetWise Word 디코더 매니페스트 생성

중요

특정 AWS IoT FleetWise Word 기능에 대한 액세스는 현재 동기가 지정되어 있습니다. 자세한 내용은 AWSAWS IoT FleetWiseWord의 리전 및 기능 가용성 단원을 참조하십시오.

AWS IoT FleetWise Word 콘솔 또는 API를 사용하여 차량 모델에 대한 디코더 매니페스트를 생성할 수 있습니다.

디코더 매니페스트 생성(콘솔)

AWS IoT FleetWise Word 콘솔을 사용하여 차량 모델과 연결된 디코더 매니페스트를 생성할 수 있습니다.

중요

AWS IoT FleetWise Word콘솔을 사용하여 디코더 매니페스트에서 비전 시스템 데이터 신호를 구성할 수 없습니다. 그 대신 AWS CLI을 사용합니다. 비전 시스템 데이터는 평가판 릴리스이며 변경될 수 있습니다.

디코더 매니페스트를 생성하려는 경우
  1. AWS IoT FleetWise Word 콘솔을 엽니다.

  2. 기본 탐색 창에서 차량 모델을 선택합니다.

  3. 대상 차량 모델을 선택합니다.

  4. 차량 모델 요약 페이지에서 디코더 매니페스트 생성을 선택하고 다음을 수행합니다.

1단계: 디코더 매니페스트 구성

일반 정보에서 다음을 수행합니다.

  1. 디코더 매니페스트에 고유한 이름을 입력합니다.

  2. (선택 사항) 설명을 입력합니다.

  3. Next(다음)를 선택합니다.

네트워크 인터페이스 추가

각 디코더 매니페스트에는 네트워크 인터페이스가 하나 이상 있어야 합니다. 여러 개의 네트워크 인터페이스를 디코더 매니페스트에 추가할 수 있습니다.

네트워크 인터페이스 생성
  1. 네트워크 인터페이스 파일을 업로드합니다. Word 프로토콜의 경우 .dbc 파일, CAN 2의 경우 ROS .json 파일 또는 사용자 지정 인터페이스를 업로드할 수 있습니다.

  2. 네트워크 인터페이스의 이름을 입력합니다. 사용자 지정 인터페이스를 업로드한 경우 이름이 이미 제공됩니다.

누락된 신호 매핑

차량 모델에 업로드된 네트워크 인터페이스에서 페어링된 신호 디코더가 누락된 신호가 있는 경우 누락된 신호를 매핑하는 기본 사용자 지정 디코더를 생성할 수 있습니다. 다음 단계에서 신호를 수동으로 매핑할 수 있으므로 이는 선택 사항입니다.

기본 사용자 지정 디코더를 생성하려면
  1. 누락된 신호에 대한 기본 사용자 지정 디코더 생성을 선택합니다.

  2. Next(다음)를 선택합니다.

2단계: CAN 인터페이스 매핑

CAN 신호 디코더를 사용하여 CAN 신호를 매핑할 수 있습니다. 누락된 신호에 대한 기본 사용자 지정 디코더 생성 확인란을 선택한 경우 디코더 신호가 누락된 모든 신호는 기본 사용자 지정 신호 디코더에 자동으로 매핑됩니다.

CAN 신호를 매핑하려면
  1. CAN 신호 매핑에서 신호 디코더를 선택합니다.

  2. Next(다음)를 선택합니다.

참고

ROS 2 또는 사용자 지정 인터페이스를 추가한 경우 디코더 매니페스트를 생성하기 전에 매핑을 확인할 수 있습니다.

3단계: 검토 및 생성

디코더 매니페스트의 구성을 확인한 다음 생성을 선택합니다.

디코더 매니페스트 만들기(AWS CLI)

CreateDecoderManifest API 작업을 사용하여 디코더 매니페스트를 생성할 수 있습니다. 다음 예제에서는 AWS CLI를 사용합니다.

중요

디코더 매니페스트를 생성하려면 우선 차량 모델을 보유해야 합니다. 모든 디코더 매니페스트는 차량 모델과 연결되어야 합니다. 자세한 내용은 AWS IoT FleetWise Word 차량 모델 생성 단원을 참조하십시오.

디코더 매니페스트를 만들려면 다음 명령을 실행합니다.

Replace decoder-manifest-configuration 구성이 포함된 .json 파일의 이름을 사용합니다.

aws iotfleetwise create-decoder-manifest --cli-input-json file://decoder-manifest-configuration.json
  • Replace decoder-manifest-name 생성 중인 디코더 매니페스트의 이름을 사용합니다.

  • Replace vehicle-model-ARN vehicle-model의 Amazon 리소스 이름(ARN)을 사용합니다.

  • (선택 사항) 바꾸기 description 디코더 매니페스트를 식별하는 데 도움이 되는 설명이 포함되어 있습니다.

분기, 속성, 센서 및 액추에이터를 구성하는 방법에 대한 자세한 내용은 AWS IoT FleetWise Word네트워크 인터페이스 및 디코더 신호 구성 섹션을 참조하세요.

{ "name": "decoder-manifest-name", "modelManifestArn": "vehicle-model-arn", "description": "description", "networkInterfaces": [ { "canInterface": { "name": "myNetworkInterface", "protocolName": "CAN", "protocolVersion": "2.0b" }, "interfaceId": "Qq1acaenByOB3sSM39SYm", "type": "CAN_INTERFACE" } ], "signalDecoders": [ { "canSignal": { "name": "Engine_Idle_Time", "factor": 1, "isBigEndian": true, "isSigned": false, "length": 24, "messageId": 271343712, "offset": 0, "startBit": 16 }, "fullyQualifiedName": "Vehicle.EngineIdleTime", "interfaceId": "Qq1acaenByOB3sSM39SYm", "type": "CAN_SIGNAL" }, { "canSignal": { "name": "Engine_Run_Time", "factor": 1, "isBigEndian": true, "isSigned": false, "length": 24, "messageId": 271343712, "offset": 0, "startBit": 40 }, "fullyQualifiedName": "Vehicle.EngineRunTime", "interfaceId": "Qq1acaenByOB3sSM39SYm", "type": "CAN_SIGNAL" } ] }
  • Replace decoder-manifest-name 생성 중인 디코더 매니페스트의 이름을 사용합니다.

  • Replace vehicle-model-ARN vehicle-model의 Amazon 리소스 이름(ARN)을 사용합니다.

  • (선택 사항) 바꾸기 description 디코더 매니페스트를 식별하는 데 도움이 되는 설명이 포함되어 있습니다.

구조(구조체) 내 속성 노드의 순서는 신호 카탈로그 및 차량 모델(모델 매니페스트)에 정의된 것과 동일하게 유지되어야 합니다. 분기, 속성, 센서 및 액추에이터를 구성하는 방법에 대한 자세한 내용은 AWS IoT FleetWise Word네트워크 인터페이스 및 디코더 신호 구성 섹션을 참조하세요.

{ "name": "decoder-manifest-name", "modelManifestArn": "vehicle-model-arn", "description": "description", "networkInterfaces": [{ "canInterface": { "name": "myNetworkInterface", "protocolName": "CAN", "protocolVersion": "2.0b" }, "interfaceId": "Qq1acaenByOB3sSM39SYm", "type": "CAN_INTERFACE" }, { "type": "VEHICLE_MIDDLEWARE", "interfaceId": "G1KzxkdnmV5Hn7wkV3ZL9", "vehicleMiddleware": { "name": "ROS2_test", "protocolName": "ROS_2" } }], "signalDecoders": [{ "canSignal": { "name": "Engine_Idle_Time", "factor": 1, "isBigEndian": true, "isSigned": false, "length": 24, "messageId": 271343712, "offset": 0, "startBit": 16 }, "fullyQualifiedName": "Vehicle.EngineIdleTime", "interfaceId": "Qq1acaenByOB3sSM39SYm", "type": "CAN_SIGNAL" }, { "canSignal": { "name": "Engine_Run_Time", "factor": 1, "isBigEndian": true, "isSigned": false, "length": 24, "messageId": 271343712, "offset": 0, "startBit": 40 }, "fullyQualifiedName": "Vehicle.EngineRunTime", "interfaceId": "Qq1acaenByOB3sSM39SYm", "type": "CAN_SIGNAL" }, { "fullyQualifiedName": "Vehicle.CompressedImageTopic", "type": "MESSAGE_SIGNAL", "interfaceId": "G1KzxkdnmV5Hn7wkV3ZL9", "messageSignal": { "topicName": "CompressedImageTopic:sensor_msgs/msg/CompressedImage", "structuredMessage": { "structuredMessageDefinition": [{ "fieldName": "header", "dataType": { "structuredMessageDefinition": [{ "fieldName": "stamp", "dataType": { "structuredMessageDefinition": [{ "fieldName": "sec", "dataType": { "primitiveMessageDefinition": { "ros2PrimitiveMessageDefinition": { "primitiveType": "INT32" } } } }, { "fieldName": "nanosec", "dataType": { "primitiveMessageDefinition": { "ros2PrimitiveMessageDefinition": { "primitiveType": "UINT32" } } } } ] } }, { "fieldName": "frame_id", "dataType": { "primitiveMessageDefinition": { "ros2PrimitiveMessageDefinition": { "primitiveType": "STRING" } } } } ] } }, { "fieldName": "format", "dataType": { "primitiveMessageDefinition": { "ros2PrimitiveMessageDefinition": { "primitiveType": "STRING" } } } }, { "fieldName": "data", "dataType": { "structuredMessageListDefinition": { "name": "listType", "memberType": { "primitiveMessageDefinition": { "ros2PrimitiveMessageDefinition": { "primitiveType": "UINT8" } } }, "capacity": 0, "listType": "DYNAMIC_UNBOUNDED_CAPACITY" } } } ] } } } ] }
  • Replace decoder-manifest-name 생성 중인 디코더 매니페스트의 이름을 사용합니다.

  • Replace vehicle-model-ARN vehicle-model의 Amazon 리소스 이름(ARN)을 사용합니다.

  • (선택 사항) 바꾸기 description 디코더 매니페스트를 식별하는 데 도움이 되는 설명이 포함되어 있습니다.

분기, 속성, 센서 및 액추에이터를 구성하는 방법에 대한 자세한 내용은 AWS IoT FleetWise Word네트워크 인터페이스 및 디코더 신호 구성 섹션을 참조하세요.

{ "name": "decoder-manifest-name", "modelManifestArn": "vehicle-model-arn", "description": "description", "networkInterfaces": [ { "interfaceId": "myCustomInterfaceId", "type": "CUSTOM_DECODING_INTERFACE", "customDecodingInterface": { "name": "myCustomInterface" } } ], "signalDecoders": [ { "customDecodingSignal": { "fullyQualifiedName": "Vehicle.actuator1", "interfaceId": "myCustomInterfaceId", "type": "CUSTOM_DECODING_SIGNAL", "customDecodingSignal": { "id": "Vehicle.actuator1" } } }, { "customDecodingSignal": { "fullyQualifiedName": "Vehicle.actuator2", "interfaceId": "myCustomInterfaceId", "type": "CUSTOM_DECODING_SIGNAL", "customDecodingSignal": { "id": "Vehicle.actuator2" } } } ] }
참고

데모 스크립트를 다운로드하여 비전 시스템 신호가 포함된 디코더 매니페스트를 생성할 수 있습니다. 자세한 내용은 Vision System Data Developer Guide를 참조하세요.

비전 시스템 데이터는 평가판 릴리스이며 변경될 수 있습니다.

고객 관리형 AWS KMS 키를 사용하여 암호화를 활성화한 경우 역할이 CreateDecoderManifest API 작업을 호출할 수 있도록 다음 정책 설명을 포함합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:KMS_KEY_REGION:KMS_KEY_ACCOUNT_ID:key/KMS_KEY_ID" ] }, ] }