רתמת בדיקה של נתב גבולות

הגדרה של רתמת הבדיקה של שרשורי ה-GRL והכלי לאוטומציה של רתמת ה-OpenThread לשימוש במכשיר של Openthread Border Router (OTBR) זהה למדריך להגדרת אוטומציה של אישורים. השתמשו במדריך הזה יחד עם השינויים המפורטים כאן.

לעיצוב NCP כמו OTBR, ב-OpenThread יש OpenThread_WpanCtl.py דוגמה לממשק בקרה למארחים בשרשור (THCI) שמאפשר לרתמת הבדיקה לשלוט ב-NCP. יש שני מצבי חיבור למכשיר NCP:

  • שימוש בחיבור יציאה טורית (מומלץ לשימוש בתכונת הגילוי האוטומטי של רתימת הבדיקה)
  • שימוש בחיבור SSH

אלא אם צוין אחרת, כל שלבי ההתקנה וההגדרות בהמשך מתרחשים במחשב Windows שבו מותקנת תוכנת GRL Test Harm שיש להתקין לפני המשך התהליך.

העתקה של קובצי התמיכה של 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 של NCP, צריך להגדיר חיבור יציאה טורית או חיבור SSH.

ב-Raspney Pi 3B (RPi3B), מפעילים את היציאה הטורית ואת מעטפת ההתחברות:

  1. פותחים את תפריט ההגדרות:
    sudo raspi-config
  2. בתפריט ההגדרות, בוחרים באפשרות 5 אפשרויות ממשק.
  3. בתפריט 'אפשרויות ממשק', בוחרים באפשרות P6 Serial Enable/Disabled.
  4. מפעילים מחדש את RPi3B.

במחשב Windows שבו מופעלת התכונה 'מסגרת בדיקה':

חיבור OTBR FT232
  1. מורידים ומתקינים את מנהל ההתקנים של FT232.
  2. מחברים את המתאם FT232 USB ל-UART לחריץ USB במחשב של Windows.
  3. מכווננים את מתח המתח ב-FT232 ל-3.3V.
  4. יש לחבר את ה-FT232 ל-RPi3B באמצעות הסיכות והקווים הבאים של Dupont:
    פין RPi3B FT232 פינים דופון קו
    קוד אימות 6 GND לבן
    הצמדה8 ימני צהוב
    הצמדה10 טקסס אדום
  5. לאחר ההתחברות, מפעילים מחדש את המחשב עם Windows.
  6. מאתרים את מזהה החומרה של יציאה טורית במכשיר באמצעות המודול pySerial של Python:
    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 מהקטע Hardware Hardware, בקטע Hardware Bed. לאחר הגרירה:

    1. מוודאים שהערכים הנכונים של השורה הטורית (יציאת COM) ומהירות (קצב שידור) מאוכלסים.
    2. לוחצים על לחצן החץ מתחת לשדה Speed כדי ליצור את החיבור הטורי בין 'מסגרת הבדיקה' למכשיר ה-OT NCP.
  3. מסמנים את התיבה Enable Auto DUT Device Select (הפעלה אוטומטית של בחירת מכשירים אוטומטית) מתחת לרשימת המכשירים הנתמכים.

  4. לוחצים על לחצן הבחירה Set as DUT (הגדרה כ-DUT) מתחת למכשיר היעד/יציאה, כדי להגדיר את ה-OTT במכשיר כ-DUT.

SSHBR של אישור OTBR

חיבור SSH

ב-RPi3B, מפעילים את ה-SSH:

  1. הפעלת שירות ה-SSH במהלך ההפעלה:
    sudo systemctl enable ssh
  2. מפעילים את שירות ה-SSH:
    sudo systemctl start ssh

כדי להפעיל SSH ב-RPi3B ללא GUI, עיינו בשלב 3 של מסמכי התיעוד ל-SSH ב-Raspney Pi.

במחשב Windows שבו מופעלת התכונה 'מסגרת בדיקה':

  1. מתקינים את Paramko בסביבת Python של GRL:
    cd C:\GRL\Python2.7
    python -m pip install --upgrade pip
    python -m pip install paramiko
  2. התחלת רתימת הבדיקה של GRL.
  3. בדף Configure Test Bed, גוררים את המכשיר OpenThread WpanCtl SSH:wwtund+NCP מהקטע Hardware Hardware ועוברים לקטע Bed Bed.
  4. אכלוס את ה-IP של ה-IP ב-192.168.1.100 ואת ה-PORT ב-22 למכשיר.
  5. לוחצים על לחצן החץ מתחת לשדה PORT כדי ליצור חיבור SSH בין מסגרת הבדיקה למכשיר ה-OT NCP.
SSHBR של אישור OTBR

הגדרת אוטומציה

כדי לקבל הוראות להגדרת כלי האוטומציה של Harness, לחצו על Install ועל Configure במדריך ל'הגדרת אוטומציה של אישורים'.

הפעלת מקרי בדיקה

במאמר הרצת מקרי מבחן של אישורים מוסבר איך משתמשים ב-OTBR DUT.

פתרון בעיות

המכשיר מופעל מחדש

אם אתם צריכים להפעיל מחדש את ה-RPi3B, סגרו את תוכנת הבדיקה, והמתינו לפחות 20 שניות אחרי שההפעלה מחדש תסתיים כדי להפעיל שוב את הבדיקה.

רתמת הבדיקה נכשלה לגלות נתב גבולות

כשאתם משתמשים בחיבור יציאה טורית, ייתכן שמסגרת הבדיקה לא תאתר את נתב הגבולות. במקרה כזה:

  1. בודקים אם התחברות ל-Shell פועלת עבור היציאה הטורית באמצעות כלי כמו PuTTY.
    1. צריך להשתמש ביציאת COM עבור מכשיר FT232 ובמהירות (באוד) של 115200.
    2. אם ההתחברות נכשלה, יש להפעיל מחדש את כל המכשירים ולנסות שוב.
  2. ב-RPi3B, בודקים את הסטטוס של wpantund:
    sudo service wpantund status
    אם הסטטוס הוא 'חריג':
    1. חשוב לוודא שלוח ה-NCPF52840 של 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