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
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.
Você pode usar o FleetWise console de AWS IoT ou criar um API manifesto de decodificador para o modelo do seu veículo.
Criar um manifesto do decodificador (console)
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
-
Abra o console AWS de IoT. FleetWise
-
No painel de navegação, selecione Modelos de veículos.
-
Selecione o modelo de veículo de destino.
-
Na página de resumo do modelo do veículo, selecione Criar manifesto do decodificador e faça o seguinte.
Tópicos
Etapa 1: configurar o manifesto do decodificador
Em Informações gerais, faça o seguinte:
-
Insira um nome exclusivo para o manifesto do decodificador.
-
(Opcional) Insira uma descrição.
-
Escolha Próximo.
Adicionar interfaces de rede
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
-
Faça upload de um arquivo de interface de rede. Você pode carregar um arquivo.dbc para CAN protocolos ou um arquivo.json para ROS 2 ou interfaces personalizadas.
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
Se houver sinais no modelo do veículo sem decodificadores de sinal emparelhados nas interfaces de rede carregadas, você pode 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
-
Selecione Criar decodificador personalizado padrão para sinais perdidos.
-
Escolha Próximo.
Etapa 2: CAN interface do mapa
Você pode mapear os CAN sinais com decodificadores CAN de sinal. 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 CAN sinais
-
No mapeamento de CAN sinal, selecione um decodificador de sinal.
Escolha Próximo.
nota
Se você adicionou uma interface ROS 2 ou uma interface personalizada, você pode verificar os mapeamentos antes de criar o manifesto do decodificador.
Etapa 3: revisar e criar
Verifique as configurações do manifesto do decodificador e selecione Criar.
Criar um manifesto do decodificador (AWS CLI)
Você pode usar a CreateDecoderManifestAPIoperação 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 .
Para criar um manifesto do decodificador, execute o seguinte comando.
Substituir decoder-manifest-configuration
com o nome do arquivo.json que contém a configuração.
aws iotfleetwise create-decoder-manifest --cli-input-json file://
decoder-manifest-configuration
.json
-
Substituir
decoder-manifest-name
com o nome do manifesto do decodificador que você está criando. -
Substituir
vehicle-model-ARN
com o Amazon Resource Name (ARN) do modelo do veículo. -
(Opcional) Substituir
description
com 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.
{ "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" } ] }
-
Substituir
decoder-manifest-name
com o nome do manifesto do decodificador que você está criando. -
Substituir
vehicle-model-ARN
com o Amazon Resource Name (ARN) do modelo do veículo. -
(Opcional) Substituir
description
com 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.
{ "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" } } } ] } } } ] }
-
Substituir
decoder-manifest-name
com o nome do manifesto do decodificador que você está criando. -
Substituir
vehicle-model-ARN
com o Amazon Resource Name (ARN) do modelo do veículo. -
(Opcional) Substituir
description
com 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.
{ "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
O recurso de dados de sistemas de visão está na versão de teste e está sujeito a alterações.
Se você habilitou a criptografia usando uma AWS KMS chave gerenciada pelo cliente, inclua a seguinte declaração de política para que sua função possa invocar a CreateDecoderManifest
API operação.
{ "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
" ] }, ] }