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.
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 !
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 .
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.
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.
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.
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)
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 !