বর্ডার রাউটার টেস্ট হারনেস সেটআপ

ওপেন থ্রেড বর্ডার রাউটার (OTBR) ডিভাইস আন্ডার টেস্ট (DUT) এর সাথে ব্যবহারের জন্য GRL থ্রেড টেস্ট হারনেস এবং OpenThread হারনেস অটোমেশন টুলের সেট আপ সার্টিফিকেশন অটোমেশন সেটআপ গাইডের মতোই। এখানে বিস্তারিত পরিবর্তনের সাথে একত্রে সেই নির্দেশিকাটি ব্যবহার করুন।

OTBR-এর মতো NCP ডিজাইনের জন্য, OpenThread একটি OpenThread_WpanCtl.py উদাহরণ থ্রেড হোস্ট কন্ট্রোল ইন্টারফেস (THCI) প্রদান করে যা টেস্ট হারনেসকে NCP নিয়ন্ত্রণ করতে দেয়। একটি NCP ডিভাইসের জন্য দুটি সংযোগ মোড আছে:

  • একটি সিরিয়াল পোর্ট সংযোগ ব্যবহার করা (টেস্ট হারনেসের স্বয়ংক্রিয় আবিষ্কার বৈশিষ্ট্য ব্যবহারের জন্য প্রস্তাবিত)
  • একটি SSH সংযোগ ব্যবহার করে

অন্যথায় উল্লেখ করা না থাকলে, নীচের সমস্ত ইনস্টলেশন এবং কনফিগারেশন ধাপগুলি GRL টেস্ট হারনেস সফ্টওয়্যার চালিত Windows মেশিনে ঘটে, যা চালিয়ে যাওয়ার আগে ইনস্টল করা উচিত।

THCI সমর্থন ফাইলগুলি অনুলিপি করুন

আপনার Windows মেশিনে THCI এর সর্বশেষ সংস্করণ আছে তা নিশ্চিত করুন। OpenThread সংগ্রহস্থল ক্লোন করুন, অথবা যদি আপনার ইতিমধ্যেই থাকে তবে এটিকে main শাখায় স্যুইচ করুন:

git clone https://github.com/openthread/openthread
cd openthread
git checkout main

/tools/harness-thci থেকে নিম্নলিখিত ফাইলগুলি অনুলিপি করুন ক্লোন করা OpenThread সংগ্রহস্থলে Windows মেশিনে নির্দিষ্ট ডিরেক্টরিগুলিতে:

উৎস ফাইল ডিরেক্টরিতে কপি করুন
deviceInputFields.xml C:\GRL\Thread1.1\Web\data\
OpenThread_WpanCtl.py C:\GRL\Thread1.1\Thread_Harness\THCI\
OpenThread_WpanCtl.png C:\GRL\Thread1.1\Web\images\

সংযোগের ধরন সেট আপ করুন

এনসিপি-র টেস্ট হারনেস নিয়ন্ত্রণের জন্য, একটি সিরিয়াল পোর্ট সংযোগ বা একটি SSH সংযোগ সেট আপ করুন৷

রাস্পবেরি পাই 3B (RPi3B) তে, সিরিয়াল পোর্ট এবং লগইন শেল সক্ষম করুন:

  1. কনফিগারেশন মেনু লিখুন:
    sudo raspi-config
  2. কনফিগারেশন মেনুতে, 5টি ইন্টারফেসিং বিকল্প নির্বাচন করুন।
  3. ইন্টারফেসিং অপশন মেনুতে, P6 সিরিয়াল সক্ষম/অক্ষম নির্বাচন করুন।
  4. RPi3B পুনরায় চালু করুন।

উইন্ডোজ মেশিনে টেস্ট হারনেস চলছে:

OTBR FT232 সংযোগ
  1. FT232 ড্রাইভার ডাউনলোড এবং ইনস্টল করুন।
  2. Windows মেশিনে একটি USB স্লটে FT232 USB থেকে UART অ্যাডাপ্টার সংযোগ করুন।
  3. FT232 এ ভোল্টেজ জাম্পার 3.3V এ সেট করুন।
  4. নিম্নলিখিত পিন এবং ডুপন্ট লাইন ব্যবহার করে FT232 কে RPi3B এর সাথে সংযুক্ত করুন:
    RPi3B পিন FT232 পিন ডুপন্ট লাইন
    পিন6 জিএনডি সাদা
    পিন8 আরএক্সডি হলুদ
    পিন10 TXD লাল
  5. একবার সংযুক্ত হয়ে গেলে, উইন্ডোজ মেশিনটি পুনরায় চালু করুন।
  6. পাইথন পাইসিরিয়াল মডিউল ব্যবহার করে ডিভাইস সিরিয়াল পোর্ট হার্ডওয়্যার শনাক্তকারী খুঁজুন:
    1. উইন্ডোজ মেশিনে pySerial ইনস্টল করুন
    2. মেশিনের সাথে সংযুক্ত ডিভাইসগুলির জন্য সমস্ত হার্ডওয়্যার শনাক্তকারী (ভিআইডি এবং পিআইডি) গণনা করতে উইন্ডোজ কমান্ড লাইনে পাইথন ব্যবহার করুন। এই আউটপুটে, VID_0403+PID_6001 এর একটি শনাক্তকারীর সাথে একটি NCP ডিভাইস সংযুক্ত আছে।
      python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: FTDIBUS\VID_0403+PID_6001+AL01WOSZA\0000
    3. আপনি যদি ইতিমধ্যেই COM পোর্টটি জানেন তবে আপনি একটি ভিন্ন কমান্ড ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি COM পোর্টটি COM10 হয়:
      python -c "import serial.tools.list_ports;print [ports[2] for ports in serial.tools.list_ports.comports() if ports[0] == 'COM10']"
      ['FTDIBUS\VID_0403+PID_6001+AL01WP6MA\0000']
  7. গোল্ডেন ডিভাইস তালিকা আপডেট করুন:
    1. C:\GRL\Thread1.1\Config\Configuration.ini খুলুন
    2. GoldenDeviceHardwareIds অ্যারেতে একটি OpenThread_WpanCtl গ্রুপিং যোগ করুন ডিভাইস(গুলি) এর VID এবং PID সহ:
      GoldenDeviceHardwareIds = {
      'NXP': ['VID:PID=1FC9:0300','VID:PID=15A2:0300','VID:PID=1366:1015'],
      'SiLabs': 'VID:PID=10C4:8A5E',
      'ARM': 'VID:PID=0D28:0204',
      'OpenThread':['VID:PID=10C4:EA60', 'VID:PID=1915:CAFE'],
      'OpenThread_WpanCtl':['VID_0403+PID_6001’]}

সমস্ত কনফিগারেশন সম্পূর্ণ হলে:

  1. GRL টেস্ট জোতা শুরু করুন।
  2. কনফিগার টেস্ট বেড পৃষ্ঠায়, ডিভাইস/পোর্ট এখন একটি OT NCP ডিভাইস হিসাবে উপস্থিত হয়।

    টেস্ট হারনেস শুরু হওয়ার পর টেস্ট বেড বিভাগে DUT তালিকাভুক্ত না হলে, OpenThread WpanCtl: wpantund+NCP ডিভাইসটিকে সমর্থিত হার্ডওয়্যার বিভাগ থেকে টেস্ট বেড বিভাগে টেনে ম্যানুয়ালি যোগ করুন। টেনে আনার পর:

    1. নিশ্চিত করুন সঠিক সিরিয়াল লাইন (COM পোর্ট) এবং গতি (বড রেট) মানগুলি জনবহুল।
    2. টেস্ট হারনেস এবং OT NCP ডিভাইসের মধ্যে সিরিয়াল সংযোগ স্থাপন করতে স্পিড ক্ষেত্রের নীচের তীর বোতামে ক্লিক করুন।
  3. সমর্থিত হার্ডওয়্যার তালিকার নীচে অটো DUT ডিভাইস নির্বাচন সক্ষম করুন চেকবক্স নির্বাচন করুন।

  4. OT NCP ডিভাইসটিকে DUT হিসাবে সেট করতে লক্ষ্য ডিভাইস/পোর্টের অধীনে DUT হিসাবে সেট করুন রেডিও বোতামটি নির্বাচন করুন।

OTBR সার্টিফিকেশন SSH

SSH সংযোগ

RPi3B-তে, SSH সক্ষম করুন:

  1. বুটে SSH পরিষেবা সক্রিয় করুন:
    sudo systemctl enable ssh
  2. SSH পরিষেবা শুরু করুন:
    sudo systemctl start ssh

হেডলেস RPi3B-তে SSH সক্রিয় করতে, Raspberry Pi SSH ডকুমেন্টেশনের ধাপ 3 দেখুন।

উইন্ডোজ মেশিনে টেস্ট হারনেস চলছে:

  1. জিআরএল এর পাইথন পরিবেশের জন্য প্যারামিকো ইনস্টল করুন:
    cd C:\GRL\Python2.7
    python -m pip install --upgrade pip
    python -m pip install paramiko
  2. GRL টেস্ট জোতা শুরু করুন।
  3. টেস্ট বেড কনফিগার করুন পৃষ্ঠায়, OpenThread WpanCtl SSH: wpantund+NCP ডিভাইসটিকে সমর্থিত হার্ডওয়্যার বিভাগ থেকে টেস্ট বেড বিভাগে টেনে আনুন।
  4. ডিভাইসের জন্য 192.168.1.100 এবং PORT 22 দিয়ে আইপি অ্যাডার পূরণ করুন।
  5. টেস্ট হারনেস এবং OT NCP ডিভাইসের মধ্যে একটি SSH সংযোগ স্থাপন করতে PORT ক্ষেত্রের নীচের তীর বোতামে ক্লিক করুন।
OTBR সার্টিফিকেশন SSH

অটোমেশন সেটআপ

হারনেস অটোমেশন টুল কিভাবে সেট আপ করতে হয় তার নির্দেশাবলীর জন্য সার্টিফিকেশন অটোমেশন সেটআপ গাইড থেকে ইনস্টল এবং কনফিগারের ধাপগুলি দেখুন।

টেস্ট কেস চালান

কিভাবে OTBR DUT-তে সার্টিফিকেশন টেস্ট কেস চালাতে হয় তা জানতে রানিং সার্টিফিকেশন টেস্ট কেস দেখুন।

সমস্যা সমাধান

ডিভাইস রিবুট

আপনার যদি RPi3B রিবুট করার প্রয়োজন হয়, টেস্ট হারনেস সফ্টওয়্যারটি বন্ধ করুন এবং পুনরায় বুট হওয়ার পরে কমপক্ষে 20 সেকেন্ড অপেক্ষা করুন যাতে আবার টেস্ট হারনেস শুরু হয়।

টেস্ট হারনেস বর্ডার রাউটার আবিষ্কার করতে ব্যর্থ হয়েছে

সিরিয়াল পোর্ট সংযোগ ব্যবহার করার সময়, টেস্ট হারনেস বর্ডার রাউটার আবিষ্কার করতে পারে না। যদি এটি হয়:

  1. একটি শেল লগইন সিরিয়াল পোর্টের জন্য কাজ করে কিনা তা পরীক্ষা করুন, PuTTY এর মতো একটি টুল ব্যবহার করে।
    1. FT232 ডিভাইসের জন্য COM পোর্ট এবং 115200 এর গতি (বড রেট) ব্যবহার করুন।
    2. লগইন ব্যর্থ হলে, সমস্ত ডিভাইস রিবুট করুন এবং আবার চেষ্টা করুন।
  2. RPi3B-তে, wpantund এর স্থিতি পরীক্ষা করুন:
    sudo service wpantund status
    যদি স্ট্যাটাস "অস্বাভাবিক" হয়:
    1. নিশ্চিত করুন যে nRF52840 NCP বোর্ড মাউন্ট করা হয়েছে:
      ls /dev/tty*
      /dev/ttyACM0
    2. যাচাই করুন যে এই পোর্টটি wpantund কনফিগারেশনের সাথে মেলে:
      // default value in '/etc/wpantund.conf'
      Config:NCP:SocketPath "/dev/ttyACM0"
    3. wpantund পুনরায় আরম্ভ করুন:
      sudo service wpantund restart