Google si impegna a far progredire equità razziale per le comunità nere. Vedi come.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Certificazione di installazione Automation

Per automatizzare test di certificazione, è necessario configurazione aggiuntiva.

Tutte le fasi di installazione e configurazione di seguito si verificano sulla macchina Windows che esegue il software GRL test harness. Scaricare e installare l'ultima GRL Discussione test harness prima di continuare.

Una volta installato, ci sono due metodi di automazione per il dispositivo in prova (DUT):

  1. OpenThread Harness Automation Tool
  2. Modalità Test Harness Auto DUT

OpenThread Harness Automation Tool

Installare

  1. Installare il seguente software:
    • Python 2.7
    • Git per Windows (supporto Bash è altamente consigliato)
  2. Clonare il repository OpenThread per ottenere gli script di automazione:
    git clone https://github.com/openthread/openthread
    
  3. Installare requisiti Python:
    cd tools/harness-automation
    pip install -r requirements.txt
    
  4. Installare sia Google Chrome e ChromeDriver .

Configurazione

  1. Creare un file di configurazione per lo strumento di automazione:
    cp autothreadharness/settings_sample.py autothreadharness/settings.py
    
  2. Aggiornamento che nuovo file di configurazione in base alle istruzioni contenute nel file.
  3. Aggiungere il seguente parametro al file di configurazione test harness, che si trova in C:\GRL\Thread1.1\Config\Configuration.ini :
    BrowserAutoNavigate = False

Supporto banco di prova mista

Il cablaggio Automation Tool supporta anche testbed misti, in cui i dispositivi di riferimento utilizzati in ogni test sono un insieme misto di dispositivi piuttosto che lo stesso dispositivo. Ad esempio, invece di utilizzare schede 32 TI CC2538 esecuzione OpenThread per tutti i casi di test, è possibile combinare tra tutti i quattro dispositivi di riferimento filettatura per ogni test come desiderato.

Per utilizzare banchi di prova misti, configurazione aggiuntiva è necessaria:

  1. Aggiungere il seguente parametro aggiuntivo al file di configurazione test harness, che si trova in C:\GRL\Thread1.1\Config\Configuration.ini :
    EnableDeviceSelection = True
  2. Scarica il file di configurazione della topologia del gruppo di discussione . Aggiungi questo file come TopologyConfig.txt a C:\GRL\Thread1.1\Thread_Harness\TestScripts . Questa dettagli dei file che dispositivo di riferimento da utilizzare per ogni ruolo in ogni caso di test.

Il file di configurazione della topologia fornita dal Gruppo del filo può essere modificato per altre configurazioni a letto misto, ma per la certificazione ufficiale deve essere utilizzata la configurazione originale.

I valori validi da utilizzare per i dispositivi di riferimento nel file di configurazione della topologia sono:

Valore nel file di configurazione della topologia dispositivo di riferimento test harness
ARM ARM: NXP FROM-K64F con Firefly 6LoWPAN Shield
NXP NXP (Freescale): USB-KW24D512 Dongles
OpenThread OpenThread: TI CC2538DK
SiLabs Silabs: EM358x USB Stick

Ogni voce banco di prova nel file di configurazione della topologia deve essere su una riga separata e formattato in role:device coppie come segue:

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

Modalità Test Harness Auto DUT

Il software GRL test harness fornisce una funzione di rilevamento automatico avanzato (Auto DUT), che accelera il processo di convalida per i venditori di stack di riferimento Discussione.

OpenThread fornisce un esempio Host Controller Interface Discussione (THCI) che permette al test harness per controllare il componente o di un prodotto come se si trattasse di una delle piattaforme di riferimento. Secondo le caratteristiche della porta seriale del vostro piattaforma specifica, il vostro DUT potrebbero o:

Agendo come la piattaforma di riferimento OpenThread esistente

Se la porta seriale delle funzioni DUT in Impostazioni di 115200 8-N-1, e l'apparecchio risponde correttamente dopo ogni reset del dispositivo fisico (ad esempio, per confermare connessione valida del dispositivo alla macchina di Windows), quindi la piattaforma può utilizzare il strumento OpenThread THCI. Questo strumento consente al dispositivo di agire come piattaforma di riferimento OpenThread durante i test.

  1. Chiudere il GRL test harness, se è aperto.
  2. Collegare il dispositivo al computer Windows.
  3. Trova l'identificatore porta hardware di serie del dispositivo, utilizzando il modulo Python pySerial:
    1. Installare pySerial sulla macchina Windows.
    2. Utilizzare Python sulla riga di comando di Windows per enumerare tutti gli identificatori hardware (VID e PID) per i dispositivi collegati alla macchina. In questo output, un dispositivo è collegato a un identificatore di 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. Se si conosce già la porta COM, è possibile utilizzare un comando diverso. Ad esempio, se la porta 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. Aggiornare l'elenco Dispositivo d'Oro:
    1. Aprire C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Aggiornare il gruppo OpenThread nella GoldenDeviceHardwareIds array con il VID e PID del dispositivo (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. Attivare la modalità Auto DUT .

Agendo come una nuova piattaforma di riferimento

Se la porta seriale del DUT non funziona secondo le impostazioni della porta seriale corrette, o il dispositivo non risponde correttamente dopo un reset dispositivo fisico (emette codice illeggibile entro 3-6 secondi di ripristino), quindi OpenThread THCI può essere personalizzato per trattare il dispositivo come una nuova piattaforma nel test harness.

Ad esempio, per personalizzare THCI utilizzando il Nordic Semiconductor nRF52840 piattaforma:

  1. Chiudere il GRL test harness, se è aperto.
  2. Modifica /tools/harness-thci/OpenThread.py base alle caratteristiche UART del dispositivo di destinazione. Modifiche possono variare da un dispositivo di destinazione. Nel caso della piattaforma Nordic nRF52840:

    1. Rinominare OpenThread.py file nRF52840.py .
    2. Modificare le prime tre occorrenze di "OpenThread" a "nRF52840":

       >> Device : nRF52840 THCI
      >> Class : nRF52840
      
      class nRF52840(IThci):
       
    3. Modificare i parametri della porta seriale:

      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. Modificare il tempo di sonno per eliminare l'impatto della produzione di codice illeggibile dopo il reset del dispositivo:

      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. Copiare il modificato nRF52840.py file in C:\GRL\Thread1.1\Thread_Harness\THCI

  4. Aggiungere le nuove informazioni piattaforma per il test harness:

    1. Creare un'icona (in png o jpg) per rendere più facile per differenziare la propria piattaforma e copiarlo C:\GRL\Thread1.1\Web\images .
    2. Aggiornamento C:\GRL\Thread1.1\Web\data\deviceInputFields.xml con un nuovo DEVICE sezione, dove la thumbnail parametro è il file di icona:

       <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. Collegare il dispositivo al computer Windows.

  6. Trova l'identificatore porta hardware di serie del dispositivo, utilizzando il modulo Python pySerial:

    1. Installare pySerial sulla macchina Windows.
    2. Utilizzare Python sulla riga di comando di Windows per enumerare tutti gli identificatori hardware (VID e PID) per i dispositivi collegati alla macchina. In questo output, un dispositivo è collegato a un identificatore di 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. Se si conosce già la porta COM, è possibile utilizzare un comando diverso. Ad esempio, se la porta 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. Aggiornare l'elenco Dispositivo d'Oro:

    1. Aprire C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Aggiungi un nuovo gruppo di piattaforme nel GoldenDeviceHardwareIds array con il VID e PID del dispositivo:
      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. Attivare la modalità Auto DUT .

Attivare la modalità Auto DUT

Dopo una delle due opzioni di configurazione di cui sopra sono complete:

  1. Aprire il GRL test harness, il dispositivo / porto appare ora come un nuovo dispositivo di riferimento.
  2. Selezionare la casella Enable Auto DUT Selezione del dispositivo sotto l'elenco Hardware supportato.
  3. Selezionare il pulsante Imposta come DUT la radio sotto il dispositivo di destinazione / porto per impostare il dispositivo come il DUT.
OT Certificazione Auto DUT