Lernen Sie die gRPC-API von RemotiveBroker kennen und erfahren Sie, wie sie das Prototyping, Erstellen und Testen von Automobilsoftware vereinfacht. Erstellen Sie Software nach Ihren Wünschen und in der Programmiersprache Ihrer Wahl. Wir machen die Dinge einfacher mit einem Python-Wrapper und den gRPC-Stubs, die in einem öffentlichen Repo auf unserem GitHub verfügbar sind.
Sie möchten schnell einen Prototyp mit Python erstellen? Sie interessieren sich für Rust? Mit der RemotiveBroker gRPC-API können Sie Fahrzeugsignaldaten in der Sprache Ihrer Wahl lesen und schreiben. Das bedeutet, dass Sie die von Ihnen bevorzugten Tools verwenden können, um schnell Anwendungen zu erstellen, die auf realen Fahrzeugsignaldaten basieren. Mit einer einfachen Konfiguration und einer Signaldatenbankdatei können Sie sofort mit aufgezeichneten Daten oder in einem physischen Fahrzeug mit Live-Daten arbeiten.
Verwenden Sie dieselbe API, egal ob Sie mit aufgezeichneten oder Live-Daten arbeiten. Schreiben Sie Ihre Anwendung einmal und testen Sie sie auf Ihrem Desktop und in einem Fahrzeug! Sie können zuvor aufgezeichnete Fahrzyklen wiederverwenden, z. B. in einem deterministischen ECU-Testaufbau oder beim Prototyping grafischer Benutzeroberflächen. Wenn Sie mit Ihrer Arbeit zufrieden sind, können Sie sie im wahren Shift-Left-Geist zu einem Prüfstand oder einem physischen Fahrzeug bringen, in der Gewissheit, dass der Code getestet wurde.
In Verbindung mit unserer Kollaborationsplattform RemotiveCloud können Sie Ihre Entwicklungsanstrengungen mit mehreren virtualisierten RemotiveBrokern schnell steigern!
Starten Sie einen RemotiveBroker mit drei Codezeilen:
$ git clone https://github.com/remotivelabs/remotivebroker-bootstrap.git $ cd remotivebroker-bootstrap $ docker-compose up -d
Probieren Sie unsere kostenlose 3-minütige Demo aus oder sehen Sie sich einige unserer Sachen auf Github an, z. B. die APIs , einfache Beispiele , ProtoPie-Integration ) und gehen Sie zum Repo, um den Bootstrap RemotiveBroker auf Ihrem Desktop auszuführen.
Der RemotiveBroker ist ein flexibles Entwicklertool, das in die meisten Setups passt. Es stellt Fahrzeugsignaldaten über eine Pub/Sub-gRPC-API bereit. Wir unterstützen die gängigsten Fahrzeugnetzwerke wie CAN, Flexray, LIN und Automotive Ethernet – aktiviert durch .dbx, .xml (fibex), .ldf und .arxml. Wir haben auch E2E-Schutz nachgewiesen.
Wir haben ein öffentliches Repository für unsere Wrapper und Stubs. Jeder kann gerne einen Pull Request mit einem Wrapper in seiner bevorzugten Sprache einreichen und mit unseren gRPC-Prototypendateien loslegen. Unser Ziel ist es, Wrapper und Stubs/Clients für alle verfügbar zu machen.
Bei einer einfachen Konfiguration stellt der RemotiveBroker eine gRPC-API bereit, die Ihnen die Kontrolle überlässt. Dank der umfassenden Sprachunterstützung von gRPC können Sie verwenden, was Sie bevorzugen, z. B. Node.js, Ruby, C# oder Kotlin. gRPC nutzt HTTP/2 und ein binäres Nachrichtenformat, wodurch die Netzwerkbandbreite reduziert und die Latenz verringert wird. Dadurch kann unser RemotiveBroker große Datenmengen in Echtzeit senden, wie im Fall von Hochgeschwindigkeits-CAN & CAN-FD oder FlexRay.
Wir haben eine Python-Wrapper-API für eine Teilmenge der RemotiveBroker- API, um das Erstellen von Anwendungen noch einfacher zu machen. Sie ist auch für eine einfache Installation über den Python-Paketindex verfügbar. Diese Wrapper-API erleichtert die Durchführung gängiger Vorgänge wie die Verbindung mit einem RemotiveBroker und das Einrichten von Abonnements für Fahrzeugsignaldaten.
Verbinden Sie sich mit einem RemotiveBroker und richten Sie ein Signalabonnement ein:
# 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)
Da wir in unseren Webclients mit gRPC-Web arbeiten, stehen uns für grpc-Web sowohl Typescript- als auch Javascript-Stubs/Clients zur Verfügung. Es ist auch über npm/yarn verfügbar. Obwohl sie nicht so nützlich sind wie eine richtige Wrapper-API, sind die Stubs/Clients bei der Arbeit mit gRPC erforderlich. Beim Erkunden der API ist es jedoch hilfreich, sich nur die Stubs anzusehen.
Abonnieren Sie die Frame-Häufigkeitsverteilung:
// Setup request const config = new FramesDistributionConfig() const namespace = new NameSpace()namespace.setName(namespaceName) config.setNamespace(namespace) // Subscribe this._frameDistributionStream = this._networkServiceClient.subscribeToFramesDistribution(config)
Unsere Werkzeuge und APIs entwickeln sich ständig weiter.
Folgen Sie uns auf GitHub und LinkedIn , um keine hilfreichen Inhalte für Entwickler zu verpassen.
Wenn Sie Wünsche oder Ideen haben, was wir als nächstes entwickeln sollten, bleiben Sie nicht fremd!