paint-brush
RemotiveBroker'ın gRPC API'si ile Otomotiv Yazılım Geliştirmede Devrim Yapınile@remotivelabs
283 okumalar

RemotiveBroker'ın gRPC API'si ile Otomotiv Yazılım Geliştirmede Devrim Yapın

ile RemotiveLabs3m2024/04/16
Read on Terminal Reader

Çok uzun; Okumak

RemotiveBroker gRPC API, geliştiricilerin otomotiv yazılımını verimli bir şekilde oluşturmasına ve test etmesine olanak tanır. Birden fazla programlama dilini destekler ve genel GitHub deposu aracılığıyla basit bir Python sarmalayıcısı ve gRPC saplamaları sağlar. Bu API, hem canlı hem de kayıtlı veri ayarlarına uygulanabilen araç sinyal verilerinin okunmasına ve yazılmasına olanak tanır. Süreç, Docker kullanarak bir RemotiveBroker kurmak için yalnızca üç satır kodla başlar. Ek olarak platform, geliştirme çabalarını ölçeklendirmek, ortak araç ağlarını desteklemek ve daha az gecikme ve ağ bant genişliği için HTTP/2'den yararlanmak için RemotiveCloud ile entegre olur. Makalede ayrıca gRPC-web için mevcut TypeScript ve JavaScript taslaklarından bahsediliyor ve çekme istekleri yoluyla topluluk katkıları teşvik ediliyor.
featured image - RemotiveBroker'ın gRPC API'si ile Otomotiv Yazılım Geliştirmede Devrim Yapın
RemotiveLabs HackerNoon profile picture
0-item
1-item


RemotiveBroker'ın gRPC API'sini ve bunun otomotiv yazılımının prototipini oluşturmayı, oluşturmayı ve test etmeyi nasıl kolaylaştırdığını öğrenin. Yazılımı istediğiniz şekilde ve seçtiğiniz programlama dilinde oluşturun. GitHub'ımızda herkese açık bir depoda bulunan Python sarmalayıcısı ve gRPC taslaklarıyla işleri kolaylaştırıyoruz.

GRPC API'mizle işlerinizi halledin

Python kullanarak hızlı bir prototip mi yapmak istiyorsunuz? Rust'la ilgileniyor musunuz? RemotiveBroker gRPC API'si, araç sinyal verilerini seçtiğiniz dilde okumak ve yazmak için kullanılabilir. Bu, gerçek araç sinyal verilerine dayanan uygulamaları hızlı bir şekilde oluşturmak için tercih ettiğiniz araçları kullanabileceğiniz anlamına gelir. Basit bir konfigürasyon ve bir sinyal veri tabanı dosyası göz önüne alındığında, kayıtlı verilerle veya fiziksel bir araç içinde canlı verilerle hemen çalışmaya başlayabilirsiniz.


İster kayıtlı ister canlı verilerle çalışıyor olun, aynı API'yi kullanın, uygulamanızı bir kez yazın ve masaüstünüzde ve araç içinde test edin! Önceden kaydedilmiş sürücü döngülerini, örneğin deterministik bir ECU test kurulumunda veya grafik kullanıcı arayüzlerinin prototipini oluştururken yeniden kullanabilirsiniz. Yaptığınız işten memnun kaldığınızda, gerçek bir sola kaydırma ruhuyla, kodun test edildiğini bilerek onu bir test donanımına veya fiziksel araca getirebilirsiniz.


İşbirliği platformumuz RemotiveCloud ile eşleştirildiğinde, birden fazla sanallaştırılmış RemotiveBroker ile geliştirme çalışmalarınızı hızlı bir şekilde ölçeklendirebilirsiniz!


Üç satır kodla başlayın

Üç satır kodla bir RemotiveBroker başlatın:


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


3 dakikalık ücretsiz demomuzu deneyin veya Github'daki API'ler , basit örnekler , ProtoPie entegrasyonu gibi bazı içeriklerimize göz atın ve masaüstünüzde RemotiveBroker önyüklemesini çalıştırmak için depoya gidin.


RemotiveBroker nedir?

RemotiveBroker çoğu kuruluma uyan esnek bir geliştirici aracıdır. araç sinyal verilerini bir pub/sub gRPC API aracılığıyla ortaya çıkarır. .dbx, .xml (fibex), .ldf ve .arxml tarafından etkinleştirilen CAN, Flexray, LIN ve Otomotiv Ethernet gibi en yaygın araç ağlarını destekliyoruz. Ayrıca E2E Korumasını da kanıtladık.


API sarmalayıcıları ve gRPC saplamalarıyla bunu daha da kolaylaştırın

Sarmalayıcılarımız ve taslaklarımız için halka açık bir depomuz var. Herkes kendi favori dilinde bir sarmalayıcıyla çekme isteği gönderebilir, gRPC protokol dosyalarımıza başlayabilirsiniz. Amacımız ambalajlayıcıları ve taslakları/istemcileri herkesin kullanımına sunmaktır.


GRPC'nin avantajları

Basit bir yapılandırma verildiğinde RemotiveBroker, kontrolün sizde olmasını sağlayan bir gRPC API'sini ortaya çıkaracaktır. GRPC'nin sahip olduğu geniş dil desteği sayesinde Node.js, Ruby, C# veya Kotlin gibi tercih ettiğiniz dilleri kullanabilirsiniz. gRPC, HTTP/2'den ve ikili mesaj biçiminden yararlanır; bu, ağ bant genişliğinin azaltılmasına ve gecikmenin azaltılmasına yardımcı olur. Bu, RemotiveBroker'ımızın, yüksek hızlı CAN & CAN-FD veya FlexRay durumunda olduğu gibi büyük miktarda veriyi gerçek zamanlı olarak göndermesine olanak tanır.


Python sarmalayıcı

Uygulama oluşturmayı daha da kolaylaştırmak amacıyla RemotiveBroker API'sinin bir alt kümesi için bir Python sarmalayıcı API'miz var. Ayrıca Python Paket Dizini aracılığıyla kolay kurulum için de mevcuttur. Bu sarmalayıcı API, RemotiveBroker'a bağlanma ve araç sinyal verileri aboneliklerini ayarlama gibi genel işlemleri gerçekleştirmeyi kolaylaştırır.


Bir RemotiveBroker'a bağlanın ve bir sinyal aboneliği ayarlayın:

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


TypeScript ve Javascript taslakları/istemcileri

Web istemcilerimizde gRPC-web ile çalıştığımızdan, grpc-web için hem TypeScript hem de Javascript taslaklarımız/istemcilerimiz mevcuttur. Ayrıca npm/yarn aracılığıyla da mevcuttur. Uygun bir sarmalayıcı API kadar kullanışlı olmasa da, gRPC ile çalışırken saplamalar/istemciler gereklidir. Ancak API'yi keşfederken yalnızca taslaklara bakmak yararlı olacaktır.


Çerçeve frekansı dağıtımına abone olun:

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


Araçlarımız ve API'lerimiz sürekli olarak gelişmektedir.

Daha fazla yararlı geliştirici içeriğini kaçırmamak için bizi GitHub ve LinkedIn'de takip edin.

Bundan sonra ne geliştirmemiz gerektiğine dair dilekleriniz veya düşünceleriniz varsa yabancı olmayın!