Google cam kết thúc đẩy bình đẳng chủng tộc đối với cộng đồng đen. Xem cách.
Trang này được dịch bởi Cloud Translation API.
Switch to English

Chứng nhận tự động cài đặt

Để tự động kiểm tra chứng nhận, thiết lập bổ sung là cần thiết.

Tất cả các bước cài đặt và cấu hình dưới đây xảy ra trên máy tính Windows chạy phần mềm GRL khai thác thử nghiệm. Tải về và cài đặt mới nhất GRL Chủ đề khai thác thử nghiệm trước khi tiếp tục.

Sau khi cài đặt, có hai phương pháp tự động hóa cho các thiết bị được kiểm tra (DUT):

  1. OpenThread Harness Công cụ Tự động hóa
  2. Chế độ kiểm tra Harness Auto DUT

OpenThread Harness Công cụ Tự động hóa

Tải về

  1. Cài đặt phần mềm sau đây:
    • Python 2.7
    • Git cho Windows (hỗ trợ Bash là rất khuyến khích)
  2. Clone kho OpenThread để có được những kịch bản tự động hóa:
    git clone https://github.com/openthread/openthread
    
  3. Cài đặt yêu cầu Python:
    cd tools/harness-automation
    pip install -r requirements.txt
    
  4. Cài đặt cả Google ChromeChromeDriver .

Cấu hình

  1. Tạo một tập tin cấu hình cho các công cụ tự động hóa:
    cp autothreadharness/settings_sample.py autothreadharness/settings.py
    
  2. Cập nhật tập tin cấu hình mới theo hướng dẫn trong file.
  3. Thêm tham số sau vào file cấu hình thử nghiệm Khai thác, tìm thấy tại C:\GRL\Thread1.1\Config\Configuration.ini :
    BrowserAutoNavigate = False

hỗ trợ nền tảng thử nghiệm hỗn hợp

Các Harness Tự động hóa Công cụ cũng hỗ trợ testbeds hỗn hợp, nơi các thiết bị tham khảo sử dụng trong mỗi trường hợp thử nghiệm là một tập hợp hỗn hợp của thiết bị chứ không phải tất cả các thiết bị tương tự. Ví dụ, thay vì sử dụng 32 bảng TI CC2538 chạy OpenThread cho tất cả các trường hợp thử nghiệm, bạn có thể trộn và kết hợp giữa tất cả bốn thiết bị tài liệu tham khảo chủ đề cho từng trường hợp thử nghiệm như mong muốn.

Để sử dụng testbeds hỗn hợp, cấu hình bổ sung là cần thiết:

  1. Thêm tham số bổ sung sau đây vào file cấu hình thử nghiệm Khai thác, tìm thấy tại C:\GRL\Thread1.1\Config\Configuration.ini :
    EnableDeviceSelection = True
  2. Tải tệp cấu hình topo từ bài viết của Tập đoàn . Thêm tập tin này như TopologyConfig.txt để C:\GRL\Thread1.1\Thread_Harness\TestScripts . Đây chi tiết tập tin mà tài liệu tham khảo thiết bị để sử dụng cho mỗi vai trò trong từng trường hợp thử nghiệm.

Các tập tin cấu hình topo được cung cấp bởi Tập đoàn Chủ đề có thể được sửa đổi cho các cấu hình giường hỗn hợp khác, nhưng đối với chứng nhận chính thức cấu hình ban đầu phải được sử dụng.

Giá trị hợp lệ để sử dụng cho các thiết bị tham chiếu trong tập tin cấu hình topo là:

Giá trị trong tập tin cấu hình topo reference device test Harness
ARM ARM: NXP FRDM-K64F với Firefly 6LoWPAN khiên
NXP NXP (Freescale): USB-KW24D512 Dongles
OpenThread OpenThread: TI CC2538DK
SiLabs Silabs: EM358x USB Stick

Mỗi mục test trong file cấu hình topo phải nằm trên một dòng riêng biệt và định dạng trong role:device cặp như sau:

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

chế độ kiểm tra Harness Auto DUT

Các phần mềm GRL khai thác thử nghiệm cung cấp một tính năng tự động phát hiện tiên tiến (Auto DUT) mà tăng tốc quá trình xác nhận đối với các nhà cung cấp đống tài liệu tham khảo chủ đề.

OpenThread cung cấp một ví dụ chủ đề Controller Interface (THCI) cho phép người Harness thử nghiệm để kiểm soát thành phần hoặc sản phẩm của bạn như thể nó là một trong những nền tảng tham khảo. Theo đặc điểm cổng nối tiếp của nền tảng cụ thể của bạn, DUT của bạn hoặc có thể:

Đóng vai trò là nền tảng tham khảo OpenThread hiện

Nếu cổng nối tiếp của các chức năng DUT dưới thiết lập của 115200 8-N-1, và các thiết bị đáp ứng một cách chính xác sau mỗi lần reset thiết bị vật lý (ví dụ, để xác nhận kết nối hợp lệ các thiết bị vào máy tính Windows), sau đó nền tảng này có thể sử dụng OpenThread THCI công cụ. Công cụ này cho phép các thiết bị để hoạt động như các nền tảng tham khảo OpenThread trong thử nghiệm.

  1. Đóng GRL khai thác thử nghiệm, nếu nó đang mở.
  2. Gắn thiết bị vào máy tính Windows.
  3. Tìm các dạng thiết bị nối tiếp phần cứng cổng, sử dụng các mô-đun Python pySerial:
    1. Cài đặt pySerial trên máy tính Windows.
    2. Sử dụng Python trên dòng lệnh của Windows để liệt kê tất cả các định phần cứng (VID và PID) cho các thiết bị kết nối với máy tính. Sản lượng này, một thiết bị được kết nối với một định danh của VID = 1366 và PID = 1015:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    3. Nếu bạn biết cổng COM đã có, bạn có thể sử dụng một lệnh khác nhau. Ví dụ, nếu cổng COM là 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. Cập nhật danh sách Device Vàng:
    1. Mở C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Cập nhật nhóm OpenThread trong GoldenDeviceHardwareIds mảng với VID và PID của thiết bị (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. Kích hoạt chế độ Auto DUT .

Đóng vai trò như một nền tảng tham chiếu mới

Nếu cổng nối tiếp của DUT không chức năng theo các cài đặt cổng nối tiếp thích hợp, hoặc các thiết bị không đáp ứng một cách chính xác sau khi reset thiết bị vật lý (kết quả đầu ra mã không đọc được trong vòng 3-6 giây reset), sau đó OpenThread THCI có thể được tùy chỉnh để điều trị các thiết bị như một nền tảng mới trong Harness thử nghiệm.

Ví dụ, để tùy chỉnh THCI sử dụng Bắc Âu Semiconductor nRF52840 nền tảng:

  1. Đóng GRL khai thác thử nghiệm, nếu nó đang mở.
  2. Sửa /tools/harness-thci/OpenThread.py dựa trên những đặc điểm UART của thiết bị mục tiêu. Sửa đổi có thể khác nhau giữa các thiết bị mục tiêu. Trong trường hợp của nền tảng Bắc Âu nRF52840:

    1. Đổi tên OpenThread.py tập tin để nRF52840.py .
    2. Thay đổi ba lần xuất hiện đầu tiên của "OpenThread" thành "nRF52840":

       >> Device : nRF52840 THCI
      >> Class : nRF52840
      
      class nRF52840(IThci):
       
    3. Thay đổi các thông số cổng nối tiếp:

      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. Thay đổi thời gian ngủ để loại bỏ ảnh hưởng của sản lượng mã không đọc được sau khi reset thiết bị:

      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. Sao chép sửa đổi nRF52840.py tập tin vào C:\GRL\Thread1.1\Thread_Harness\THCI

  4. Thêm thông tin nền tảng mới cho Harness kiểm tra:

    1. Tạo một biểu tượng (trong png hoặc jpg) để làm cho nó dễ dàng hơn để phân biệt nền tảng của bạn và sao chép nó vào C:\GRL\Thread1.1\Web\images .
    2. Cập nhật C:\GRL\Thread1.1\Web\data\deviceInputFields.xml với một mới DEVICE phần, nơi mà các thumbnail tham số là file biểu tượng:

       <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. Gắn thiết bị vào máy tính Windows.

  6. Tìm các dạng thiết bị nối tiếp phần cứng cổng, sử dụng các mô-đun Python pySerial:

    1. Cài đặt pySerial trên máy tính Windows.
    2. Sử dụng Python trên dòng lệnh của Windows để liệt kê tất cả các định phần cứng (VID và PID) cho các thiết bị kết nối với máy tính. Sản lượng này, một thiết bị được kết nối với một định danh của VID = 1366 và PID = 1015:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    3. Nếu bạn biết cổng COM đã có, bạn có thể sử dụng một lệnh khác nhau. Ví dụ, nếu cổng COM là 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. Cập nhật danh sách Device Vàng:

    1. Mở C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Thêm một nhóm nền tảng mới trong GoldenDeviceHardwareIds mảng với VID và PID của thiết bị:
      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. Kích hoạt chế độ Auto DUT .

Kích hoạt chế độ Auto DUT

Sau khi một trong hai tùy chọn cấu hình trên là hoàn toàn:

  1. Mở GRL khai thác thử nghiệm, thiết bị / cổng bây giờ xuất hiện như một thiết bị tham chiếu mới.
  2. Chọn mục Enable Auto DUT hộp kiểm Chọn thiết bị bên dưới danh sách phần cứng được hỗ trợ.
  3. Chọn nút radio Set as DUT dưới thiết bị mục tiêu / cổng để thiết lập các thiết bị như DUT.
Chứng nhận OT Auto DUT