paint-brush
रिमोटिवब्रोकर के gRPC API के साथ ऑटोमोटिव सॉफ्टवेयर विकास में क्रांतिकारी बदलाव लाएँद्वारा@remotivelabs
283 रीडिंग

रिमोटिवब्रोकर के gRPC API के साथ ऑटोमोटिव सॉफ्टवेयर विकास में क्रांतिकारी बदलाव लाएँ

द्वारा RemotiveLabs3m2024/04/16
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

रिमोटब्रोकर gRPC API डेवलपर्स को ऑटोमोटिव सॉफ़्टवेयर को कुशलतापूर्वक बनाने और परीक्षण करने में सक्षम बनाता है। यह कई प्रोग्रामिंग भाषाओं का समर्थन करता है और एक सार्वजनिक GitHub रिपॉजिटरी के माध्यम से एक सरल पायथन रैपर और gRPC स्टब्स प्रदान करता है। यह API वाहन सिग्नल डेटा को पढ़ने और लिखने की अनुमति देता है, जो लाइव और रिकॉर्ड किए गए डेटा सेटिंग्स दोनों पर लागू होता है। Docker का उपयोग करके रिमोटब्रोकर को स्थापित करने के लिए प्रक्रिया केवल तीन पंक्तियों के कोड से शुरू होती है। इसके अतिरिक्त, प्लेटफ़ॉर्म विकास प्रयासों को बढ़ाने, सामान्य वाहन नेटवर्क का समर्थन करने और कम विलंबता और नेटवर्क बैंडविड्थ के लिए HTTP/2 का लाभ उठाने के लिए रिमोटक्लाउड के साथ एकीकृत होता है। लेख में gRPC-web के लिए उपलब्ध TypeScript और JavaScript स्टब्स का भी उल्लेख किया गया है और पुल अनुरोधों के माध्यम से समुदाय के योगदान को प्रोत्साहित किया गया है।
featured image - रिमोटिवब्रोकर के gRPC API के साथ ऑटोमोटिव सॉफ्टवेयर विकास में क्रांतिकारी बदलाव लाएँ
RemotiveLabs HackerNoon profile picture
0-item
1-item


रिमोटिवब्रोकर के gRPC API को जानें और जानें कि यह प्रोटोटाइपिंग, ऑटोमोटिव सॉफ़्टवेयर का निर्माण और परीक्षण कैसे सरल बनाता है। अपनी पसंद की प्रोग्रामिंग भाषा में और अपनी पसंद के अनुसार सॉफ़्टवेयर बनाएँ। हम अपने GitHub पर एक सार्वजनिक रेपो में उपलब्ध पायथन रैपर और gRPC स्टब्स के साथ चीजों को आसान बनाते हैं।

हमारे gRPC API के साथ काम पूरा करें

क्या आप Python का उपयोग करके एक त्वरित प्रोटोटाइप बनाना चाहते हैं? Rust में रुचि रखते हैं? RemotiveBroker gRPC API का उपयोग आपकी पसंद की भाषा में वाहन सिग्नल डेटा को पढ़ने और लिखने के लिए किया जा सकता है। इसका मतलब है कि आप अपने पसंदीदा टूल का उपयोग करके ऐसे एप्लिकेशन बना सकते हैं जो वास्तविक वाहन सिग्नल डेटा पर निर्भर करते हैं। एक सरल कॉन्फ़िगरेशन और सिग्नल डेटाबेस फ़ाइल दिए जाने पर, आप रिकॉर्ड किए गए डेटा के साथ या लाइव डेटा के साथ भौतिक वाहन के अंदर तुरंत काम करना शुरू कर सकते हैं।


चाहे आप रिकॉर्ड किए गए या लाइव डेटा के साथ काम कर रहे हों, एक ही API का उपयोग करें, अपना एप्लिकेशन एक बार लिखें और इसे अपने डेस्कटॉप पर और वाहन के अंदर परीक्षण करें! आप पहले से रिकॉर्ड किए गए ड्राइव चक्रों का पुनः उपयोग कर सकते हैं, उदाहरण के लिए एक नियतात्मक ECU परीक्षण सेटअप में या ग्राफ़िकल उपयोगकर्ता इंटरफ़ेस का प्रोटोटाइप बनाते समय। एक बार जब आप अपने काम से संतुष्ट हो जाते हैं, तो आप एक सच्ची शिफ्ट-लेफ्ट भावना में, इसे एक परीक्षण रिग या भौतिक वाहन में ला सकते हैं, यह जानते हुए कि कोड का परीक्षण किया गया है।


हमारे सहयोग मंच, रिमोटाइवक्लाउड के साथ मिलकर, आप कई वर्चुअलाइज्ड रिमोटाइवब्रोकर्स के साथ अपने विकास प्रयासों को तेजी से बढ़ा सकते हैं!


तीन पंक्तियों के कोड से शुरुआत करें

तीन पंक्तियों के कोड के साथ रिमोटिवब्रोकर प्रारंभ करें:


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


हमारे मुफ्त 3 मिनट के डेमो को आज़माएं या गिटहब पर हमारे कुछ सामान की जांच करें, जैसे एपीआई , सरल नमूने , प्रोटोपाई एकीकरण ) और अपने डेस्कटॉप पर बूटस्ट्रैप रिमोटब्रोकर चलाने के लिए रेपो पर जाएं।


रिमोटब्रोकर क्या है?

रिमोटब्रोकर एक लचीला डेवलपर टूल है जो अधिकांश सेटअप में फिट बैठता है। यह पब/सब जीआरपीसी एपीआई के माध्यम से वाहन सिग्नल डेटा को उजागर करता है। हम CAN, Flexray, LIN, और ऑटोमोटिव ईथरनेट जैसे सबसे आम वाहन नेटवर्क का समर्थन करते हैं - .dbx, .xml (fibex), .ldf और .arxml द्वारा सक्षम। हमने E2E सुरक्षा भी साबित की है।


API रैपर और gRPC स्टब्स के साथ इसे और भी आसान बनाएं

हमारे पास रैपर और स्टब्स के लिए एक सार्वजनिक रेपो है। कोई भी व्यक्ति अपनी पसंदीदा भाषा में रैपर के साथ पुल अनुरोध सबमिट कर सकता है, हमारी gRPC प्रोटो फ़ाइलों के साथ आरंभ करें। हमारी महत्वाकांक्षा है कि रैपर और स्टब्स/क्लाइंट सभी के लिए उपलब्ध हों।


gRPC के लाभ

एक सरल कॉन्फ़िगरेशन के साथ, RemotiveBroker एक gRPC API प्रदर्शित करेगा जो आपको नियंत्रण में रखता है। gRPC के पास मौजूद व्यापक भाषा समर्थन के साथ आप अपनी पसंद का उपयोग कर सकते हैं, जैसे कि Node.js, Ruby, C# या Kotlin। gRPC HTTP/2 और बाइनरी संदेश प्रारूप का लाभ उठाता है, इससे नेटवर्क बैंडविड्थ को कम करने और विलंबता को कम करने में मदद मिलती है। यह हमारे RemotiveBroker को वास्तविक समय में बड़ी मात्रा में डेटा भेजने की अनुमति देता है, जैसे कि हाई-स्पीड CAN और CAN-FD या FlexRay के मामले में।


पायथन रैपर

हमारे पास रिमोटब्रोकर API के एक उपसमूह के लिए एक पायथन रैपर API है, जिससे एप्लिकेशन बनाना और भी आसान हो जाता है। यह पायथन पैकेज इंडेक्स के माध्यम से आसान इंस्टॉलेशन के लिए भी उपलब्ध है। यह रैपर API रिमोटब्रोकर से कनेक्ट होने और वाहन सिग्नल डेटा सब्सक्रिप्शन सेट अप करने जैसे सामान्य ऑपरेशन करना आसान बनाता है।


रिमोटीवब्रोकर से जुड़ें और सिग्नल सदस्यता सेट अप करें:

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


टाइपस्क्रिप्ट और जावास्क्रिप्ट स्टब्स/क्लाइंट

चूँकि हम अपने वेब क्लाइंट में gRPC-web के साथ काम कर रहे हैं, इसलिए हमारे पास grpc-web के लिए Typescript और Javascript दोनों स्टब्स/क्लाइंट उपलब्ध हैं। यह npm/yarn के ज़रिए भी उपलब्ध है। हालाँकि यह उचित रैपर API जितना उपयोगी नहीं है, लेकिन gRPC के साथ काम करते समय स्टब्स/क्लाइंट की आवश्यकता होती है। हालाँकि, API को एक्सप्लोर करते समय सिर्फ़ स्टब्स को देखना मददगार होता है।


फ़्रेम आवृत्ति वितरण की सदस्यता लें:

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


हमारे उपकरण और एपीआई लगातार विकसित हो रहे हैं।

अधिक उपयोगी डेवलपर सामग्री से वंचित न रहने के लिए हमें GitHub और LinkedIn पर फॉलो करें।

यदि आपके पास कोई इच्छा या विचार है कि हमें आगे क्या विकसित करना चाहिए, तो अजनबी मत बनिए!