גוגל מחויבת לקידום עצמי גזעי עבור קהילות שחורות. תראה איך.
דף זה תורגם על ידי Cloud Translation API.
Switch to English

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

כדי להפוך מבחני הסמכה, נדרשת הגדרה נוספת.

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

לאחר התקנה, יש שתי שיטות אוטומציה עבור המכשיר נבדק (DUT):

  1. כלי אוטומציה רתם OpenThread
  2. במצב האוטומטי DUT המבחן רתם

כלי אוטומציה רתם OpenThread

להתקין

  1. התקן את התוכנות הבאות:
    • Python 2.7
    • Git עבור Windows (תמיכת Bash מומלצת מאוד)
  2. Clone למאגר OpenThread כדי לקבל את הסקריפטים אוטומציה:
    git clone https://github.com/openthread/openthread
    
  3. התקן דרישות Python:
    cd tools/harness-automation
    pip install -r requirements.txt
    
  4. תקן הוא Google Chrome ו- ChromeDriver .

Configure

  1. צור קובץ ההגדרות של כלי אוטומציה:
    cp autothreadharness/settings_sample.py autothreadharness/settings.py
    
  2. עדכן כי קובץ תצורה חדשה בהתאם להוראות בקובץ.
  3. להוסיף את הפרמטר הבא בקובץ התצורה מבחן רתמה, למצוא בכתובת C:\GRL\Thread1.1\Config\Configuration.ini :
    BrowserAutoNavigate = False

תמיכת testbed מעורבת

כלי האוטומציה רתם תומכים גם testbeds המעורב, שבה התקני ההתייחסות המשמשים בכל מקרה מבחן הם קבוצה מעורבת של מכשירים ולא כולם אותו המכשיר. לדוגמה, במקום להשתמש 32 לוחות TI CC2538 פועל OpenThread עבור כל מקרי מבחן, אתה יכול לערבב ולהתאים בין כל המכשירים התייחסות ארבעה אשכול עבור כל מקרה מבחן לפי הצורך.

כדי להשתמש testbeds המעורב, תצורה נוספת יש צורך:

  1. מוסיפים את הפרמטר הנוסף הבא לקובץ תצורת מבחן רתמה, למצוא בכתובת C:\GRL\Thread1.1\Config\Configuration.ini :
    EnableDeviceSelection = True
  2. הורד את קובץ התצורה הטופולוגיה מקבוצת האשכול . הוספת קובץ זה כמו TopologyConfig.txt כדי C:\GRL\Thread1.1\Thread_Harness\TestScripts . פרטים בקובץ זה אשר מכשיר התייחסות לשימוש עבור כל תפקיד בכל מקרה מבחן.

קובץ התצורה הטופולוגיה הניתן על ידי קבוצת האשכול יכול להיות שונה עבור תצורות מיטה מעורבות אחרות, אבל עבור הסמכה רשמית את התצורה המקורית חייבת לשמש.

ערכים חוקיים כדי שימוש במכשירי הפניה בקובץ התצורה הטופולוגיה הם:

ערך בקובץ התצורה הטופולוגיה מכשיר הפנית המבחן רתם
ARM ARM: NXP FRDM-K64F עם Firefly 6LoWPAN מגן
NXP NXP (Freescale): USB-KW24D512 פלאגים
OpenThread OpenThread: TI CC2538DK
SiLabs Silabs: Stick USB EM358x

כל רשומה מקרה מבחן בקובץ התצורה הטופולוגיה חייב להיות על קו נפרד מעוצב ב role:device זוגות כדלקמן:

5.3.10-Leader:NXP,Router_1:OpenThread,BorderRouter:OpenThread,MED_1:ARM

במצב האוטומטי DUT המבחן רתם

התוכנה רתמה מבחן GRL מספק תכונה גילוי אוטומטי מתקדם (Auto DUT) אשר מאיץ את תהליך האימות עבור ספקים מחסנית הפניה אשכול.

OpenThread מספק דוגמא מארחת אשכול ממשק בקר (THCI) המאפשר רתם המבחן לשלוט רכיב או המוצר שלך כאילו היה אחת מפלטפורמות ההפניה. על פי מאפייני היציאה טורית של הפלטפורמה הספציפית שלך, DUT שלך יכול גם:

ממלא מקום כפלטפורמת התייחסות OpenThread קיימת

אם היציאה הטורית של פונקציות הנבדק תחת הגדרות של 115,200 8-N-1, והמכשיר מגיבה כראוי לאחר כל איפוס מכשיר פיסי (למשל, כדי לאשר את הקשר התקף של המכשיר למכונת Windows), אז הפלטפורמה יכולה להשתמש כלי OpenThread THCI. כלי זה מאפשר למכשיר לפעול כפלטפורמת התייחסות OpenThread במהלך בדיקות.

  1. סגור את רתמה מבחן GRL, אם היא פתוחה.
  2. צרף את המכשיר למכונת Windows.
  3. מצא את מזהה חומרת יציאה טורית מכשיר, באמצעות מודול פייתון pySerial:
    1. תקן pySerial על מכונת Windows.
    2. השתמש Python בשורת הפקודה של Windows כדי למנות את כל המזהים חומרה (VID ו- PID) עבור מכשירים המחוברים למכונה. בתפוקה זו, התקן אחד מחובר עם מזהה של VID = 1366 ו- PID = 1015:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    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']"
      ['USB\ VID_1366+PID_1015 +MI_00']
  4. עדכן את רשימת התקני זהב:
    1. Open C:\GRL\Thread1.1\Config\Configuration.ini .
    2. עדכון בקבוצה OpenThread ב 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=1366:1015' ]}
  5. הפעל מצב נבדק אוטומטי .

ממלא מקום כפלטפורמת התייחסות חדשה

אם היציאה הטורית של הנבדק אינה פועלת תחת הגדרות יציאה טורית הנכונות, או שהמכשיר לא מגיב בצורה תקינה לאחר איפוס מכשיר פיזי (פלטי קוד קריא בתוך 3-6 שניות של איפוס), אז OpenThread THCI יכול להיות מותאם אישית כדי לטפל המכשיר כפלטפורמה חדשה רתם המבחן.

לדוגמה, כדי להתאים אישית THCI באמצעות Nordic Semiconductor nRF52840 פלטפורמה:

  1. סגור את רתמה מבחן GRL, אם היא פתוחה.
  2. שנת /tools/harness-thci/OpenThread.py מבוסס על מאפייני UART של מכשיר היעד. שינויים עשויים להיות שונים בין מכשירי היעד. במקרה של פלטפורמת נורדי nRF52840:

    1. שנה את OpenThread.py קובץ nRF52840.py .
    2. שנה את שלושת המופעים הראשונים של "OpenThread" כדי "nRF52840":

       >> Device : nRF52840 THCI
      >> Class : nRF52840
      
      class nRF52840(IThci):
       
    3. שנה את הפרמטרים יציאה טורית:

      def _connect(self):
          print 'My port is %s' % self.port
          if self.port.startswith('COM'):
              self.handle = serial.Serial(self.port, 115200, timeout=0)
              time.sleep(1)
              self.handle.write('\r\n')
              time.sleep(0.1)
              self._is_net = False
          elif ':' in self.port:
              host, port = self.port.split(':')
              self.handle = socket.create_connection((host, port))
              self.handle.setblocking(0)
              self._is_net = True
          else:
              raise Exception('Unknown port schema')
          self.UIStatusMsg = self.getVersionNumber()
      
    4. שנה את זמן השינה כדי למנוע את ההשפעה של פלט קוד קריא לאחר איפוס המכשיר:

      def powerDown(self):
          """power down the Thread device"""
          print '%s call powerDown' % self.port
          self._sendline('reset')
          self.isPowerDown = True
          time.sleep(8)  # New addition
      
      def reboot(self):
          """reset and rejoin to Thread Network without any timeout
      
          Returns:
              True: successful to reset and rejoin the Thread Network
              False: fail to reset and rejoin the Thread Network
          """
          print '%s call reboot' % self.port
          try:
              self._sendline('reset')
              self.isPowerDown = True
              time.sleep(8)  # Updated from 3 to 8
      
      def reset(self):
          """factory reset"""
          print '%s call reset' % self.port
          try:
              self._sendline('factoryreset')
              time.sleep(8)  # Updated from 3 to 8
              self._read()
      
      def resetAndRejoin(self, timeout):
          """reset and join back Thread Network with a given timeout delay
      
          Args:
              timeout: a timeout interval before rejoin Thread Network
      
          Returns:
              True: successful to reset and rejoin Thread Network
              False: fail to reset and rejoin the Thread Network
          """
          print '%s call resetAndRejoin' % self.port
          print timeout
          try:
              self._sendline('reset')
              self.isPowerDown = True
              time.sleep(timeout)
              if timeout < 8:      # Sleep a bit longer if the timeout is short
                  time.sleep(8 - timeout)
      
  3. העתק את מהונדסים nRF52840.py הקובץ C:\GRL\Thread1.1\Thread_Harness\THCI

  4. מוסיף את מידע הפלטפורמה החדש המבחן רתם:

    1. צור סמל (ב PNG או בפורמט JPG) כדי להקל להבדיל הפלטפורמה שלך ולהעתיק אותו אל C:\GRL\Thread1.1\Web\images .
    2. עדכון C:\GRL\Thread1.1\Web\data\deviceInputFields.xml עם חדשות DEVICE סעיף, שבו thumbnail פרמטר הוא סמל הקובץ:

       <DEVICE name="nRF52840" thumbnail="nRF52840.jpg" description ="nRF52840: Nordic" THCI="nRF52840">
          <ITEM label="Serial Line"
                type="text"
                forParam="SerialPort"
                validation="COM"
                hint="eg: COM1">COM
          </ITEM>
          <ITEM label="Speed"
                type="text"
                forParam="SerialBaudRate"
                validation="baud-rate"
                hint="eg: 115200">115200
          </ITEM>
      </DEVICE>
       
  5. צרף את המכשיר למכונת Windows.

  6. מצא את מזהה חומרת יציאה טורית מכשיר, באמצעות מודול פייתון pySerial:

    1. תקן pySerial על מכונת Windows.
    2. השתמש Python בשורת הפקודה של Windows כדי למנות את כל המזהים חומרה (VID ו- PID) עבור מכשירים המחוברים למכונה. בתפוקה זו, התקן אחד מחובר עם מזהה של VID = 1366 ו- PID = 1015:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    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']"
      ['USB\ VID_1366+PID_1015 +MI_00']
  7. עדכן את רשימת התקני זהב:

    1. Open C:\GRL\Thread1.1\Config\Configuration.ini .
    2. הוספת קבוצת פלטפורמה חדשה 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',
      'nRF52840': 'VID:PID=1366:1015' }
  8. הפעל מצב נבדק אוטומטי .

הפעל מצב נבדק האוטומטי

לאחר אחת מאפשרויות תצורת שתי הנ"ל הושלמו:

  1. פתח את רתמה מבחן GRL, המכשיר / נמל מופיע כעת כמכשיר התייחסות חדשה.
  2. בחר את תיבת סימון בחירת Enable Auto DUT מכשירים בהמשך רשימת החומרה הנתמכת.
  3. בחר בלחצן האפשרויות כפי DUT סט תחת הנמל / מכשיר היעד כדי להגדיר את ההתקן לפי הנבדק.
DUT אוטומטי הסמכת OT