paint-brush
Revolucione o desenvolvimento de software automotivo com a API gRPC da RemotiveBrokerpor@remotivelabs
283 leituras

Revolucione o desenvolvimento de software automotivo com a API gRPC da RemotiveBroker

por RemotiveLabs3m2024/04/16
Read on Terminal Reader

Muito longo; Para ler

A API gRPC do RemotiveBroker permite que os desenvolvedores criem e testem software automotivo com eficiência. Ele oferece suporte a várias linguagens de programação e fornece um wrapper Python simples e stubs gRPC por meio de um repositório público GitHub. Esta API permite a leitura e gravação de dados de sinais de veículos, aplicáveis a configurações de dados ao vivo e gravados. O processo começa com apenas três linhas de código para configurar um RemotiveBroker usando Docker. Além disso, a plataforma se integra ao RemotiveCloud para dimensionar os esforços de desenvolvimento, oferecer suporte a redes de veículos comuns e aproveitar o HTTP/2 para reduzir a latência e a largura de banda da rede. O artigo também menciona stubs TypeScript e JavaScript disponíveis para gRPC-web e incentiva contribuições da comunidade por meio de solicitações pull.
featured image - Revolucione o desenvolvimento de software automotivo com a API gRPC da RemotiveBroker
RemotiveLabs HackerNoon profile picture
0-item
1-item


Conheça a API gRPC do RemotiveBroker e como ela simplifica a prototipagem, construção e teste de software automotivo. Crie software da maneira que desejar e na linguagem de programação de sua preferência. Tornamos as coisas mais fáceis com um wrapper Python e os stubs gRPC disponíveis em um repositório público em nosso GitHub.

Realize tarefas com nossa API gRPC

Quer fazer um protótipo rápido usando Python? Interessado em Ferrugem? A API gRPC do RemotiveBroker pode ser usada para ler e gravar dados de sinais de veículos no idioma de sua escolha. Isso significa que você pode usar as ferramentas de sua preferência para criar rapidamente aplicativos que dependem de dados reais de sinais de veículos. Dada uma configuração simples e um arquivo de banco de dados de sinais, você pode começar a trabalhar imediatamente com dados gravados ou dentro de um veículo físico com dados em tempo real.


Use a mesma API independentemente de estar trabalhando com dados gravados ou ao vivo, escreva seu aplicativo uma vez e teste-o em seu desktop e dentro de um veículo! Você pode reutilizar ciclos de acionamento gravados anteriormente, por exemplo, em uma configuração determinística de testes de ECU ou ao criar protótipos de interfaces gráficas de usuário. Quando estiver satisfeito com seu trabalho, você poderá, com um verdadeiro espírito de mudança para a esquerda, levá-lo para uma plataforma de teste ou veículo físico sabendo que o código foi testado.


Emparelhado com nossa plataforma de colaboração, RemotiveCloud , você pode ampliar rapidamente seus esforços de desenvolvimento com vários RemotiveBrokers virtualizados!


Comece com três linhas de código

Inicie um RemotiveBroker com três linhas de código:


 $ git clone https://github.com/remotivelabs/remotivebroker-bootstrap.git $ cd remotivebroker-bootstrap $ docker-compose up -d


Experimente nossa demonstração gratuita de 3 minutos ou confira algumas de nossas coisas no Github, por exemplo, APIs , amostras simples , integração com ProtoPie ) e acesse o repositório para executar o bootstrap RemotiveBroker em seu desktop .


O que é um RemotiveBroker?

O RemotiveBroker é uma ferramenta de desenvolvedor flexível que se adapta à maioria das configurações. ele expõe dados de sinal do veículo por meio de uma API gRPC pub/sub. Oferecemos suporte às redes veiculares mais comuns, como CAN, Flexray, LIN e Ethernet automotiva – habilitadas por .dbx, .xml (fibex), .ldf e .arxml. Também comprovamos a proteção E2E.


Torne tudo ainda mais fácil com wrappers de API e stubs gRPC

Temos um repositório público para nossos wrappers e stubs. Qualquer pessoa pode enviar uma solicitação pull com um wrapper em seu idioma favorito. Comece com nossos arquivos proto gRPC. Nossa ambição é ter wrappers e stubs/clientes disponíveis para todos.


Vantagens do gRPC

Dada uma configuração simples, o RemotiveBroker irá expor uma API gRPC que coloca você no controle. Com o amplo suporte a linguagens que o gRPC possui você pode usar o que preferir, por exemplo, Node.js, Ruby, C# ou Kotlin. O gRPC aproveita HTTP/2 e um formato de mensagem binária, o que ajuda a reduzir a largura de banda da rede e diminuir a latência. Isso permite que nosso RemotiveBroker envie grandes quantidades de dados em tempo real, como no caso de CAN e CAN-FD ou FlexRay de alta velocidade.


Invólucro Python

Temos uma API wrapper Python para um subconjunto da API RemotiveBroker para tornar ainda mais fácil a construção de aplicativos. Também está disponível para fácil instalação por meio do Python Package Index. Essa API wrapper facilita a execução de operações comuns, como conectar-se a um RemotiveBroker e configurar assinaturas de dados de sinais de veículos.


Conecte-se a um RemotiveBroker e configure uma assinatura de sinal:

 # Connect to RemotiveBroker client = Client() client.on_connect = lambda c: print(f"Yay! - connected as {c.client_id} to {c.url}") client.on_signals = lambda signals: print(signals.to_json()) client.connect(url="http://localhost:50051") subscription = client.subscribe( signal_names=["Vehicle.Speed"], namespaces=["vss"], changed_values_only=False)


Stubs/clientes TypeScript e Javascript

Como estamos trabalhando com gRPC-web em nossos clientes web, temos stubs/clientes Typescript e Javascript disponíveis para grpc-web. Também está disponível via npm/yarn . Embora não seja tão útil quanto uma API wrapper adequada, os stubs/clientes são necessários ao trabalhar com gRPC. No entanto, apenas olhar os stubs é útil ao explorar a API.


Assine a distribuição de frequência de quadros:

 // Setup request const config = new FramesDistributionConfig() const namespace = new NameSpace()namespace.setName(namespaceName) config.setNamespace(namespace) // Subscribe this._frameDistributionStream = this._networkServiceClient.subscribeToFramesDistribution(config)


Nossas ferramentas e APIs estão em constante evolução.

Siga-nos no GitHub e no LinkedIn para não perder mais conteúdo útil para desenvolvedores.

Se você tem desejos ou pensamentos sobre o que devemos desenvolver a seguir, não seja um estranho!