গুগল কালো সম্প্রদায়ের জন্য জাতিগত সমতা উন্নয়নে প্রতিশ্রুতিবদ্ধ। দেখ কিভাবে.
This page was translated by the Cloud Translation API.
Switch to English

ওপেনওয়েভ কারখানা সরবরাহকারী সরঞ্জাম Tool

jinja-placeholder-0 .md "> গিটহাবের উত্স দেখুন

ওপেন ওয়েভ ফ্যাক্টরি বিধান সরঞ্জাম বুননীয় সক্ষম ডিভাইসগুলিতে স্থির, প্রতি-ডিভাইস কনফিগারেশন তথ্য সরবরাহ করার জন্য একটি সুবিধাজনক উপায় সরবরাহ করে। কারখানার সরবরাহকারী সরঞ্জামটি উত্পাদন লাইন প্রক্রিয়ার অংশ হিসাবে ব্যবহারের উদ্দেশ্যে যা গ্রাহকদের চালানের আগে স্বতন্ত্র ডিভাইসগুলির স্বতন্ত্র পরিচয় এবং শংসাপত্র সম্পর্কিত তথ্য সহ স্ট্যাম্প করে। এটি বিকাশকারীরা বিকাশ প্রক্রিয়া চলাকালীন ব্যবহৃত প্রাক-উত্পাদন হার্ডওয়্যার ব্যক্তিগতকৃত করতে ব্যবহার করতে পারেন।

কার্যপ্রণালীর তত্ত্ব

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

কারখানা সরবরাহের সরঞ্জামটি একটি হোস্ট মেশিনে চালিত কাজটি ডিজাইন করা হয়েছে যা কোনও ডিবাগ বা নিয়ন্ত্রণ ইন্টারফেসের কোনও ফর্মের মাধ্যমে টার্গেট ডিভাইসের সাথে সংযুক্ত থাকে - উদাহরণস্বরূপ, একটি জে TAG বা এসডাব্লুডি পোর্ট। সরঞ্জামটি একটি বিশেষ এনকোডড ফর্মটিতে ডিভাইসের র‌্যামে প্রভিশন তথ্য ইনজেকশনের মাধ্যমে কাজ করে। তারপরে ডিভাইসটিকে পুনরায় চালু করার জন্য নির্দেশ দেওয়া হয়, যেখানে ডিভাইসের ফার্মওয়্যারটিতে অন্তর্নির্মিত কোডটি এনকোডড ডেটা সনাক্ত করে, তার অখণ্ডতাটি বৈধ করে এবং প্ল্যাটফর্মের জন্য উপযুক্ত বিন্যাসে অন্তর্ভুক্ত মানগুলিকে স্থির স্টোরেজে লিখে দেয়।

ইনজেকশন করা প্রভিশনিং ডেটা সনাক্ত এবং প্রক্রিয়াকরণ করে এমন অন-ডিভাইস কোডটি ওপেন ওয়েভ ডিভাইস স্তরটিতে অন্তর্নির্মিত এবং কোনও সমর্থিত প্ল্যাটফর্মে সক্ষম করা যায়। একবার সক্ষম হয়ে গেলে, কোডটি প্রতিবার ডিভাইসটির বুট হওয়ার পরে, ডিভাইস আরম্ভের প্রক্রিয়াটির প্রথম দিকে স্বয়ংক্রিয়ভাবে চলে। কোডটি র‌্যামের একটি প্ল্যাটফর্ম-নির্দিষ্ট অঞ্চল স্ক্যান করে পরিচালনা করে। মেমরির পরিমিত মাউন্টযুক্ত প্ল্যাটফর্মগুলিতে (উদাহরণস্বরূপ, <1 এম), স্ক্যান সমস্ত উপলব্ধ র‍্যামকে অন্তর্ভুক্ত করে।

যখন র‌্যামে রাখা হয়, প্রভিশন ডেটা সহজে সনাক্তযোগ্য উপসর্গ সহ এনকোড থাকে, যা স্ক্যান প্রক্রিয়া চলাকালীন এটি দ্রুত খুঁজে পাওয়া যায়। একটি ক্রিপ্টোগ্রাফিক হ্যাশ উপর ভিত্তি করে একটি অখণ্ডতা চেক মান প্রক্রিয়াজাতকরণের আগে ডেটার বৈধতা নিশ্চিত করতে ব্যবহৃত হয়।

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

কারখানার সরবরাহকারী সরঞ্জাম লক্ষ্য ডিভাইসে ইন্টারফেস করতে বাহ্যিক বিকাশ সরঞ্জামগুলির একটি সেটের উপর নির্ভর করে। নিযুক্ত নির্দিষ্ট সরঞ্জামগুলি লক্ষ্য ডিভাইসের ধরণের উপর নির্ভর করে। দুটি ডিভাইস ইন্টারফেস বর্তমানে সমর্থিত:

  • একটি SEGGER জে-লিংক ডিবাগ প্রোব একটি ডিভাইসের JTAG বা SWD পোর্টের সাথে সংযুক্ত
  • একটি ইউএসবি সিরিয়াল পোর্ট একটি এসপ্রেসিফ ইএসপি 32 এর সাথে সংযুক্ত

জে-লিংক ইন্টারফেসটি SEGGER জে-লিংক কমান্ডার সরঞ্জাম (JLinkExe) এর উপর নির্ভর করে, যা অবশ্যই হোস্ট মেশিনে পৃথকভাবে ইনস্টল করা উচিত।

ESP32 ইন্টারফেসটি এসপ্রেসিফ esptool.py কমান্ডের উপর নির্ভর করে, যা এসপ্রেসিফের ইএসপি-আইডিএফ এসডিকে অংশ হিসাবে সরবরাহ করা হয়।

প্রবিধ করা যেতে পারে তথ্য প্রকারের

ওপেনওয়েভ কারখানা সরবরাহকারী সরঞ্জাম নিম্নলিখিত ধরণের তথ্য সরবরাহ করতে সক্ষম:

  • ডিভাইস সিরিয়াল নম্বর
  • প্রস্তুতকারকের দ্বারা বরাদ্দ করা ওয়েভ ডিভাইস আইডি
  • প্রস্তুতকারকের দ্বারা বরাদ্দ করা ওয়েভ শংসাপত্র এবং ব্যক্তিগত কী
  • জুড়ি কোডটি বুনুন
  • পণ্য পুনর্বিবেচনা নম্বর
  • উৎপাদনের তারিখ

যদিও সাধারণত কোনও ডিভাইসটি সঠিকভাবে পরিচালনা করতে উপরের সমস্ত তথ্য প্রয়োজন হবে, একই সাথে সমস্ত তথ্য সরবরাহ করার প্রয়োজন নেই। সুতরাং, উত্পাদন প্রক্রিয়ায় স্বতন্ত্র পয়েন্টে বিভিন্ন ধরণের তথ্যের বিধান ঘটতে পারে। অতিরিক্তভাবে, পরবর্তী বিধানের পদক্ষেপে পূর্ববর্তী বিধানিত মানগুলি নতুন মানগুলির সাথে প্রতিস্থাপন করা সম্ভব।

তথ্য সরবরাহের উত্স

ডিভাইস প্রভিশন সম্পর্কিত তথ্য কারখানার সরবরাহকারী সরঞ্জামকে নিম্নলিখিত উপায়গুলিতে সরবরাহ করা যেতে পারে:

  • একটি কমান্ড লাইন আর্গুমেন্ট
  • একটি প্রভিশন CSV ফাইল ব্যবহার করে
  • নেস্ট বিধানকারী সার্ভার থেকে মান আনার মাধ্যমে

কমান্ড লাইন

সহজতম ফর্মটিতে, ডিভাইস প্রভিশন সম্পর্কিত তথ্য সরাসরি কমান্ড লাইনে ওপেনওয়েভ কারখানা সরবরাহকারী সরঞ্জামে নির্দিষ্ট করা হয়। উদাহরণ স্বরূপ:

 ./weave-factory-prov-tool --target nrf52840 --device-id 18B4300000000001 \
    --pairing-code NESTUS --mfg-date 2019/04/01

বাইনারি ডেটা মানগুলি, যেমন ওয়েভ শংসাপত্র এবং প্রাইভেট কী, হয় বেস-base৪ স্ট্রিং হিসাবে বা কাঁচা (বাইনারি) আকারে পছন্দসই ডেটাযুক্ত ফাইলগুলির নাম হিসাবে নির্দিষ্ট করা যেতে পারে।

উপলব্ধ কমান্ড লাইন আর্গুমেন্টগুলির সম্পূর্ণ তালিকার জন্য নীচে দেখুন।

প্রভিশন সিএসভি ফাইল

ডিভাইসগুলির বাল্ক বিধান সংস্থান করার জন্য, কারখানা সরবরাহকারী সরঞ্জাম কোনও সিএসভি-ফর্ম্যাটযুক্ত প্রভিশন ডেটা ফাইল থেকে প্রভিশন ডেটা পড়তে পারে। যে - এই ফাইলের কলাম নির্দিষ্ট প্রভিশনিং ধরনের তথ্য মিলা বলে আশা করা হয় Serial_Num , Certificate , Private_Key , ইত্যাদি ফাইলে সারি নির্দিষ্ট ডিভাইস, Weave ডিভাইস আইডি (দ্বারা সূচীবদ্ধ জন্য পৃথক মান দিতে Device_Id )। প্রভিশন দেওয়ার জন্য নির্দিষ্ট ডিভাইসের আইডি অবশ্যই কমান্ড লাইনে নির্দিষ্ট করতে হবে। উদাহরণ স্বরূপ:

 ./weave-factory-prov-tool --target nrf52840 --device-id 18B4300000000001 \
    --prov-csv-file ./dev-provisioning-data.csv

নিম্নলিখিত সিএসভি কলাম সমর্থিত:

নাম বিন্যাস বিবরণ
Device_Id 16 হেক্স সংখ্যা বুনন ডিভাইস আইডি। উপস্থিত থাকতে হবে।
Serial_Num দড়ি ডিভাইস সিরিয়াল নম্বর।
Certificate বেস -64 স্ট্রিং প্রস্তুতকারকের দ্বারা বরাদ্দ করা ওয়েভ ডিভাইস শংসাপত্র।
Private_Key বেস -64 স্ট্রিং প্রস্তুতকারকের দ্বারা বরাদ্দ করা ওয়েভ ব্যক্তিগত কী।
Pairing_Code দড়ি জুড়ি কোডটি বুনুন।
Product_Rev পূর্ণসংখ্যা পণ্য পুনর্বিবেচনা নম্বর।
Mfg_Date হল YYYY / মাস / দিন ডিভাইস উত্পাদন তারিখ।

কলামগুলি কোনও ক্রমে সিএসভি ফাইলে উপস্থিত হতে পারে। Device_Id ব্যতীত সমস্ত কলাম Device_Id । CSV ফাইলের মধ্যে উপস্থিত না থাকা যেকোনো মান কেবল ডিভাইসে প্রস্তুত করা হয় না।

ব্যবহারকারী সিএসভি ফাইল ছাড়াও কমান্ড লাইনে স্বতন্ত্র প্রযোজনীয় মানগুলি নির্দিষ্ট করতে পারে, সেক্ষেত্রে কমান্ড লাইন মানটি ফাইলটিতে থাকা ব্যক্তির চেয়ে বেশি হয়।

কারখানা সরবরাহকারী সরঞ্জাম দ্বারা সিএসভি ফাইল ফর্ম্যাট সমর্থন weave সরঞ্জামের gen-provisioning-data কমান্ডের আউটপুট সঙ্গে সামঞ্জস্যপূর্ণ।

নীড় সরবরাহকারী সার্ভার

কারখানার প্রভিশন সরঞ্জামটি এইচটিটিপিএস ভিত্তিক প্রোটোকল ব্যবহার করে নীড়ের মর্যাদাপূর্ণ সার্ভার থেকে নির্বাচনযোগ্য প্রভিশন সম্পর্কিত তথ্য আনতে সহায়তা করে। প্রভিশন সার্ভার প্রোটোকলটি প্রযোজক সার্ভার থেকে প্রস্তুতকারকের দ্বারা বরাদ্দ করা ওয়েভ ডিভাইস শংসাপত্র, সংশ্লিষ্ট প্রাইভেট কী এবং ওয়েভ জুড়ি কোড আনতে ব্যবহার করা যেতে পারে।

প্রভিশনিং সার্ভারের নেটওয়ার্ক অবস্থানটি প্রভিশন সরঞ্জাম কমান্ড লাইনে একটি বেস URL সরবরাহ করে নির্দিষ্ট করা হয়। কমান্ড লাইনে ওয়েভ ডিভাইস আইডি নির্দিষ্ট করে কাঙ্ক্ষিত প্রভিশন তথ্য নির্বাচন করা হয়। উদাহরণ স্বরূপ:

 ./weave-factory-prov-tool --target nrf52840 --device-id 18B4300000000001 \
    --prov-server https://192.168.172.2:8000/

প্রভিশন সার্ভার ইউআরএল ছাড়াও কমান্ড লাইনে ব্যবহারকারী পৃথক বিধান মানগুলি নির্দিষ্ট করতে পারে। এই ক্ষেত্রে, কমান্ড লাইনে প্রদত্ত মানগুলি সার্ভারের দ্বারা প্রত্যাবর্তিত মানগুলির চেয়ে বেশি নজরে আসে।

সমর্থন সরবরাহ করার কারখানা সক্ষম / অক্ষম করা

ডিভাইস ফার্মওয়্যারের ওপেনওয়ে ফ্যাক্টরির সরবরাহের জন্য সমর্থনটি WEAVE_DEVICE_CONFIG_ENABLE_FACTORY_PROVISIONING সংকলন-সময় কনফিগারেশন বিকল্প দ্বারা নিয়ন্ত্রিত হয়। এই বিকল্পটি ডিফল্টরূপে সক্ষম করা হয়েছে। অ্যাপ্লিকেশনটির WeaveProjectConfig.h ফাইলটিতে বিকল্পটি ওভাররাইড করে বৈশিষ্ট্যটি অক্ষম করা যেতে পারে। উদাহরণ স্বরূপ:

#define WEAVE_DEVICE_CONFIG_ENABLE_FACTORY_PROVISIONING 0

সাধারণত ডিভাইস ডিবাগ ইন্টারফেস উত্পাদন ডিভাইসগুলিতে যথাযথভাবে অক্ষম করা হয় তবে প্রোডাকশন ডিভাইস ফার্মওয়্যারের ফ্যাক্টরির প্রভিশন সক্ষম করা নিরাপদ provided এটি হার্ডওয়ারের মাধ্যমে (উদাহরণস্বরূপ, এসসিতে ফিউজ ফুঁ দিয়ে), বা সফ্টওয়্যারে (উদাহরণস্বরূপ, সুরক্ষিত বুট লোডারের মাধ্যমে যা বুট প্রক্রিয়াটির অংশ হিসাবে ডিবাগ অ্যাক্সেসকে ব্লক করে) মাধ্যমে অর্জন করা যায়।

কারখানা সরবরাহকারী সরঞ্জাম চালানো

ওপেনওয়েভ কারখানা সরবরাহকারী সরঞ্জাম নিম্নলিখিত কমান্ড লাইন বিকল্পগুলি সমর্থন করে:

পছন্দ বিবরণ
- স্টেট <স্ট্রিং> টার্গেট ডিভাইসের ধরণ। পছন্দগুলি হ'ল : nrf52840 , esp32
- লোড-অ্যাডার <hex- ডিজিটস > ডিভাইস মেমরির ঠিকানা যেখানে প্রভিশন ডেটা লেখা হবে।
--verbose, -v আউটপুট ভার্বোসিটি স্তর সামঞ্জস্য করুন। ভার্বোসিটি বাড়াতে একাধিক যুক্তি ব্যবহার করুন।
--serial-num <স্ট্রিং> ডিভাইস সিরিয়াল নম্বর সেট করুন।
- ডিভাইস-আইডি <hex- ডিজিটস> প্রস্তুতকারকের দ্বারা বরাদ্দ ডিভাইস আইডি সেট করুন।
- ডিভাইস-সার্ট <বেসে-64> | <ফাইল-নাম> প্রস্তুতকারকের দ্বারা বরাদ্দ করা ওয়েভ ডিভাইস শংসাপত্র সেট করুন।
- ডিভাইস-কি <বেস / 64> | <ফাইল-নাম> প্রস্তুতকারকের দ্বারা বরাদ্দ করা ওয়েভ ডিভাইস ব্যক্তিগত কী সেট করুন।
- পেয়ারিং-কোড <স্ট্রিং> ডিভাইসের জুড়ি কোড সেট করুন।
- প্রোডাক্ট-রেভ <ইন্টিজার> ডিভাইসের জন্য পণ্য পুনর্বিবেচনা সেট করুন।
--mfg-তারিখ <YYYY / এমএম / ডিডি> | আজ | এখন ডিভাইসের উত্পাদন তারিখ সেট করুন।
--jlink-cmd <path-name> JLink কমান্ডের পথে Path 'JLinkExe' এ ডিফল্ট।
--jlink-if SWD | JTAG জে-লিংক ইন্টারফেস টাইপ। এসডাব্লুডিতে ডিফল্ট।
- জ্লিংক-গতি <ইনটিজার> | অভিযোজিত | স্বয়ংক্রিয় জে-লিংক ইন্টারফেস গতি।
--jlink-sn <string> জে-লিঙ্ক প্রোবের ক্রমিক নম্বর।
--esptool-cmd <path-name> এসপ্টোল কমান্ডের পথে। 'Esptool.py' এ ডিফল্ট।
--port <path-name> ESP32 এর জন্য COM পোর্ট ডিভাইসের নাম। / Tty / USB0 এ ডিফল্ট।
- স্পিড < ইন্টেজার > সিওএম পোর্টের জন্য বাড রেট। 115200 এ ডিফল্ট।
--prov-csv-file <ফাইল / নাম> কোনও প্রভিশনিং সিএসভি ফাইল থেকে ডিভাইস প্রভিশনিং ডেটা পড়ুন।
--প্রোভ-সার্ভার <url> কোনও প্রভিশন সার্ভার থেকে ডিভাইস প্রভিশনিং ডেটা পড়ুন।
--disable-সার্ভার-বৈধতা এইচটিটিপিএস ব্যবহার করার সময়, বিধানকারী সার্ভারের দ্বারা উপস্থাপিত শংসাপত্রের বৈধতা অক্ষম করুন।

উদাহরণ

নিম্নলিখিত কমান্ডটি ডিভাইসের আইডি, ক্রমিক সংখ্যা, পণ্য পুনর্বিবেচনা এবং জুটি কোডটি নির্দিষ্ট মানগুলিতে সেট করে। উত্পাদন তারিখটি বর্তমান তারিখে সেট করা আছে। এবং ডিভাইস শংসাপত্র এবং প্রাইভেট কী openweave-core উত্স সংগ্রহস্থল সরবরাহ করে একটি সিএসভি ফাইলে প্রদত্ত মান পরীক্ষা করতে সেট করা আছে।

 ./weave-factory-prov-tool --target nrf52840 --device-id 18B4300000000042 \
    --serial-num JAYS_DEVICE_42 --product-rev 1 --pairing-code NESTUS --mfg-date today \
    --prov-csv-file ~/projects/openweave-core/certs/development/device/test-dev-provisioning-data.csv