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

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

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

  • استخدام اتصال منفذ تسلسلي (مقترَح لاستخدام ميزة الاكتشاف التلقائي لـ Test Harness)
  • استخدام اتصال 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.3V.
  4. وصِّل FT232 بلعبة RPi3B باستخدام الدبابيس وخطوط Dupont التالية:
    دبوس RPi3B رقم التعريف الشخصي لـ FT232 خط دوبونت
    رقم تعريف شخصي 6 شبكة أبيض
    رقم PIN8 RXD أصفر
    رقم التعريف الشخصي 10 300 أحمر
  5. بعد الاتصال، أعد تشغيل جهاز Windows.
  6. ابحث عن معرّف جهاز المنفذ التسلسلي للجهاز، باستخدام وحدة Python 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 باستخدام معرّف المورِّد (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 في قسم Test Bed (اختبار السرير) بعد بدء "استخدام مجموعة الاختبار"، يمكنك إضافته يدويًا من خلال سحب جهاز OpenThread WpanCtl: wpantund+NCP من القسم Hardware Hardware (الأجهزة المتوافقة) إلى القسم Test (Bed) "سرير الاختبار". بعد السحب:

    1. تأكَّد من تعبئة القيم الصحيحة للخط التسلسلي (منفذ COM) والسرعة (معدل الباود).
    2. انقر على زر السهم أسفل حقل السرعة لإنشاء اتصال تسلسلي بين ميزة "اختبار الاختبار" وجهاز NOT خارج الشبكة.
  3. حدد مربع الاختيار تمكين تحديد الجهاز تلقائيًا أسفل قائمة الأجهزة المتوافقة.

  4. حدد زر الاختيار تعيين كـ DUT ضمن الجهاز/المنفذ المُعيّن لتعيين الجهاز OT NCP باعتباره DUT.

شهادة بروتوكول النقل الآمن عبر الإنترنت (SBR)

اتصال SSH

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

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

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

على جهاز 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 وPORT بالرقم 22 للجهاز.
  5. انقر على زر السهم أسفل الحقل PORT (المنفذ) لإنشاء اتصال SSH بين "مجموعة الاختبار" وجهاز OT NCP.
شهادة بروتوكول النقل الآمن عبر الإنترنت (SBR)

إعداد التشغيل التلقائي

يُرجى الاطّلاع على خطوات التثبيت والضبط من دليل إعداد الأتمتة التلقائية للحصول على تعليمات حول كيفية إعداد "أداة أتمتة التوافق مع الأجهزة الجوّالة".

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

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

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

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

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

أخفق اختبار الحزام في اكتشاف جهاز توجيه الحدود

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

  1. تحقق مما إذا كانت معلومات تسجيل الدخول إلى Shell تعمل مع المنفذ التسلسلي، باستخدام أداة مثل PuTTY.
    1. استخدم منفذ COM لجهاز FT232 وسرعة (باود) 115200.
    2. إذا أخفق تسجيل الدخول، فأعد تشغيل جميع الأجهزة وحاول مرة أخرى.
  2. على RPi3B، تحقَّق من حالة wpantund:
    sudo service wpantund status
    إذا كانت الحالة "غير طبيعي":
    1. تأكَّد من تثبيت لوحة NNF52840 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