paint-brush
RemotiveBroker-এর gRPC API-এর সাহায্যে অটোমোটিভ সফটওয়্যার ডেভেলপমেন্টে বিপ্লব ঘটানদ্বারা@remotivelabs
283 পড়া

RemotiveBroker-এর gRPC API-এর সাহায্যে অটোমোটিভ সফটওয়্যার ডেভেলপমেন্টে বিপ্লব ঘটান

দ্বারা RemotiveLabs3m2024/04/16
Read on Terminal Reader

অতিদীর্ঘ; পড়তে

RemotiveBroker gRPC API ডেভেলপারদের দক্ষতার সাথে স্বয়ংচালিত সফ্টওয়্যার তৈরি এবং পরীক্ষা করতে সক্ষম করে। এটি একাধিক প্রোগ্রামিং ভাষা সমর্থন করে এবং একটি পাবলিক গিটহাব সংগ্রহস্থলের মাধ্যমে একটি সাধারণ পাইথন র‍্যাপার এবং জিআরপিসি স্টাব প্রদান করে। এই API লাইভ এবং রেকর্ড করা ডেটা সেটিংস উভয় ক্ষেত্রে প্রযোজ্য যানবাহনের সিগন্যাল ডেটা পড়া এবং লেখার অনুমতি দেয়। ডকার ব্যবহার করে একটি RemotiveBroker সেট আপ করার জন্য কোডের মাত্র তিনটি লাইন দিয়ে প্রক্রিয়াটি শুরু হয়। উপরন্তু, প্ল্যাটফর্মটি রিমোটিভক্লাউডের সাথে একীভূত করে উন্নয়নের প্রচেষ্টাকে স্কেল করার জন্য, সাধারণ যানবাহন নেটওয়ার্কগুলিকে সমর্থন করে এবং লেটেন্সি এবং নেটওয়ার্ক ব্যান্ডউইথের হ্রাসের জন্য HTTP/2 ব্যবহার করে। নিবন্ধটি জিআরপিসি-ওয়েবের জন্য উপলব্ধ টাইপস্ক্রিপ্ট এবং জাভাস্ক্রিপ্ট স্টাবগুলিও উল্লেখ করে এবং পুল অনুরোধের মাধ্যমে সম্প্রদায়ের অবদানকে উত্সাহিত করে।
featured image - RemotiveBroker-এর gRPC API-এর সাহায্যে অটোমোটিভ সফটওয়্যার ডেভেলপমেন্টে বিপ্লব ঘটান
RemotiveLabs HackerNoon profile picture
0-item
1-item


RemotiveBroker-এর gRPC API জানুন এবং এটি কীভাবে প্রোটোটাইপিং, বিল্ডিং এবং স্বয়ংচালিত সফ্টওয়্যার পরীক্ষাকে সহজ করে। আপনি যেভাবে চান এবং আপনার পছন্দের প্রোগ্রামিং ভাষায় সফ্টওয়্যার তৈরি করুন। আমরা পাইথন র‍্যাপার এবং আমাদের GitHub-এ একটি পাবলিক রেপোতে উপলব্ধ gRPC স্টাবগুলির সাহায্যে জিনিসগুলিকে আরও সহজ করি৷

আমাদের gRPC API দিয়ে কাজ শেষ করুন

পাইথন ব্যবহার করে একটি দ্রুত প্রোটোটাইপ করতে চান? মরিচা আগ্রহী? RemotiveBroker gRPC API আপনার পছন্দের ভাষায় যানবাহনের সিগন্যাল ডেটা পড়তে এবং লিখতে ব্যবহার করা যেতে পারে। এর মানে হল যে আপনি যে সরঞ্জামগুলিকে পছন্দ করেন সেগুলি ব্যবহার করতে পারেন দ্রুত অ্যাপ্লিকেশন তৈরি করতে যা আসল গাড়ির সংকেত ডেটার উপর নির্ভর করে৷ একটি সাধারণ কনফিগারেশন এবং একটি সিগন্যাল ডাটাবেস ফাইল দেওয়া হলে, আপনি এখনই রেকর্ড করা ডেটা বা লাইভ ডেটা সহ একটি ভৌত গাড়ির ভিতরে কাজ করতে পারেন।


আপনি যদি রেকর্ড করা বা লাইভ ডেটা নিয়ে কাজ করেন তা নির্বিশেষে একই API ব্যবহার করুন, একবার আপনার অ্যাপ্লিকেশনটি লিখুন এবং এটি আপনার ডেস্কটপে এবং একটি গাড়ির ভিতরে পরীক্ষা করুন! আপনি পূর্বে রেকর্ড করা ড্রাইভ চক্র পুনঃব্যবহার করতে পারেন, যেমন একটি ডিটারমিনিস্টিক ECU টেস্টিং সেটআপে বা গ্রাফিক্যাল ইউজার ইন্টারফেস প্রোটোটাইপ করার সময়। একবার আপনি আপনার কাজের সাথে সন্তুষ্ট হয়ে গেলে, আপনি সত্যিকারের শিফট-বাম চেতনায়, কোডটি পরীক্ষা করা হয়েছে জেনে এটিকে একটি পরীক্ষামূলক রিগ বা শারীরিক যানবাহনে আনতে পারেন।


আমাদের সহযোগিতার প্ল্যাটফর্ম, RemotiveCloud- এর সাথে যুক্ত, আপনি একাধিক ভার্চুয়ালাইজড RemotiveBrokers-এর সাহায্যে আপনার উন্নয়ন প্রচেষ্টা দ্রুত বাড়াতে পারেন!


কোডের তিনটি লাইন দিয়ে শুরু করুন

কোডের তিনটি লাইন দিয়ে একটি RemotiveBroker শুরু করুন:


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


আমাদের বিনামূল্যের 3-মিনিটের ডেমো ব্যবহার করে দেখুন বা Github-এ আমাদের কিছু জিনিস দেখুন, যেমন APIs , সাধারণ নমুনা , ProtoPie ইন্টিগ্রেশন ) এবং আপনার ডেস্কটপে বুটস্ট্র্যাপ RemotiveBroker চালানোর জন্য রেপোতে যান।


একটি RemotiveBroker কি?

RemotiveBroker হল একটি নমনীয় ডেভেলপার টুল যা বেশিরভাগ সেটআপে ফিট করে। এটি একটি পাব/সাব gRPC API এর মাধ্যমে গাড়ির সংকেত ডেটা প্রকাশ করে। আমরা CAN, Flexray, LIN, এবং অটোমোটিভ ইথারনেট-এর মতো সবচেয়ে সাধারণ যানবাহন নেটওয়ার্ক সমর্থন করি – .dbx, .xml (fibex), .ldf এবং .arxml দ্বারা সক্ষম৷ আমরা E2E সুরক্ষাও প্রমাণ করেছি।


API wrappers এবং gRPC স্টাবগুলির সাথে এটিকে আরও সহজ করুন৷

আমাদের মোড়ক এবং স্টাবগুলির জন্য আমাদের একটি পাবলিক রেপো আছে। যে কেউ তাদের প্রিয় ভাষায় একটি মোড়ক সহ একটি পুল অনুরোধ জমা দিতে স্বাগত জানাই, আমাদের gRPC প্রোটো ফাইলগুলি দিয়ে শুরু করুন৷ আমাদের উচ্চাকাঙ্ক্ষা হল র‌্যাপার এবং স্টাব/ক্লায়েন্ট সবার জন্য উপলব্ধ।


gRPC এর সুবিধা

একটি সাধারণ কনফিগারেশন দেওয়া হলে, RemotiveBroker একটি gRPC API প্রকাশ করবে যা আপনাকে নিয়ন্ত্রণে রাখে। GRPC-এর যে বিস্তৃত ভাষা সমর্থন রয়েছে তা দিয়ে আপনি যা পছন্দ করেন তা ব্যবহার করতে পারেন, যেমন Node.js, Ruby, C# বা Kotlin। gRPC HTTP/2 এবং একটি বাইনারি বার্তা বিন্যাস ব্যবহার করে, এটি নেটওয়ার্ক ব্যান্ডউইথ কমাতে এবং লেটেন্সি কমাতে সাহায্য করে। এটি আমাদের রিমোটিভ ব্রোকারকে রিয়েল-টাইমে প্রচুর পরিমাণে ডেটা পাঠাতে দেয়, যেমন উচ্চ-গতির CAN & CAN-FD বা FlexRay-এর ক্ষেত্রে।


পাইথন মোড়ক

অ্যাপ্লিকেশন তৈরি করা আরও সহজ করার জন্য আমাদের কাছে RemotiveBroker API-এর একটি উপসেটের জন্য একটি পাইথন র্যাপার API রয়েছে। এটি পাইথন প্যাকেজ সূচকের মাধ্যমে সহজে ইনস্টলেশনের জন্য উপলব্ধ। এই মোড়ক API এটি একটি RemotiveBroker সাথে সংযোগ এবং গাড়ির সংকেত ডেটা সাবস্ক্রিপশন সেট আপ করার মত সাধারণ ক্রিয়াকলাপগুলিকে সহজ করে তোলে৷


একটি RemotiveBroker এর সাথে সংযোগ করুন এবং একটি সংকেত সদস্যতা সেট আপ করুন:

 # 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-ওয়েবের জন্য উপলব্ধ রয়েছে। এটি এনপিএম/সুতার মাধ্যমেও পাওয়া যায়। সঠিক র‍্যাপার API-এর মতো উপযোগী না হলেও, gRPC-এর সাথে কাজ করার সময় স্টাব/ক্লায়েন্টের প্রয়োজন হয়। যাইহোক, এপিআই অন্বেষণ করার সময় শুধুমাত্র স্টাবগুলির দিকে তাকানো সহায়ক।


ফ্রেম ফ্রিকোয়েন্সি বিতরণে সদস্যতা নিন:

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


আমাদের টুলিং এবং API ক্রমাগত বিকশিত হয়.

আরও সহায়ক ডেভেলপার সামগ্রী মিস না করতে GitHub এবং LinkedIn- এ আমাদের অনুসরণ করুন।

আমাদের পরবর্তী বিকাশের জন্য যদি আপনার ইচ্ছা বা চিন্তা থাকে তবে অপরিচিত হবেন না!