Google is committed to advancing racial equity for Black communities. See how.
This page was translated by the Cloud Translation API.
Switch to English

ভিজ্যুয়ালাইজেশন সহ একটি থ্রেড নেটওয়ার্ক পরীক্ষা করা

5abd22afa2f2ee9a.png

থ্রেড, ওপেনথ্রেড, ওটিএনএস এবং সিল্ক কী?

থ্রেড একটি আইপি-ভিত্তিক লো-পাওয়ার ওয়্যারলেস জাল নেটওয়ার্কিং প্রোটোকল যা নিরাপদ ডিভাইস থেকে ডিভাইস এবং ডিভাইস থেকে ক্লাউড যোগাযোগ সক্ষম করে। থ্রেড নেটওয়ার্কগুলি ব্যর্থতার একক পয়েন্ট এড়াতে টপোলজি পরিবর্তনের সাথে মানিয়ে নিতে পারে।

গুগল দ্বারা প্রকাশিত ওপেনথ্রেড হ'ল থ্রেডের একটি মুক্ত-উত্স বাস্তবায়ন। এর ছোট কোডের আকার এবং মেমরির পদচিহ্ন থাকা সত্ত্বেও, ওপেনথ্রেড থ্রেড 1.1.1 নির্দিষ্টকরণে সংজ্ঞায়িত সমস্ত বৈশিষ্ট্য সমর্থন করে।

ওপেনথ্রেড নেটওয়ার্ক সিমুলেটর (ওটিএনএস) পোস্টিক্স প্ল্যাটফর্মগুলিতে সিমুলেটেড ওপেনথ্রেড নোডগুলি চালিয়ে থ্রেড নেটওয়ার্কগুলি অনুকরণ করতে ব্যবহার করা যেতে পারে। সিমুলেটেড থ্রেড নেটওয়ার্কগুলি ভিজ্যুয়ালাইজ এবং অপারেটিংয়ের জন্য ওটিএনএস একটি সহজেই ব্যবহারযোগ্য ওয়েব ইন্টারফেস (ওটিএনএস-ওয়েব) সরবরাহ করে।

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

আপনি কি শিখবেন

  • ওপেনথ্রেডের কার্যকারিতা যাচাইকরণ কাঠামো: সিল্ক
  • ওটিএনএস বৈশিষ্ট্য সক্ষম করে রিয়েল ডিভাইসের জন্য ওপেনথ্রেড তৈরি করুন
  • সিল্ক পরীক্ষার কেস চালিয়ে থ্রেড নেটওয়ার্কের স্থিতি পর্যবেক্ষণ করতে ওটিএনএস-ওয়েব ইন্টারফেস ব্যবহার করুন

এই কোডল্যাব ওটিএনএস সহ সিল্ক ব্যবহারের দিকে দৃষ্টি নিবদ্ধ করে। সিল্ক এবং ওটিএনএসের অন্যান্য বৈশিষ্ট্যগুলি কভার করা হয়নি।

আপনার যা দরকার

হার্ডওয়্যার:

  • 6 নর্ডিক অর্ধপরিবাহী nRF52840 দেব বোর্ড bo
  • বোর্ডগুলি সংযুক্ত করতে 6 ইউএসবি থেকে মাইক্রো-ইউএসবি কেবলগুলি
  • ইউএসবি হাব

সফটওয়্যার:

  • লিনাক্স x86_64।
  • গিট
  • 1.11+ যান
  • ওয়েব ব্রাউজার ওটিএনএস-ওয়েব সিমুলেশনগুলি প্রদর্শনের জন্য একটি ওয়েব ব্রাউজার ব্যবহার করে।

পূর্বশর্ত:

পূর্ববর্তী বেসিক কোডলাবগুলি সম্পূর্ণ করুন

প্যাকেজ শর্তাদি পরীক্ষা করা হচ্ছে

আসুন নিশ্চিত হয়ে নিন যে সমস্ত পূর্বশর্তগুলি পূরণ হয়েছে।

  1. otns $PATHotns কিনা তা পরীক্ষা করতে which otns চালান।
  2. রান which wpantund নিশ্চিত করতে wpantund পাওয়া যায়।
  3. নিশ্চিত হয়ে নিন যে এআরএম জিএনইউ nrfjprog , জে-লিংক এবং nrfjprog প্যাকেজগুলি সমস্ত উপলব্ধ।
  4. openthread ফোল্ডারের অধীনে make -f examples/Makefile-nrf52840 চালিয়ে একটি ওপেনথ্রেড বাইনারি তৈরি করা যায় তা নিশ্চিত করুন।

দ্রষ্টব্য: নির্দেশিকা নির্ধারণের জন্য দয়া করে লিঙ্কযুক্ত নথিগুলি দেখুন to পূর্বশর্ত # 1 হ'ল সিমুলেট থ্রেড নেটওয়ার্কগুলি ওটিএনএস ব্যবহার করে এবং অন্যরা এনআরএফ 52840 বোর্ড এবং ওপেনথ্রেড সহ একটি থ্রেড নেটওয়ার্ক তৈরি করুন

সিল্কের ক্লোন করতে এবং পরিবেশ স্থাপন করতে, আপনার উত্স ডিরেক্টরিতে নিম্নলিখিত কমান্ডগুলি চালনা করুন:

$ git clone https://github.com/openthread/silk.git
$ cd silk
$ ./bootstrap.sh
$ sudo make install-cluster

হার্ডওয়্যার কনফিগারেশন ফাইল সংজ্ঞায়িত করুন

সিল্ককে আপনার মেশিনে সংযুক্ত উপলব্ধ পরীক্ষামূলক হার্ডওয়্যার সংস্থানগুলি সংগ্রহ করার অনুমতি দেওয়ার জন্য, নিম্নলিখিত ফর্ম্যাটটিতে একটি hwconfig.ini ফাইলটি সংজ্ঞায়িত করুন:

[DEFAULT]
ClusterID: 0
LayoutCenter: 300, 300
LayoutRadius: 100

[Dev-8A7D]
HwModel: Nrf52840
HwRev: 1.0
InterfaceSerialNumber: E1A5012E8A7D
USBInterfaceNumber: 1
DutSerial: 683536778

usbinfo অংশ হিসাবে usbinfo নামক একটি সরঞ্জাম ইনস্টল করা হয়েছে যা ইন্টারফেস সিরিয়াল নম্বর এবং ইউএসবি ইন্টারফেস নম্বর বের করার জন্য ব্যবহার করা যেতে পারে। ডুটসারিয়াল হ'ল চিপে মুদ্রিত এসএন নম্বর বা জে-লিংক পণ্যগুলির জন্য usbinfo দ্বারা প্রদর্শিত।

[DEFAULT] বিভাগের লেআউট LayoutCenter এবং LayoutRadius ক্ষেত্রগুলি যখন LayoutRadius LayoutCenter ডিভাইসগুলি ভিজ্যুয়ালাইজ করা হয় তখন বিন্যাসটির আকৃতিটি সংজ্ঞায়িত করে। এখানে উপস্থাপিত মানগুলিতে সেট করা একটি ভাল সূচনা পয়েন্ট হতে পারে।

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

বিল্ডিং চিত্র এবং ঝলকানি

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

$ cd openthread
$ make -f examples/Makefile-nrf52840 clean
$ make -f examples/Makefile-nrf52840 COMMISSIONER=1 JOINER=1 USB=1 OTNS=1
$ cd output/nrf52840/bin
$ arm-none-eabi-objcopy -O ihex ot-ncp-ftd ot-ncp-ftd.hex

বোর্ড ফ্ল্যাশ, এর ধাপ 4 নির্দেশগুলি অনুসরণ বিল্ড একটি থ্রেড নেটওয়ার্কের Codelab ব্যবহার করতে nrfjprog । এর পরে, সমস্ত বোর্ডকে এনআরএফ ইউএসবি পোর্টের মাধ্যমে হোস্ট মেশিনে সংযুক্ত করুন। একই সেট ইউএসবিতে মাইক্রো-ইউএসবি কেবলগুলি জে-লিংক পোর্টগুলি থেকে সংযোগ বিচ্ছিন্ন করা যেতে পারে এবং এনআরএফ 52840 দেব বোর্ডগুলির এনআরএফ ইউএসবি পোর্টগুলির সাথে সংযুক্ত করা যেতে পারে। এই মাত্র 6 টি তারের সাহায্যে পরীক্ষা কার্যকর করা যায়। ঝামেলা এড়াতে, 12 টি কেবল ব্যবহার করুন এবং উভয় বন্দরটিতে সংযোগ করুন।

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

otns -raw -real -ot-cli otns-silk-proxy

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

4dd5b41bf7e71334.png

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

silk/unit_tests এ থাকা silk_run_test.py ফাইল আপনাকে একটি প্রধান silk/unit_tests দেয়। পরীক্ষার মামলা চলাকালীন সিল্ক OTNS সহায়তা সরবরাহ করে। যেহেতু ওটিএনএসের রিয়েল মোড পরিষেবাটি ইতিমধ্যে স্থানীয়ভাবে চলছে, তাই আমাদের কেবল একটি আউটপুট লগ ফাইল, ইনপুট পরীক্ষার স্ক্রিপ্ট এবং hwconfig.ini ফাইলের জন্য কাঙ্ক্ষিত অবস্থানগুলি সহ silk_run_test.py ফাইলটি পরিবর্তন করতে হবে। -S -s localhost আর্গুমেন্ট সিল্ককে localhost ওটিএনএস বার্তা প্রেরণ করতে বলে।

উদাহরণস্বরূপ, কেউ silk_run_test.py ফাইলটিতে নিম্নলিখিত পরিবর্তনগুলি ব্যবহার করে ot_test_form_network.py নামে একটি পরীক্ষা চালাতে পারেন। /opt/openthread_test/ ডিফল্ট পাথ সিল্ক লগ আউটপুট এবং কনফিগারেশন ফাইলের জন্য ব্যবহার করে তবে আপনি যে কোনও পথ ব্যবহার করতে পারেন।

সিল্ক_আরুন_টেষ্ট.পি

import datetime
import os

from silk.tests import silk_run

RESULT_LOG_PATH = '/opt/openthread_test/results/' + 'silk_run_' + \
                  datetime.datetime.today().strftime('%m-%d') + '/'
CONFIG_PATH = '/opt/openthread_test/'

os.chdir('~/src/silk/silk/tests/')

timestamp = datetime.datetime.today().strftime('%m-%d-%H:%M')

run_log_path = RESULT_LOG_PATH + 'test_run_on_' + timestamp + '/'

argv = [
    'tests/silk_run.py',
    '-v2',
    '-c', CONFIG_PATH + 'hwconfig.ini',
    '-d', run_log_path,
    '-s', 'localhost',
    'ot_test_form_network.py'
]

silk_run.SilkRunner(argv=argv)

গঠিত নেটওয়ার্কটির টপোলজি ভিজুয়ালাইজেশন ওটিএনএস ওয়েব ইউআইতে প্রদর্শিত হবে।

ee443b66e0a6620b.png

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

5c38e2c72519e620.png

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

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

এরপর কি?

সিল্ক প্যাকেজের অন্তর্ভুক্ত অন্যান্য ওপেনথ্রেড পরীক্ষার কেস চালানোর চেষ্টা করুন।

আরও পড়া

বিভিন্ন ওপেনথ্রেড সংস্থার জন্য ওপেনথ্রেড.আইও এবং সিল্ক পরীক্ষা করে দেখুন Check

রেফারেন্স ডক্স