

AWS A IoT não FleetWise estará mais aberta a novos clientes a partir de 30 de abril de 2026. Os FleetWise clientes de AWS IoT existentes podem continuar usando o serviço. O [Guia para Mobilidade Conectada AWS](https://aws.amazon.com/solutions/guidance/connected-mobility-on-aws/) fornece orientação sobre como desenvolver e implantar serviços modulares para soluções de mobilidade conectada que podem ser usadas para obter recursos equivalentes aos da AWS IoT FleetWise.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Crie um manifesto AWS do decodificador de IoT FleetWise
<a name="create-decoder-manifest"></a>

**Importante**  
O acesso a determinados FleetWise recursos de AWS IoT está atualmente bloqueado. Para obter mais informações, consulte [AWS Disponibilidade de regiões e recursos na AWS IoT FleetWise](fleetwise-regions.md).

Você pode usar o FleetWise console de AWS IoT ou a API para criar um manifesto de decodificador para o modelo do seu veículo.

**Topics**
+ [Criar um manifesto do decodificador (console)](#create-decoder-manifest-console)
+ [Criar um manifesto do decodificador (AWS CLI)](#create-decoder-manifest-cli)

## Criar um manifesto do decodificador (console)
<a name="create-decoder-manifest-console"></a>

Você pode usar o FleetWise console de AWS IoT para criar um manifesto do decodificador associado ao modelo do seu veículo.

**Importante**  
Você não pode configurar sinais de dados do sistema de visão em manifestos de decodificadores usando o console de IoT AWS . FleetWise Use a AWS CLI em vez disso. O recurso de dados de sistemas de visão está na versão de teste e está sujeito a alterações.

**Para criar um manifesto do decodificador**

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

1. <a name="choose-vehicle-models"></a>No painel de navegação, selecione **Modelos de veículos**.

1. Selecione o modelo de veículo de destino.

1. Na página de resumo do modelo do veículo, selecione **Criar manifesto do decodificador** e faça o seguinte.

**Topics**
+ [Etapa 1: configurar o manifesto do decodificador](#configure-decoder-manifest-console)
+ [Etapa 2: Mapear a interface CAN](#map-can-interface)
+ [Etapa 3: revisar e criar](#review-and-create-decoder-manifest-console)

### Etapa 1: configurar o manifesto do decodificador
<a name="configure-decoder-manifest-console"></a>

Em **Informações gerais**, faça o seguinte:

1. Insira um nome exclusivo para o manifesto do decodificador.

1. (Opcional) Insira uma descrição.

1. Escolha **Próximo**.

#### Adicionar interfaces de rede
<a name="add-network-interfaces"></a>

Cada manifesto do decodificador deve ter pelo menos uma interface de rede. Você pode adicionar várias interfaces de rede a um manifesto do decodificador.

**Adicionar uma interface de rede**

1. Faça upload de um arquivo de interface de rede. Você pode carregar um arquivo.dbc para protocolos CAN ou um arquivo.json para ROS 2 ou interfaces personalizadas.

1. Insira um nome para sua interface de rede. Se você fez upload de uma interface personalizada, o nome já foi fornecido.

#### Mapeie os sinais ausentes
<a name="map-missing-decoders"></a>

Se houver sinais no modelo do veículo sem decodificadores de sinal emparelhados nas interfaces de rede carregadas, você poderá criar um decodificador personalizado padrão que mapeará os sinais ausentes. Isso é opcional, pois você pode mapear manualmente os sinais na próxima etapa.

**Para criar um decodificador personalizado padrão**

1. Selecione **Criar decodificador personalizado padrão para sinais perdidos**.

1. Escolha **Próximo**.

### Etapa 2: Mapear a interface CAN
<a name="map-can-interface"></a>

Você pode mapear os sinais CAN com decodificadores de sinal CAN. Se você marcou a caixa de seleção **Criar decodificador personalizado padrão para sinais ausentes**, todos os sinais que não tiverem um sinal de decodificador serão automaticamente mapeados para decodificadores de sinal personalizados padrão.

**Para mapear sinais CAN**

1. No **mapeamento de sinal CAN**, selecione um decodificador de sinal.

1. Escolha **Próximo**.

**nota**  
Se você adicionou um ROS 2 ou uma interface personalizada, você pode verificar os mapeamentos antes de criar o manifesto do decodificador.

### Etapa 3: revisar e criar
<a name="review-and-create-decoder-manifest-console"></a>

Verifique as configurações do manifesto do decodificador e selecione **Criar.**

## Criar um manifesto do decodificador (AWS CLI)
<a name="create-decoder-manifest-cli"></a>

Você pode usar a operação da [CreateDecoderManifest](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CreateDecoderManifest.html)API para criar manifestos do decodificador. O exemplo a seguir usa a AWS CLI. 

**Importante**  
Você deve ter um modelo de veículo antes de poder criar um manifesto do decodificador. Cada manifesto do decodificador deve estar associado a um modelo de veículo. Para obter mais informações, consulte [Crie um modelo de AWS veículo de IoT FleetWise](create-vehicle-model.md).

Para criar um manifesto do decodificador, execute o seguinte comando.

{{decoder-manifest-configuration}}Substitua pelo nome do arquivo.json que contém a configuração.

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

### Manifesto do decodificador com configuração de interface CAN
<a name="decoder-manifest-configuration"></a>
+ {{decoder-manifest-name}}Substitua pelo nome do manifesto do decodificador que você está criando.
+ {{vehicle-model-ARN}}Substitua pelo Amazon Resource Name (ARN) do modelo do veículo.
+ (Opcional) {{description}} Substitua por uma descrição para ajudá-lo a identificar o manifesto do decodificador.

Para obter mais informações sobre como configurar ramificações, atributos, sensores e atuadores, consulte [Configurar interfaces de FleetWise rede AWS de IoT e sinais de decodificador](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"
        }
    ]
}
```

### Manifesto do decodificador com configuração da interface de middleware do veículo
<a name="decoder-manifest-vehicle-middleware-configuration"></a>
+ {{decoder-manifest-name}}Substitua pelo nome do manifesto do decodificador que você está criando.
+ {{vehicle-model-ARN}}Substitua pelo Amazon Resource Name (ARN) do modelo do veículo.
+ (Opcional) {{description}} Substitua por uma descrição para ajudá-lo a identificar o manifesto do decodificador.

A ordem dos nós de propriedade dentro de uma estrutura (struct) deve permanecer consistente conforme definido no catálogo de sinais e no modelo do veículo (manifesto do modelo). Para obter mais informações sobre como configurar ramificações, atributos, sensores e atuadores, consulte [Configurar interfaces de FleetWise rede AWS de IoT e sinais de decodificador](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"
								}
							}
						}
					]
				}
			}
		}
	]
}
```

### Manifesto do decodificador com configuração personalizada do decodificador
<a name="decoder-manifest-custom-decoder-config"></a>
+ {{decoder-manifest-name}}Substitua pelo nome do manifesto do decodificador que você está criando.
+ {{vehicle-model-ARN}}Substitua pelo Amazon Resource Name (ARN) do modelo do veículo.
+ (Opcional) {{description}} Substitua por uma descrição para ajudá-lo a identificar o manifesto do decodificador.

Para obter mais informações sobre como configurar ramificações, atributos, sensores e atuadores, consulte [Configurar interfaces de FleetWise rede AWS de IoT e sinais de decodificador](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}}"
                }
            }
        }
    ]
}
```

**nota**  
Você pode baixar um [script de demonstração](https://raw.githubusercontent.com/aws/aws-iot-fleetwise-edge/main/tools/cloud/ros2-to-decoders.py) para criar um manifesto do decodificador com sinais de sistemas de visão. Para ter mais informações, consulte o [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).  
O recurso de dados de sistemas de visão está na versão de teste e está sujeito a alterações.

Se você [ativou a criptografia](key-management.md) usando uma AWS KMS chave gerenciada pelo cliente, inclua a seguinte declaração de política para que sua função possa invocar a operação da `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}}"
            ]
        }
    ]
}
```

------