A indústria automotiva está passando por uma transformação notável. Impulsionado pela inovação de software program, o conceito de carro transcendeu seu papel tradicional como meio de transporte. Os veículos estão evoluindo para máquinas inteligentes com sistemas avançados de assistência ao motorista (ADAS), infoentretenimento sofisticado e recursos de conectividade. Para potenciar estas capacidades avançadas, as empresas automóveis precisam de gerir dados de diferentes fontes, o que requer uma solução para recolha de dados em escala. É aqui que os serviços AWS IoT entram em ação. Ter os dados na nuvem abre novas possibilidades, como criar ferramentas de análise de dados, permitir manutenção preditiva ou usar os dados para potencializar serviços generativos de IA para o usuário closing.
Visão geral da solução
Esta postagem irá guiá-lo no uso de um modelo de carro com Raspberry Pi para construir uma arquitetura escalonável e pronta para uso empresarial para coletar dados de uma frota de veículos para atender aos diferentes casos de uso mostrados na figura 1.
Figura 1 – Casos de uso
Arquitetura geral
A Figura 2 mostra uma visão geral abrangente da arquitetura completa:
Figura 2 – Arquitetura geral
{Hardware} e controlador native
Para o {hardware}, você usará este conjunto simples que fornece todos os componentes mecânicos e eletrônicos que você precisa. Um Raspberry Pi também é necessário. As instruções para construir e testar o equipment estão disponíveis no web site do fabricante web site e não será descrito nesta postagem do weblog.
Figura 3 – Package veicular inteligente para Raspberry Pi
O veículo é controlado por meio de uma interface net escrita em React usando WebSocket. No aplicativo net native, é possível visualizar o fluxo da câmera, ajustar a velocidade, controlar a direção do movimento e controlar as luzes. Também é possível usar um controlador de jogo para uma melhor experiência de direção.
Figura 4 – Controlador native do carro
A utilização do protótipo físico permite simular de forma eficaz as capacidades dos serviços descritos acima, demonstrando de forma prática a sua aplicabilidade aos casos de uso.
Coleta e visualização de dados
Os dados gerados pelo veículo são enviados para a nuvem by way of AWS IoT FleetWise usando um digital PODE interface.
Cada métrica de dados é então processada por um regra para AWS IoT e armazenado em Fluxo de tempo da Amazon. Todos os dados são exibidos em um painel usando Grafana gerenciada pela Amazon.
Figura 5 – Coleta de dados
Passo a passo
Todas as etapas detalhadas e o código completo estão disponíveis neste GitHub repositório. Recomendamos que você baixe o repositório completo e siga a abordagem passo a passo descrita no arquivo Readme.md. Neste artigo descrevemos a arquitetura geral e fornecemos os comandos para as etapas principais.
Pré-requisitos
- Uma conta AWS
- AWS CLI instalado
- Carro inteligente conjunto para Framboesa Pi
- Framboesa PI
- Conhecimento básico de Python e JavaScript
Etapa 1: {Hardware} e controlador native
Você instalará o software program para controlar o carro e o Edge Agent para AWS IoT FleetWise no Raspberry Pi concluindo as etapas a seguir. Instruções detalhadas estão no acompanhamento repositório no ponto 6 do arquivo Readme.md.
- Configure a interface CAN digital
- Crie e instale seu Edge Agent para AWS IoT FleetWise
- Instale o servidor e o aplicativo para dirigir e controlar o carro
Figura 6 – Arquitetura após Passo 1
Passo 2: Infraestrutura básica em nuvem
AWS CloudFormation é usado para implantar todos os recursos necessários para Amazon Timestream e Amazon Managed Grafana. O modelo pode ser encontrado no anexo repositório dentro da pasta Cloud.
Figura 7 – Arquitetura após passo 2
Implantar o Amazon Managed Grafana (AWS CLI)
O primeiro componente que você implantará é o Amazon Managed Grafana, que hospedará o painel que mostra os dados coletados pelo AWS IoT FleetWise.
No repositório, na pasta “Cloud/Infra” você usará o CloudFormation 01-Grafana-Occasion.yml modelo para implantar os recursos usando o seguinte comando:
Assim que o CloudFormation atingir o estado CREATE_COMPLETE, você deverá ver o novo espaço de trabalho do Grafana.
Figura 8 – Espaço de trabalho Amazon Managed Grafana
Implantar o Amazon Timestream (AWS CLI)
Fluxo de tempo da Amazon é um banco de dados de série temporal totalmente gerenciado, capaz de armazenar e analisar trilhões de pontos de dados de série temporal por dia. Este serviço será o segundo componente implantado que armazenará dados coletados pelo AWS IoT FleetWise.
No repositório, na pasta “Cloud/Infra” você utilizará o 02-Timestream-DB.yml modelo para implantar os recursos usando o seguinte comando:
Depois que o CloudFormation atingir o estado CREATE_COMPLETE, você deverá ver a nova tabela Timestream, banco de dados e função relacionada que será usada pelo AWS IoT FleetWise.
Etapa 3: configurar a frota do AWS IoT
Agora que configuramos a infraestrutura, é hora de definir os sinais para coletar e configurar o AWS IoT FleetWise para receber seus dados. Sinais são estruturas básicas que você outline para conter dados do veículo e seus metadados.
Por exemplo, você pode criar um sinal que represente a voltagem da bateria do seu veículo:
Sign definition - Sort: Sensor - Knowledge sort: float32 - Title: Voltage - Min: 0 - Max: 8 - Unit: Volt - Full certified identify: Automobile.Battery.Voltage
Este sinal é usado como padrão em aplicações automotivas para comunicar informações semanticamente bem definidas sobre o veículo. Modele seu protótipo de carro de acordo com o VSS especificação. Esta é a estrutura que você usará no protótipo. Esta estrutura é codificada como json no sinais.json arquivo no Nuvem/Frota pasta no repositório.
Figura 9 – Modelo do veículo em formato VSS
Passo 1: Crie o catálogo de sinais (AWS CLI)
- Use o comando a seguir usando a estrutura codificada em sign.json conforme descrito acima.
- Copie o ARN retornado pelo comando.
Se você abrir o console AWS na página AWS IoT FleetWise e selecionar o Catálogo de sinais seção do painel de navegação, você deverá ver o catálogo Sign recém-criado.
Figura 10 – Catálogo de sinais
Passo 2: Crie o modelo do veículo
O modelo de veículo isso ajuda a padronizar o formato dos seus veículos e impõe informações consistentes em vários veículos do mesmo tipo.
- Abra o arquivo JSON e substitua o
variável com o ARN copiado no comando anterior. - Execute o comando:
- Copie o ARN retornado pelo comando.
- Execute o comando:
Se você abrir o console AWS na página AWS IoT FleetWise e selecionar o Modelos de veículos seção do painel de navegação, você deverá ver o modelo de veículo recém-criado.
Figura 11 – Modelo do veículo: Sinais
Etapa 3: crie o manifesto do decodificador
O manifesto do decodificador permite que a decodificação de sinais binários do veículo seja decodificada em um formato legível por humanos. Nosso protótipo usa o Protocolo de barramento CAN. Esses sinais devem ser decodificados de um PODE DBC (banco de dados CAN), que é um arquivo de texto contendo informações para decodificar dados brutos do barramento CAN.
- Abra o arquivo decoder.json e substitua o
variável com o ARN copiado no comando anterior. - Execute o comando para criar o modelo:
- Execute o comando para habilitar o decodificador:
Se você abrir o console AWS na página AWS IoT FleetWise e selecionar o Modelos de veículos seção do painel de navegação, você deverá ver o manifesto do decodificador recém-criado.
Figura 12 – Modelo do veículo: Manifesto SignalsDecoder
Etapa 4: Crie o(s) veículo(s)
O AWS IoT FleetWise tem sua própria construção de veículo, mas o recurso subjacente é um Coisa do AWS IoT Coreque é uma representação de um dispositivo físico (seu veículo) que contém metadados estáticos sobre o dispositivo.
- Abra o console AWS no Página AWS IoT FleetWise
- No painel de navegação, escolha Veículo
- Escolher Criar veículo
- Selecione o modelo do veículo e o manifesto associado nas caixas de listagem
Figura 13 – Propriedades do veículo
Etapa 5: criar e implantar uma campanha
Uma campanha instrui o software program AWS IoT FleetWise Edge Agent sobre como selecionar e coletar dados e onde transmiti-los na nuvem.
- Abra o console AWS na página AWS IoT FleetWise
- No painel de navegação, escolha Campanhas
- Escolher Criar campanha
- Para Tipo de esquema, escolha Baseado em tempo
- Para a duração da campanha, escolha um período consistente
- Para Período de tempo digite 10.000
- Para Nome do sinal selecione o Velocidade actual do veículo
- Para Amostra máxima contar selecionar 1
- Repita as etapas 7 e 8 para todos os outros sinais
- Para Destino selecione Fluxo de tempo da Amazon
- Para Nome do banco de dados Timestream selecione MacchinettaDB
- Para Nome da tabela de fluxo de tempo selecione macchinettaTable
- Escolher Próximo
- Para Nome do veículo selecione Macchinetta
- Escolher Próximo
- Revise e escolha Criar
Figura 14 – Criar e implantar uma campanha
Depois de implantado, após alguns segundos, você deverá ver os dados dentro da tabela Amazon Timestream
Figura 15 – Tabela Amazon Timestream
Depois que os dados são armazenados no Amazon Timestream, eles podem ser visualizados usando o Amazon Managed Grafana.
O Amazon Managed Grafana é um serviço totalmente gerenciado para Grafana, uma well-liked plataforma de análise de código aberto que permite consultar, visualizar e alertar sobre suas métricas.
Você o usa para exibir dados relevantes e detalhados de um único veículo em um painel:
Figura 16 – Amazon Managed Grafana
Limpar
Instruções detalhadas estão no repositório que acompanha no closing do Leiame.md arquivo.
Conclusão
Esta solução demonstra o poder do AWS IoT na criação de uma arquitetura escalável para coleta e gerenciamento de dados de frotas de veículos. Começando com um protótipo de carro movido a Raspberry Pi, mostramos como abordar os principais casos de uso da indústria automotiva. No entanto, isto é apenas o começo, o protótipo foi projetado para ser modular e ampliado com novas capacidades. Aqui estão algumas maneiras interessantes de expandir a solução:
Aplicativo Internet de gerenciamento de frota: Desenvolva um aplicativo net abrangente usando o AWS Amplify para monitorar uma frota inteira de veículos. Este aplicativo pode fornecer uma visão de alto nível do estado de saúde de cada veículo e permitir uma análise detalhada do veículo particular person.
Transmissão de vídeo ao vivo: Integre bibliotecas do Amazon Kinesis Video Streams ao aplicativo Raspberry Pi para permitir feeds de vídeo em tempo actual de veículos.
Manutenção Preditiva: Aproveite os dados coletados por meio do AWS IoT FleetWise para criar modelos de manutenção preditiva, aumentando a confiabilidade da frota e reduzindo o tempo de inatividade.
Integração de IA generativa: Discover o uso de serviços generativos de IA, como o Amazon Bedrock, para gerar conteúdo personalizado, prever o comportamento do usuário ou otimizar o desempenho do veículo com base nos dados coletados.
Pronto para levar sua solução de veículo conectado para o próximo nível? Convidamos você a:
- Discover mais: aprofunde-se nos serviços AWS IoT e em suas aplicações na indústria automotiva. Visite o Documentação do AWS IoT para saber mais.
- Coloque a mão na massa: tente construir este protótipo sozinho usando as instruções detalhadas em nosso GitHub repositório.
- Conecte-se com especialistas: tem dúvidas ou precisa de orientação? Entre em contato com nossos especialistas em AWS IoT.
- Junte-se à comunidade: compartilhe suas experiências e aprenda com outras pessoas no AWS IoT Fórum Comunitário.
Sobre os Autores
Leonardo Fenu é um arquiteto de soluções que ajuda clientes da AWS a alinhar sua tecnologia com seus objetivos de negócios desde 2018. Quando não está caminhando nas montanhas ou passando tempo com sua família, ele gosta de mexer em {hardware} e software program, explorando as mais recentes tecnologias de nuvem, e encontrar maneiras criativas de resolver problemas complexos.
Eduardo Randazzo é arquiteto de soluções especializado em DevOps e governança de nuvem. Em seu tempo livre, ele gosta de construir dispositivos IoT e mexer em devices, seja como um caminho potencial para o próximo grande sucesso ou simplesmente como uma desculpa para comprar mais Lego.
Luca Pallini é arquiteto sênior de soluções de parceiros na AWS, ajudando parceiros a se destacarem no setor público. Ele atua como membro da Technical Area Group (TFC) da AWS, com especialização em bancos de dados, principalmente Oracle Database. Antes de ingressar na AWS, ele acumulou mais de 22 anos de experiência em design de banco de dados, arquitetura e tecnologias de nuvem. Nas horas vagas, Luca gosta de passar o tempo com a família, fazer caminhadas, ler e ouvir música.