

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Buat manifes AWS dekoder IoT FleetWise
<a name="create-decoder-manifest"></a>

**penting**  
Akses ke FleetWise fitur AWS IoT tertentu saat ini terjaga keamanannya. Untuk informasi selengkapnya, lihat [AWS Ketersediaan wilayah dan fitur di AWS IoT FleetWise](fleetwise-regions.md).

Anda dapat menggunakan FleetWise konsol AWS IoT atau API untuk membuat manifes dekoder untuk model kendaraan Anda.

**Topics**
+ [Buat manifes dekoder (konsol)](#create-decoder-manifest-console)
+ [Buat manifes decoder ()AWS CLI](#create-decoder-manifest-cli)

## Buat manifes dekoder (konsol)
<a name="create-decoder-manifest-console"></a>

Anda dapat menggunakan FleetWise konsol AWS IoT untuk membuat manifes decoder yang terkait dengan model kendaraan Anda.

**penting**  
Anda tidak dapat mengonfigurasi sinyal data sistem penglihatan dalam manifes decoder menggunakan konsol IoT AWS . FleetWise Sebagai gantinya, gunakan AWS CLI. Data sistem visi dalam rilis pratinjau dan dapat berubah sewaktu-waktu.

**Untuk membuat manifes decoder**

1. <a name="fleetwise-open-console"></a>Buka konsol [AWS IoT FleetWise ](https://console.aws.amazon.com/iotfleetwise).

1. <a name="choose-vehicle-models"></a>Pada panel navigasi, pilih **Model kendaraan**.

1. Pilih model kendaraan target.

1. Pada halaman ringkasan model kendaraan, pilih **Buat manifes decoder**, lalu lakukan hal berikut.

**Topics**
+ [Langkah 1: Konfigurasikan manifes decoder](#configure-decoder-manifest-console)
+ [Langkah 2: Antarmuka PETA CAN](#map-can-interface)
+ [Langkah 3: Tinjau dan buat](#review-and-create-decoder-manifest-console)

### Langkah 1: Konfigurasikan manifes decoder
<a name="configure-decoder-manifest-console"></a>

Secara **umum informasi**, lakukan hal berikut.

1. Masukkan nama unik untuk manifes decoder.

1. (Opsional) Masukkan deskripsi.

1. Pilih **Berikutnya**.

#### Tambahkan antarmuka jaringan
<a name="add-network-interfaces"></a>

Setiap manifes decoder harus memiliki setidaknya satu antarmuka jaringan. Anda dapat menambahkan beberapa antarmuka jaringan ke manifes decoder.

**Untuk menambahkan antarmuka jaringan**

1. Unggah file antarmuka jaringan. Anda dapat mengunggah file.dbc untuk protokol CAN, atau file.json untuk ROS 2 atau antarmuka khusus.

1. Masukkan nama untuk antarmuka jaringan Anda. Jika Anda mengunggah antarmuka khusus, nama sudah disediakan.

#### Peta sinyal yang hilang
<a name="map-missing-decoders"></a>

Jika ada sinyal dalam model kendaraan yang kehilangan dekoder sinyal berpasangan di antarmuka jaringan yang diunggah, Anda dapat membuat dekoder khusus default yang akan memetakan sinyal yang hilang. Ini opsional karena Anda dapat memetakan sinyal secara manual di langkah berikutnya.

**Untuk membuat dekoder kustom default**

1. Pilih **Buat dekoder kustom default untuk sinyal yang hilang**.

1. Pilih **Berikutnya**.

### Langkah 2: Antarmuka PETA CAN
<a name="map-can-interface"></a>

Anda dapat memetakan sinyal CAN dengan decoder sinyal CAN. Jika Anda memilih kotak centang **Buat dekoder kustom default untuk sinyal yang hilang, sinyal** apa pun yang kehilangan sinyal dekoder secara otomatis dipetakan ke dekoder sinyal kustom default.

**Untuk memetakan sinyal CAN**

1. Dalam **pemetaan sinyal CAN**, pilih decoder sinyal.

1. Pilih **Berikutnya**.

**catatan**  
Jika Anda menambahkan ROS 2 atau antarmuka khusus, Anda dapat memverifikasi pemetaan sebelum membuat manifes decoder.

### Langkah 3: Tinjau dan buat
<a name="review-and-create-decoder-manifest-console"></a>

**Verifikasi konfigurasi untuk manifes dekoder, lalu pilih Buat.**

## Buat manifes decoder ()AWS CLI
<a name="create-decoder-manifest-cli"></a>

Anda dapat menggunakan operasi [CreateDecoderManifest](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CreateDecoderManifest.html)API untuk membuat manifes decoder. Contoh berikut menggunakan AWS CLI. 

**penting**  
Anda harus memiliki model kendaraan sebelum Anda dapat membuat manifes decoder. Setiap manifes decoder harus dikaitkan dengan model kendaraan. Untuk informasi selengkapnya, lihat [Buat model AWS kendaraan IoT FleetWise](create-vehicle-model.md).

Untuk membuat manifes decoder, jalankan perintah berikut.

Ganti *decoder-manifest-configuration* dengan nama file.json yang berisi konfigurasi.

```
aws iotfleetwise create-decoder-manifest --cli-input-json file://decoder-manifest-configuration.json
```

### Manifes decoder dengan konfigurasi antarmuka CAN
<a name="decoder-manifest-configuration"></a>
+ Ganti *decoder-manifest-name* dengan nama manifes decoder yang Anda buat.
+ Ganti *vehicle-model-ARN* dengan Nama Sumber Daya Amazon (ARN) model kendaraan.
+ (Opsional) Ganti *description* dengan deskripsi untuk membantu Anda mengidentifikasi manifes decoder.

Untuk informasi selengkapnya tentang cara mengonfigurasi cabang, atribut, sensor, dan aktuator, lihat. [Konfigurasikan antarmuka FleetWise jaringan AWS IoT dan sinyal decoder](configure-network-interfaces-decoder-signals.md)

```
{
    "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"
        }
    ]
}
```

### Manifes decoder dengan konfigurasi antarmuka middleware kendaraan
<a name="decoder-manifest-vehicle-middleware-configuration"></a>
+ Ganti *decoder-manifest-name* dengan nama manifes decoder yang Anda buat.
+ Ganti *vehicle-model-ARN* dengan Nama Sumber Daya Amazon (ARN) model kendaraan.
+ (Opsional) Ganti *description* dengan deskripsi untuk membantu Anda mengidentifikasi manifes decoder.

Urutan node properti dalam struktur (struct) harus tetap konsisten seperti yang didefinisikan dalam katalog sinyal dan model kendaraan (manifes model). Untuk informasi selengkapnya tentang cara mengonfigurasi cabang, atribut, sensor, dan aktuator, lihat. [Konfigurasikan antarmuka FleetWise jaringan AWS IoT dan sinyal decoder](configure-network-interfaces-decoder-signals.md)

```
{
	"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"
								}
							}
						}
					]
				}
			}
		}
	]
}
```

### Manifes decoder dengan konfigurasi decoder kustom
<a name="decoder-manifest-custom-decoder-config"></a>
+ Ganti *decoder-manifest-name* dengan nama manifes decoder yang Anda buat.
+ Ganti *vehicle-model-ARN* dengan Nama Sumber Daya Amazon (ARN) model kendaraan.
+ (Opsional) Ganti *description* dengan deskripsi untuk membantu Anda mengidentifikasi manifes decoder.

Untuk informasi selengkapnya tentang cara mengonfigurasi cabang, atribut, sensor, dan aktuator, lihat. [Konfigurasikan antarmuka FleetWise jaringan AWS IoT dan sinyal decoder](configure-network-interfaces-decoder-signals.md)

```
{
	"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"
                }
            }
        }
    ]
}
```

**catatan**  
Anda dapat mengunduh [skrip demo](https://raw.githubusercontent.com/aws/aws-iot-fleetwise-edge/main/tools/cloud/ros2-to-decoders.py) untuk membuat manifes decoder dengan sinyal sistem penglihatan. Untuk informasi selengkapnya, lihat [https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/vision-system-data/vision-system-data-demo.ipynb](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/vision-system-data/vision-system-data-demo.ipynb).  
Data sistem visi dalam rilis pratinjau dan dapat berubah sewaktu-waktu.

Jika Anda [mengaktifkan enkripsi](key-management.md) menggunakan AWS KMS kunci terkelola pelanggan, sertakan pernyataan kebijakan berikut agar peran Anda dapat menjalankan operasi `CreateDecoderManifest` API. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey*",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/KMS_KEY_ID"
            ]
        }
    ]
}
```

------