Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Penyiapan Otomasi Sertifikasi

Untuk mengotomatiskan pengujian sertifikasi, diperlukan pengaturan tambahan.

Semua langkah instalasi 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 dipasang, ada dua metode otomatisasi untuk perangkat yang diuji (DUT):

  1. Alat Otomasi OpenThread Harness
  2. Uji Memanfaatkan mode DUT Otomatis

Alat Otomasi OpenThread Harness

Install

  1. Instal perangkat lunak berikut:
    • Python 2.7
    • Git untuk Windows (dukungan Bash sangat disarankan)
  2. Gandakan 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 .

Konfigurasi

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

Dukungan testbed campuran

Alat Otomasi Harness juga mendukung testbed campuran, di mana perangkat referensi yang digunakan di setiap kasus pengujian adalah kumpulan perangkat campuran, bukan semua perangkat yang sama. Misalnya, alih-alih menggunakan 32 papan TI CC2538 yang menjalankan OpenThread untuk semua kasus pengujian, Anda dapat mencampur dan mencocokkan keempat perangkat referensi Thread untuk setiap kasus pengujian sesuai keinginan.

Untuk menggunakan testbed campuran, diperlukan konfigurasi tambahan:

  1. Tambahkan parameter tambahan berikut ke file konfigurasi Test Harness, yang terdapat 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 menjelaskan perangkat referensi mana yang akan digunakan untuk setiap peran di setiap kasus pengujian.

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

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

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

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 Memanfaatkan mode DUT Otomatis

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

OpenThread memberikan contoh Thread Host Controller Interface (THCI) yang memungkinkan Test Harness untuk mengontrol komponen atau produk Anda seolah-olah itu adalah salah satu platform referensi. Menurut karakteristik port serial dari 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 reset 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 pengenal perangkat keras port serial perangkat, menggunakan modul Python pySerial:
    1. Instal pySerial di mesin Windows.
    2. Gunakan Python pada baris perintah Windows untuk menghitung semua pengenal perangkat keras (VID dan PID) untuk perangkat yang terhubung ke mesin. Dalam keluaran 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 mengetahui 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 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','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 perangkat fisik disetel ulang (mengeluarkan kode yang tidak dapat dibaca dalam waktu 3-6 detik setelah reset), maka OpenThread THCI dapat disesuaikan 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 kasus 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()
      
      .dll
    4. Ubah waktu tidur untuk menghilangkan dampak keluaran kode yang tidak dapat dibaca setelah perangkat disetel ulang:

      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. Perbarui 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 pengenal perangkat keras port serial perangkat, menggunakan modul Python pySerial:

    1. Instal pySerial di mesin Windows.
    2. Gunakan Python pada baris perintah Windows untuk menghitung semua pengenal perangkat keras (VID dan PID) untuk perangkat yang terhubung ke mesin. Dalam keluaran 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 mengetahui 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 Set as DUT di bawah perangkat / port target untuk menyetel perangkat sebagai DUT.
Sertifikasi OT Otomatis DUT