הגדרה של מסגרת הבדיקה של פרוטוקולי Thread של GRL ושל כלי האוטומציה של הרתמה של OpenThread לשימוש עם המכשיר בבדיקה (DUT) של OpenThread Border Router (OTBR) הוא כמו הגדרת האוטומציה של האישורים guide. צריך להשתמש במדריך הזה יחד עם את השינויים שמפורטים כאן.
לעיצוב NCP כמו OTBR, OpenThread מספק OpenThread_WpanCtl.py
דוגמה לממשק בקרה של מארח פרוטוקול Thread
(THCI)
שמאפשרת ל'מסגרת הבדיקה' לשלוט ב-NCP. יש שני מצבי חיבור
למכשיר NCP:
- שימוש בחיבור ליציאה טורית (מומלץ לשימוש בחיבור לרצועת הבדיקה) תכונת גילוי אוטומטי)
- באמצעות חיבור SSH
אלא אם צוין אחרת, כל שלבי ההתקנה והתצורה שבהמשך מתרחשים בתאריך במחשב Windows שמריץ את תוכנת GRL Test Harness, שאמורה להיות מותקן לפני שתמשיך.
העתקת קובצי תמיכה ב-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\ |
הגדרת סוג החיבור
לבקרת 'מסגרת בדיקה' של ה-NCP, צריך להגדיר חיבור ליציאה טורית או חיבור SSH.
חיבור ליציאה טורית (מומלץ)
ב-Raspberry Pi 3B (RPi3B), מפעילים את היציאה הטורית ואת המעטפת של ההתחברות:
- נכנסים לתפריט ההגדרות האישיות:
sudo raspi-config
- בתפריט ההגדרות האישיות, בוחרים באפשרות 5 אפשרויות ממשק.
- בתפריט 'אפשרויות ממשק', בוחרים באפשרות הפעלה/השבתה של תצוגה טורית P6.
- מפעילים מחדש את ה-RPi3B.
במחשב Windows שבו פועלת 'מסגרת בדיקה':
- מורידים ומתקינים את FT232 נהג/ת.
- מחברים את מתאם FT232 USB ל-UART לחריץ USB במחשב עם Windows.
- מגדירים את מגשר המתח ב-FT232 ל-3.3V.
- מחברים את ה-FT232 ל-RPi3B באמצעות הסיכות וקווי Dupont הבאים:
קוד אימות של RPi3B פין FT232 דופון קו Pin6 GND לבן Pin8 RXD צהוב Pin10 TXD אדום - לאחר ההתחברות, מפעילים מחדש את מחשב Windows.
- מאתרים את מזהה החומרה של היציאה הטורית של המכשיר באמצעות py שמתאים ל-Python
מודול:
- התקנת pySeries במחשב Windows.
- שימוש ב-Python בשורת הפקודה של Windows כדי לספור את כל החומרה
מזהי VID ו-PID של המכשירים שמחוברים למכונה. כאן
הפלט, מכשיר NCP אחד מחובר, עם מזהה של
VID_0403+PID_6001
python -m serial.tools.list_ports -v
COM10desc: USB Serial Port (COM10)
hwid: FTDIBUS\VID_0403+PID_6001+AL01WOSZA\0000
- אם יציאת ה-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']
- מעדכנים את רשימת מכשירי הזהב:
- פתיחה של
C:\GRL\Thread1.1\Config\Configuration.ini
- מוסיפים קיבוץ 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’]}
- פתיחה של
אחרי שמשלימים את כל ההגדרות:
- מפעילים את רצועת הבדיקה של GRL.
בדף Configure Test Bed, המכשיר/היציאה מופיעים עכשיו כ-OT NCP. במכשיר.
אם ה-DUT לא מופיע בקטע Test Bed (מיטת בדיקה), אחרי 'מסגרת בדיקה'. מופעל, מוסיפים אותו ידנית על ידי גרירת OpenThread WpanCtl: מכשיר wpantund+NCP מהקטע חומרה נתמכת אל בדיקה אזור המיטה. לאחר הגרירה:
- יש לוודא שהקו הטורי (יציאת ה-COM) והמהירות (קצב האודיו) נכונים מאוכלסים.
- לוחצים על לחצן החץ שמתחת לשדה מהירות כדי לראות את המספר הסידורי החיבור בין ה'מסגרת לבדיקה' לבין מכשיר ה-NCP מסוג OT.
מסמנים את התיבה Enable Auto DUT Device Selection (הפעלת בחירת מכשיר אוטומטית ל-DUT) מתחת לסמל הנתמך רשימת החומרה.
בוחרים את לחצן הבחירה Set as DUT מתחת למכשיר היעד/ליציאה שרוצים להגדיר מכשיר ה-OT NCP בתור ה-DUT.
חיבור SSH
ב-RPi3B, מפעילים את SSH:
- הפעלת שירות SSH בזמן האתחול:
sudo systemctl enable ssh
- מפעילים את שירות ה-SSH:
sudo systemctl start ssh
כדי להפעיל SSH ב-RPi3B ללא GUI, ראו שלב 3 של Raspberry Pi SSH תיעוד.
במחשב Windows שבו פועלת 'מסגרת בדיקה':
- מתקינים את Paramiko לסביבת Python של GRL:
cd C:\GRL\Python2.7
python -m pip install --upgrade pip
python -m pip install paramiko
- מפעילים את רצועת הבדיקה של GRL.
- בדף Configure Test Bed, גוררים את OpenThread WpanCtl SSH: מכשיר wpantund+NCP מהקטע חומרה נתמכת אל בקטע מיטת בדיקה.
- מאכלסים את ה-IP addr עם 192.168.1.100 ו-PORT ב-22 עבור במכשיר.
- לוחצים על לחצן החץ שמתחת לשדה PORT כדי ליצור SSH. החיבור בין ה'מסגרת לבדיקה' לבין מכשיר ה-NCP מסוג OT.
הגדרת אוטומציה
נכנסים לדף התקנה ו להגדיר שלבים במדריך להגדרת אוטומציה של אישורים כלי האוטומציה של הרתמות.
הרצת מקרי בדיקה
כדי לקבל מידע נוסף על הפעלת מקרי הסמכה, אפשר לעיין במאמר הפעלת מקרי הסמכה כדי להריץ מקרי בדיקות אישורים ב-OTBR DUT.
פתרון בעיות
המכשיר מופעל מחדש
אם צריך להפעיל מחדש את ה-RPi3B, סוגרים את תוכנת Test Harness ומחכים לפחות 20 שניות לאחר האתחול מחדש כדי להפעיל שוב את 'מסגרת הבדיקה'.
'מסגרת בדיקה' לא מצליחה לאתר נתב גבול
כשמשתמשים בחיבור עם יציאה טורית, יכול להיות שמסגרת הבדיקה לא תזהה את נתב גבולות. במקרה כזה:
- בודקים אם התחברות ל- Shell פועלת ביציאה הטורית באמצעות כלי כמו
PuTTY.
- צריך להשתמש ביציאת ה-COM של מכשיר ה-FT232 ובמהירות (קצב האודיו) 115200.
- אם ההתחברות נכשלה, צריך להפעיל מחדש את כל המכשירים ולנסות שוב.
- ב-RPi3B, צריך לבדוק את הסטטוס של
wpantund
:
אם הסטטוס הוא 'חריג':sudo service wpantund status
- יש לוודא שלוח ה-NCP nRF52840 מותקן:
ls /dev/tty*
/dev/ttyACM0 - בודקים שהיציאה הזו תואמת להגדרות האישיות של
wpantund
:// default value in '/etc/wpantund.conf' Config:NCP:SocketPath "/dev/ttyACM0"
- מפעילים מחדש את
wpantund
:sudo service wpantund restart
- יש לוודא שלוח ה-NCP nRF52840 מותקן: