إعداد حزام اختبار جهاز توجيه الحدود

إنّ إعداد حِزمة اختبار GRL Thread و"أداة التشغيل الآلي لحِزمة OpenThread" لاستخدامها مع جهاز الاختبار (DUT) لجهاز OpenThread Border Router (OTBR) هو مماثل لإعدادات دليل إعداد التشغيل الآلي للحصول على الشهادة . استخدِم هذا الدليل مع التغييرات الموضّحة بالتفصيل هنا.

بالنسبة إلى تصميم وحدة التحكّم في الشبكة مثل OTBR، يوفّر OpenThread OpenThread_WpanCtl.py مثالاً على واجهة التحكّم في مضيف Thread (THCI) التي تسمح لحزمة الاختبار بالتحكّم في وحدة التحكّم في الشبكة. هناك وضعان للاتصال بجهاز NCP:

  • استخدام اتصال منفذ تسلسلي (يُنصح باستخدام ميزة الاكتشاف التلقائي في "أداة الاختبار")
  • باستخدام اتصال SSH

ما لم يُذكر خلاف ذلك، يتم تنفيذ جميع خطوات التثبيت والضبط أدناه على جهاز Windows الذي يعمل ببرنامج GRL Test Harness، والذي يجب تثبيته قبل المتابعة.

نسخ ملفات دعم THCI

تأكَّد من تثبيت أحدث إصدار من THCI على جهاز Windows. يمكنك استنساخ مستودع 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\

إعداد نوع الاتصال

للتحكّم في وحدة الاختبار في وحدة التحكّم في الطاقة (NCP)، عليك إعداد اتصال بمنفذ تسلسلي أو اتصال SSH.

على جهاز Raspberry Pi 3B (RPi3B)، فعِّل المنفذ التسلسلي وقشرة تسجيل الدخول:

  1. أدخِل قائمة الإعدادات:
    sudo raspi-config
  2. في قائمة الإعدادات، اختَر 5 خيارات واجهة.
  3. في قائمة "خيارات الواجهة"، اختَر تفعيل/إيقاف المسلسل التسلسلي P6.
  4. أعِد تشغيل جهاز RPi3B.

على جهاز Windows تشغيل مفعِّل الاختبار:

اتصال OTBR FT232
  1. نزِّل برنامج تشغيل ملف تعريف جهاز مهايئ FT232 وثبِّته.
  2. وصِّل محوِّل FT232 USB إلى UART بفتحة USB على جهاز Windows.
  3. اضبط رابط الجهد الكهربي على FT232 على 3.3 فولت.
  4. وصِّل FT232 بجهاز RPi3B باستخدام دبابيس وخطوط Dupont التالية:
    رقم تعريف RPi3B رقم التعريف الشخصي FT232 خط Dupont
    Pin6 دولار هونغ كونغ أبيض
    Pin8 RXD أصفر
    Pin10 TXD أحمر
  5. بعد الاتصال، أعِد تشغيل جهاز Windows.
  6. ابحث عن معرّف الجهاز للمنفذ التسلسلي باستخدام وحدة pySerial في بايثون:
    1. ثبِّت pySerial على جهاز Windows.
    2. استخدام Python على سطر أوامر Windows لتعداد جميع معرّفات الأجهزة (VID وPID) للأجهزة المتصلة بالجهاز في هذا الإخراج، تم ربط جهاز NCP واحد بمعرّف VID_0403+PID_6001.
      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. أضِف مجموعة OpenThread_WpanCtl إلى صفيف GoldenDeviceHardwareIds مع معرّفَي 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 كجهاز اختبار وظيفي.

شهادة OTBR لبروتوكول SSH

اتصال بروتوكول النقل الآمن (SSH)

على RPi3B، فعِّل بروتوكول النقل الآمن (SSH):

  1. فعِّل خدمة SSH عند بدء التشغيل:
    sudo systemctl enable ssh
  2. ابدأ خدمة SSH:
    sudo systemctl start ssh

لتفعيل بروتوكول النقل الآمن (SSH) على جهاز RPi3B بدون شاشة، اطّلِع على الخطوة 3 من مستندات SSH لجهاز Raspberry Pi .

على جهاز Windows تشغيل مفعِّل الاختبار:

  1. ثبِّت Paramiko لبيئة Python في GRL:
    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. املأ عنوان IP بـ 192.168.1.100 والمنفذ بـ 22 لجهاز العميل.
  5. انقر على زر السهم أسفل حقل PORT لإنشاء اتصال SSH بين مجموعة الاختبار وجهاز OT NCP.
شهادة OTBR لبروتوكول SSH

إعداد التشغيل الآلي

اطّلِع على خطوات التثبيت والضبط من دليل إعداد ميزة "الاعتماد الآلي" للحصول على تعليمات حول كيفية إعداد أداة التشغيل الآلي في Harness.

إجراء حالات الاختبار

اطّلِع على تشغيل حالات اختبار الاعتماد للتعرّف على كيفية تشغيل حالات اختبار الاعتماد على جهاز OTBR DUT.

تحديد المشاكل وحلّها

تتم إعادة تشغيل الجهاز

إذا كنت بحاجة إلى إعادة تشغيل RPi3B، عليك إغلاق برنامج Test Harness والانتظار لمدة 20 ثانية على الأقل بعد اكتمال عملية إعادة التشغيل لبدء Test Harness مرة أخرى.

تعذّر على أداة اختبار الأداء اكتشاف جهاز "جهاز التوجيه الحدودي"

عند استخدام اتصال منفذ تسلسلي، قد لا يرصد "حِزمة الاختبار" جهاز التوجيه الحدودي. في هذه الحالة:

  1. تحقَّق مما إذا كان تسجيل الدخول إلى Shell يعمل مع المنفذ التسلسلي باستخدام أداة مثل PuTTY.
    1. استخدِم منفذ COM لجهاز FT232 وسرعة (معدل نقل البيانات) تبلغ 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