paint-brush
Révolutionnez le développement de logiciels automobiles avec l'API gRPC de RemotiveBrokerpar@remotivelabs
283 lectures

Révolutionnez le développement de logiciels automobiles avec l'API gRPC de RemotiveBroker

par RemotiveLabs3m2024/04/16
Read on Terminal Reader

Trop long; Pour lire

L'API gRPC de RemotiveBroker permet aux développeurs de créer et de tester efficacement des logiciels automobiles. Il prend en charge plusieurs langages de programmation et fournit un simple wrapper Python et des stubs gRPC via un référentiel GitHub public. Cette API permet de lire et d'écrire des données de signal de véhicule, applicables aux paramètres de données en direct et enregistrées. Le processus commence avec seulement trois lignes de code pour configurer un RemotiveBroker à l'aide de Docker. De plus, la plate-forme s'intègre à RemotiveCloud pour faire évoluer les efforts de développement, prendre en charge les réseaux de véhicules courants et tirer parti de HTTP/2 pour réduire la latence et la bande passante du réseau. L'article mentionne également les stubs TypeScript et JavaScript disponibles pour gRPC-web et encourage les contributions de la communauté via des demandes d'extraction.
featured image - Révolutionnez le développement de logiciels automobiles avec l'API gRPC de RemotiveBroker
RemotiveLabs HackerNoon profile picture
0-item
1-item


Découvrez l'API gRPC de RemotiveBroker et comment elle simplifie le prototypage, la création et le test des logiciels automobiles. Créez des logiciels comme vous le souhaitez et dans le langage de programmation de votre choix. Nous facilitons les choses avec un wrapper Python et les stubs gRPC disponibles dans un dépôt public sur notre GitHub.

Faites avancer les choses avec notre API gRPC

Vous souhaitez créer un prototype rapide en utilisant Python ? Rust : ça vous intéresse ? L'API gRPC de RemotiveBroker peut être utilisée pour lire et écrire des données de signal de véhicule dans la langue de votre choix. Cela signifie que vous pouvez utiliser les outils que vous préférez pour créer rapidement des applications qui dépendent des données réelles des signaux du véhicule. Grâce à une configuration simple et à un fichier de base de données de signaux, vous pouvez travailler immédiatement avec des données enregistrées ou à l'intérieur d'un véhicule physique avec des données en direct.


Utilisez la même API, que vous travailliez avec des données enregistrées ou en direct, écrivez votre application une seule fois et testez-la sur votre bureau et à l'intérieur d'un véhicule ! Vous pouvez réutiliser des cycles de conduite précédemment enregistrés, par exemple dans une configuration de test déterministe du calculateur ou lors du prototypage d'interfaces utilisateur graphiques. Une fois que vous êtes satisfait de votre travail, vous pouvez, dans un véritable esprit de gauche, l'amener à un banc d'essai ou à un véhicule physique en sachant que le code a été testé.


Associé à notre plateforme de collaboration, RemotiveCloud , vous pouvez rapidement intensifier vos efforts de développement avec plusieurs RemotiveBrokers virtualisés !


Commencez avec trois lignes de code

Démarrez un RemotiveBroker avec trois lignes de code :


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


Essayez notre démo gratuite de 3 minutes ou consultez certains de nos produits sur Github, par exemple les API , les exemples simples , l'intégration ProtoPie ) et accédez au dépôt pour exécuter le bootstrap RemotiveBroker sur votre bureau .


Qu'est-ce qu'un RemotiveBroker ?

RemotiveBroker est un outil de développement flexible qui s'adapte à la plupart des configurations. il expose les données de signal du véhicule via une API pub/sub gRPC. Nous prenons en charge les réseaux de véhicules les plus courants tels que CAN, Flexray, LIN et Automotive Ethernet – activés par .dbx, .xml (fibex), .ldf et .arxml. Nous avons également prouvé la protection E2E.


Facilitez encore davantage les choses avec les wrappers d'API et les stubs gRPC

Nous avons un dépôt public pour nos wrappers et stubs. Tout le monde est invité à soumettre une pull request avec un wrapper dans sa langue préférée, commencez avec nos fichiers proto gRPC. Notre ambition est d'avoir des wrappers et des stubs/clients disponibles pour tout le monde.


Avantages de gRPC

Avec une configuration simple, RemotiveBroker exposera une API gRPC qui vous donnera le contrôle. Grâce à la large prise en charge linguistique de gRPC, vous pouvez utiliser ce que vous préférez, par exemple Node.js, Ruby, C# ou Kotlin. gRPC exploite HTTP/2 et un format de message binaire, ce qui permet de réduire la bande passante du réseau et la latence. Cela permet à notre RemotiveBroker d'envoyer de grandes quantités de données en temps réel, comme dans le cas du CAN & CAN-FD haute vitesse ou du FlexRay.


Encapsuleur Python

Nous disposons d'une API wrapper Python pour un sous-ensemble de l'API RemotiveBroker afin de faciliter encore plus la création d'applications. Il est également disponible pour une installation facile via l' index des packages Python. Cette API wrapper facilite l'exécution d'opérations courantes telles que la connexion à un RemotiveBroker et la configuration des abonnements aux données de signal du véhicule.


Connectez-vous à un RemotiveBroker et configurez un abonnement au signal :

 # 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)


Talons/clients Typescript et Javascript

Puisque nous travaillons avec gRPC-web dans nos clients Web, nous disposons de stubs/clients Typescript et Javascript disponibles pour grpc-web. Il est également disponible via npm/yarn . Bien qu'ils ne soient pas aussi utiles qu'une API de wrapper appropriée, les stubs/clients sont requis lorsque vous travaillez avec gRPC. Cependant, il suffit de regarder les talons pour explorer l'API.


Abonnez-vous à la distribution de fréquence de trame :

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


Nos outils et API évoluent constamment.

Suivez-nous sur GitHub et LinkedIn pour ne pas manquer du contenu plus utile pour les développeurs.

Si vous avez des souhaits ou des idées sur ce que nous devrions développer ensuite, ne soyez pas étranger !