Conozca la API gRPC de RemotiveBroker y cómo simplifica la creación de prototipos, la creación y las pruebas de software automotriz. Cree software de la manera que desee y en el lenguaje de programación de su elección. Hacemos las cosas más fáciles con un contenedor de Python y los códigos auxiliares de gRPC disponibles en un repositorio público en nuestro GitHub.
¿Quieres hacer un prototipo rápido usando Python? ¿Interesado en Rust? La API gRPC de RemotiveBroker se puede utilizar para leer y escribir datos de señales de vehículos en el idioma que elija. Esto significa que puede utilizar las herramientas que prefiera para crear rápidamente aplicaciones que dependan de datos reales de señales del vehículo. Con una configuración simple y un archivo de base de datos de señales, puede comenzar a trabajar de inmediato con datos registrados o dentro de un vehículo físico con datos en vivo.
Utilice la misma API independientemente de si está trabajando con datos grabados o en vivo, escriba su aplicación una vez y pruébela en su escritorio y dentro de un vehículo. Puede reutilizar ciclos de conducción registrados previamente, por ejemplo, en una configuración de prueba determinista de la ECU o al crear prototipos de interfaces gráficas de usuario. Una vez que esté satisfecho con su trabajo, puede, con un verdadero espíritu de cambio a la izquierda, llevarlo a un banco de pruebas o a un vehículo físico sabiendo que el código ha sido probado.
¡Junto con nuestra plataforma de colaboración, RemotiveCloud , puede ampliar rápidamente sus esfuerzos de desarrollo con múltiples RemotiveBrokers virtualizados!
Inicie un RemotiveBroker con tres líneas de código:
$ git clone https://github.com/remotivelabs/remotivebroker-bootstrap.git $ cd remotivebroker-bootstrap $ docker-compose up -d
Pruebe nuestra demostración gratuita de 3 minutos o consulte algunas de nuestras cosas en Github (por ejemplo, API , muestras simples , integración de ProtoPie ) y vaya al repositorio para ejecutar Bootstrap RemotiveBroker en su escritorio .
RemotiveBroker es una herramienta de desarrollo flexible que se adapta a la mayoría de las configuraciones. expone datos de señales del vehículo a través de una API gRPC pub/sub. Admitimos las redes de vehículos más comunes, como CAN, Flexray, LIN y Automotive Ethernet, habilitadas por .dbx, .xml (fibex), .ldf y .arxml. También probamos la protección E2E.
Tenemos un repositorio público para nuestros contenedores y talones. Cualquiera puede enviar una solicitud de extracción con un contenedor en su idioma favorito y comenzar con nuestros archivos de protocolo gRPC. Nuestra ambición es tener envoltorios y stubs/clientes disponibles para todos.
Dada una configuración simple, RemotiveBroker expondrá una API gRPC que le da el control. Con el amplio soporte de lenguajes que tiene gRPC, puedes usar el que prefieras, por ejemplo, Node.js, Ruby, C# o Kotlin. gRPC aprovecha HTTP/2 y un formato de mensaje binario, lo que ayuda a reducir el ancho de banda de la red y disminuir la latencia. Esto permite a nuestro RemotiveBroker enviar grandes cantidades de datos en tiempo real, como en el caso de CAN y CAN-FD o FlexRay de alta velocidad.
Tenemos una API contenedora de Python para un subconjunto de la API RemotiveBroker para facilitar aún más la creación de aplicaciones. También está disponible para una fácil instalación a través del índice de paquetes de Python. Esta API contenedora facilita la realización de operaciones comunes, como conectarse a un RemotiveBroker y configurar suscripciones de datos de señales de vehículos.
Conéctese a un RemotiveBroker y configure una suscripción de señal:
# 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)
Dado que estamos trabajando con gRPC-web en nuestros clientes web, tenemos apéndices/clientes de Typecript y Javascript disponibles para grpc-web. También está disponible a través de npm/yarn . Si bien no es tan útil como una API contenedora adecuada, los códigos auxiliares/clientes son necesarios cuando se trabaja con gRPC. Sin embargo, basta con mirar los resguardos para explorar la API.
Suscríbase a la distribución de frecuencia de cuadros:
// Setup request const config = new FramesDistributionConfig() const namespace = new NameSpace()namespace.setName(namespaceName) config.setNamespace(namespace) // Subscribe this._frameDistributionStream = this._networkServiceClient.subscribeToFramesDistribution(config)
Nuestras herramientas y API están en constante evolución.
Síganos en GitHub y LinkedIn para no perderse más contenido útil para desarrolladores.
Si tiene deseos o ideas sobre lo que deberíamos desarrollar a continuación, ¡no sea un extraño!