Google berkomitmen untuk memajukan ekuitas ras untuk komunitas kulit hitam. Lihat bagaimana.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Pengaturan Otomasi Sertifikasi

Untuk mengotomatisasi tes sertifikasi, diperlukan pengaturan tambahan.

Semua langkah pemasangan dan konfigurasi di bawah ini terjadi pada mesin Windows yang menjalankan perangkat lunak GRL Test Harness. Unduh dan pasang GRL Thread Test Harness terbaru sebelum melanjutkan.

Setelah diinstal, ada dua metode otomatisasi untuk perangkat yang diuji (DUT):

  1. Alat Otomatisasi Harness OpenThread
  2. Uji Harness mode Auto DUT

Alat Otomatisasi Harness OpenThread

Install

  1. Instal perangkat lunak berikut:
    • Python 2.7
    • Git untuk Windows (dukungan Bash sangat disarankan)
  2. Kloning repositori OpenThread untuk mendapatkan skrip otomatisasi:
    git clone https://github.com/openthread/openthread
    
  3. Instal persyaratan Python:
    cd tools/harness-automation
    pip install -r requirements.txt
    
  4. Pasang Google Chrome dan ChromeDriver .

Konfigurasikan

  1. Buat file konfigurasi untuk alat otomatisasi:
    cp autothreadharness/settings_sample.py autothreadharness/settings.py
    
  2. Perbarui file konfigurasi baru itu sesuai dengan instruksi dalam file.
  3. Tambahkan parameter berikut ke file konfigurasi Test Harness, ditemukan di C:\GRL\Thread1.1\Config\Configuration.ini :
    BrowserAutoNavigate = False

Dukungan testbed campuran

Alat Otomatisasi Harness juga mendukung testbeds campuran, di mana perangkat referensi yang digunakan dalam setiap kasus uji adalah seperangkat perangkat campuran daripada semua perangkat yang sama. Misalnya, alih-alih menggunakan 32 papan TI CC2538 yang menjalankan OpenThread untuk semua kasus uji, Anda dapat mencampur dan mencocokkan antara keempat perangkat referensi Thread untuk setiap kasus uji seperti yang diinginkan.

Untuk menggunakan campuran testbeds, konfigurasi tambahan diperlukan:

  1. Tambahkan parameter tambahan berikut ke file konfigurasi Test Harness, ditemukan di C:\GRL\Thread1.1\Config\Configuration.ini :
    EnableDeviceSelection = True
  2. Unduh file konfigurasi topologi dari Thread Group . Tambahkan file ini sebagai TopologyConfig.txt ke C:\GRL\Thread1.1\Thread_Harness\TestScripts . File ini merinci perangkat referensi mana yang digunakan untuk setiap peran dalam setiap kasus uji.

File konfigurasi topologi yang disediakan oleh Grup Thread dapat dimodifikasi untuk konfigurasi unggun campuran lainnya, tetapi untuk sertifikasi resmi konfigurasi asli harus digunakan.

Nilai yang valid untuk digunakan untuk perangkat referensi dalam file konfigurasi topologi adalah:

Nilai dalam file konfigurasi topologi Perangkat referensi Uji Harness
ARM ARM: NXP FRDM-K64F dengan Firefly 6LoWPAN Shield
NXP NXP (Freescale): USB-KW24D512 Dongles
OpenThread OpenThread: TI CC2538DK
SiLabs Silab: EM358x USB Stick

Setiap entri kasus uji dalam file konfigurasi topologi harus berada pada baris terpisah dan diformat dalam role:device pasangan role:device sebagai berikut:

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

Uji Harness mode Auto DUT

Perangkat lunak GRL Test Harness menyediakan fitur penemuan otomatis canggih (Auto DUT) yang mempercepat proses validasi untuk vendor tumpukan referensi Thread.

OpenThread memberikan contoh Thread Host Controller Interface Interface (THCI) yang memungkinkan Test Harness untuk mengontrol komponen atau produk Anda seolah-olah itu adalah salah satu platform referensi. Menurut karakteristik port serial platform spesifik Anda, DUT Anda dapat:

Bertindak sebagai platform referensi OpenThread yang ada

Jika port serial DUT berfungsi di bawah pengaturan 115200 8-N-1, dan perangkat merespons dengan benar setelah setiap ulang perangkat fisik (misalnya, untuk mengonfirmasi koneksi valid perangkat ke mesin Windows), maka platform dapat menggunakan Alat OpenThread THCI. Alat ini memungkinkan perangkat untuk bertindak sebagai platform referensi OpenThread selama pengujian.

  1. Tutup GRL Test Harness, jika terbuka.
  2. Pasang perangkat ke mesin Windows.
  3. Temukan pengidentifikasi perangkat keras port seri perangkat, menggunakan modul Python pySerial:
    1. Instal pySerial pada mesin Windows.
    2. Gunakan Python pada baris perintah Windows untuk menyebutkan semua pengidentifikasi perangkat keras (VID dan PID) untuk perangkat yang terhubung ke mesin. Dalam output ini, satu perangkat terhubung dengan pengenal VID = 1366 dan PID = 1015:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    3. Jika Anda sudah tahu port COM, Anda dapat menggunakan perintah yang berbeda. Misalnya, jika port COM adalah 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. Perbarui daftar Perangkat Emas:
    1. Buka C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Perbarui grup OpenThread di larik GoldenDeviceHardwareIds dengan VID dan PID perangkat:
      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. Aktifkan mode Auto DUT .

Bertindak sebagai platform referensi baru

Jika port serial DUT tidak berfungsi di bawah pengaturan port serial yang benar, atau perangkat tidak merespons dengan benar setelah reset perangkat fisik (mengeluarkan kode yang tidak dapat dibaca dalam reset 3-6 detik), maka OpenThread THCI dapat dikustomisasi untuk menangani perangkat sebagai platform baru di Test Harness.

Misalnya, untuk menyesuaikan THCI menggunakan platform Nordic Semiconductor nRF52840 :

  1. Tutup GRL Test Harness, jika terbuka.
  2. Ubah /tools/harness-thci/OpenThread.py berdasarkan karakteristik UART perangkat target. Modifikasi mungkin berbeda di antara perangkat target. Dalam hal platform Nordic nRF52840:

    1. Ubah nama OpenThread.py file nRF52840.py .
    2. Ubah tiga kemunculan pertama "OpenThread" menjadi "nRF52840":

       >> Device : nRF52840 THCI
      >> Class : nRF52840
      
      class nRF52840(IThci):
       
    3. Ubah parameter port serial:

      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. Ubah waktu tidur untuk menghilangkan dampak dari output kode yang tidak dapat dibaca setelah perangkat direset:

      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. Salin file nRF52840.py dimodifikasi ke C:\GRL\Thread1.1\Thread_Harness\THCI

  4. Tambahkan informasi platform baru ke Test Harness:

    1. Buat ikon (dalam format png atau jpg) untuk memudahkan membedakan platform Anda dan menyalinnya ke C:\GRL\Thread1.1\Web\images .
    2. Pembaruan C:\GRL\Thread1.1\Web\data\deviceInputFields.xml dengan bagian DEVICE baru, di mana parameter thumbnail adalah file ikon:

       <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. Pasang perangkat ke mesin Windows.

  6. Temukan pengidentifikasi perangkat keras port seri perangkat, menggunakan modul Python pySerial:

    1. Instal pySerial pada mesin Windows.
    2. Gunakan Python pada baris perintah Windows untuk menyebutkan semua pengidentifikasi perangkat keras (VID dan PID) untuk perangkat yang terhubung ke mesin. Dalam output ini, satu perangkat terhubung dengan pengenal VID = 1366 dan PID = 1015:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    3. Jika Anda sudah tahu port COM, Anda dapat menggunakan perintah yang berbeda. Misalnya, jika port COM adalah 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. Perbarui daftar Perangkat Emas:

    1. Buka C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Tambahkan grup platform baru dalam larik GoldenDeviceHardwareIds dengan VID dan PID perangkat:
      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. Aktifkan mode Auto DUT .

Aktifkan mode Auto DUT

Setelah salah satu dari dua opsi konfigurasi di atas selesai:

  1. Buka GRL Test Harness, perangkat / port sekarang muncul sebagai perangkat referensi baru.
  2. Pilih kotak centang Aktifkan Pemilihan Perangkat DUT Otomatis di bawah daftar Perangkat Keras yang Didukung.
  3. Pilih tombol radio Atur sebagai DUT di bawah perangkat target / port untuk mengatur perangkat sebagai DUT.
Sertifikasi OT Auto DUT