Google มุ่งมั่นที่จะก้าวทุนเชื้อชาติชุมชนสีดำ มาดูกันว่า
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

รับรองการติดตั้งการทำงานอัตโนมัติ

เพื่อทำให้การทดสอบรับรองการติดตั้งเพิ่มเติมเป็นสิ่งจำเป็น

การติดตั้งและการตั้งค่าทุกขั้นตอนดังต่อไปนี้เกิดขึ้นบนเครื่อง Windows ที่ใช้ซอฟแวร์ GRL เทียมทดสอบ ดาวน์โหลดและติดตั้งล่าสุด GRL กระทู้เทียมทดสอบ ก่อนดำเนินการต่อ

เมื่อติดตั้งแล้วมีสองวิธีอัตโนมัติสำหรับอุปกรณ์ภายใต้การทดสอบ (DUT):

  1. OpenThread เครื่องมืออัตโนมัติเทียม
  2. โหมดการทดสอบสายรัดอัตโนมัติ DUT

OpenThread เครื่องมืออัตโนมัติเทียม

ติดตั้ง

  1. ติดตั้งซอฟต์แวร์ต่อไปนี้:
    • งูหลาม 2.7
    • Git สำหรับ Windows (สนับสนุนทุบตีขอแนะนำ)
  2. โคลนที่เก็บ OpenThread ที่จะได้รับสคริปต์อัตโนมัติ:
    git clone https://github.com/openthread/openthread
    
  3. ติดตั้งข้อกำหนดหลาม:
    cd tools/harness-automation
    pip install -r requirements.txt
    
  4. ติดตั้งทั้ง Google Chrome และ ChromeDriver

กำหนดค่า

  1. สร้างแฟ้มการกำหนดค่าสำหรับเครื่องมืออัตโนมัติ:
    cp autothreadharness/settings_sample.py autothreadharness/settings.py
    
  2. อัปเดตว่าไฟล์การกำหนดค่าใหม่ตามคำแนะนำในไฟล์
  3. เพิ่มพารามิเตอร์ต่อไปนี้ในการตั้งค่าไฟล์เทียมทดสอบพบที่ C:\GRL\Thread1.1\Config\Configuration.ini :
    BrowserAutoNavigate = False

สนับสนุน testbed ผสม

เครื่องมืออัตโนมัติ Harness ยังสนับสนุน 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 กับหิ่งห้อย 6LoWPAN โล่
NXP NXP (Freescale): USB-KW24D512 Dongles
OpenThread OpenThread: TI CC2538DK
SiLabs Silabs: EM358x USB สติ๊ก

แต่ละรายการกรณีทดสอบในแฟ้มการกำหนดโครงสร้างจะต้องอยู่ในบรรทัดที่แยกต่างหากและจัดรูปแบบใน role:device คู่ดังนี้

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

โหมดการทดสอบสายรัดอัตโนมัติ DUT

ซอฟแวร์ GRL เทียมทดสอบให้ทันสมัยคุณลักษณะการค้นหาโดยอัตโนมัติ (Auto DUT) ซึ่งเร่งกระบวนการตรวจสอบสำหรับผู้ขายสแต็อ้างอิงกระทู้

OpenThread ให้เป็นตัวอย่าง กระทู้โฮสต์คอนโทรลเลอร์ Interface (THCI) ที่ช่วยให้การทดสอบสายรัดเพื่อควบคุมส่วนประกอบหรือผลิตภัณฑ์ของคุณราวกับว่ามันเป็นหนึ่งในแพลตฟอร์มที่อ้างอิง ตามลักษณะพอร์ตอนุกรมของแพลตฟอร์มเฉพาะของคุณ DUT ของคุณอาจจะ:

ทำหน้าที่เป็นแพลตฟอร์มการอ้างอิงที่มีอยู่ OpenThread

ถ้าพอร์ตอนุกรมของฟังก์ชั่น DUT ภายใต้การตั้งค่า 115200 8-N-1 และอุปกรณ์ที่ตอบสนองได้อย่างถูกต้องทุกครั้งหลังการรีเซ็ตอุปกรณ์ทางกายภาพ (เช่นเพื่อยืนยันการเชื่อมต่อที่ถูกต้องของอุปกรณ์กับเครื่อง Windows) แล้วแพลตฟอร์มสามารถใช้ เครื่องมือ OpenThread THCI เครื่องมือนี้ช่วยให้อุปกรณ์ที่จะทำหน้าที่เป็นแพลตฟอร์มอ้างอิง OpenThread ในระหว่างการทดสอบ

  1. ปิด GRL เทียมทดสอบถ้ามันเปิด
  2. แนบอุปกรณ์กับเครื่อง Windows
  3. ค้นหาระบุอุปกรณ์พอร์ตอนุกรมฮาร์ดแวร์ที่ใช้โมดูลหลาม pySerial:
    1. ติดตั้ง pySerial บนเครื่อง Windows
    2. ใช้งูหลามบน 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. เปิด C:\GRL\Thread1.1\Config\Configuration.ini
    2. อัพเดทกลุ่ม OpenThread ใน GoldenDeviceHardwareIds อาร์เรย์กับ VID และ PID ของอุปกรณ์ (s):
      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. เปิดใช้งานโหมด Auto DUT

ทำหน้าที่เป็นแพลตฟอร์มอ้างอิงใหม่

ถ้าพอร์ตอนุกรมของ DUT ไม่ได้ฟังก์ชั่นภายใต้การตั้งค่าพอร์ตอนุกรมที่เหมาะสมหรืออุปกรณ์ที่ไม่ตอบสนองอย่างถูกต้องหลังจากการตั้งค่าอุปกรณ์ทางกายภาพ (outputs รหัสไม่สามารถอ่านได้ภายใน 3-6 วินาทีของการตั้งค่า) แล้ว OpenThread THCI สามารถปรับแต่งเพื่อการรักษา อุปกรณ์ที่เป็นแพลตฟอร์มใหม่ในการทดสอบสายรัด

ยกตัวอย่างเช่นการปรับแต่ง THCI ใช้ นอร์ดิกเซมิคอนดักเตอร์ 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. ใช้งูหลามบน 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. เปิด 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. เปิดใช้งานโหมด Auto DUT

เปิดใช้งานโหมด Auto DUT

หลังจากหนึ่งในสองตัวเลือกการกำหนดค่าดังกล่าวข้างต้นมีความสมบูรณ์:

  1. เปิด GRL เทียมทดสอบอุปกรณ์ / พอร์ตตอนนี้ดูเหมือนเป็นอุปกรณ์อ้างอิงใหม่
  2. เลือกเปิดใช้งาน Auto DUT เลือกอุปกรณ์ในช่องด้านล่างรายการอุปกรณ์ที่รองรับ
  3. เลือกตั้งเป็นปุ่ม DUT ภายใต้อุปกรณ์เป้าหมาย / พอร์ตการตั้งค่าอุปกรณ์ที่เป็น DUT
OT รับรอง DUT อัตโนมัติ