Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Configuración de la automatización de la certificación

Para automatizar las pruebas de certificación, se requiere una configuración adicional.

Todos los pasos de instalación y configuración a continuación ocurren en la máquina con Windows que ejecuta el software GRL Test Harness. Descargue e instale el arnés de prueba de hilos GRL más reciente antes de continuar.

Una vez instalado, existen dos métodos de automatización para el dispositivo bajo prueba (DUT):

  1. Herramienta de automatización de arnés OpenThread
  2. Prueba del modo DUT automático del arnés

Herramienta de automatización de arnés OpenThread

Instalar en pc

  1. Instale el siguiente software:
    • Python 2.7
    • Git para Windows (se recomienda encarecidamente la compatibilidad con Bash)
  2. Clone el repositorio de OpenThread para obtener los scripts de automatización:
    git clone https://github.com/openthread/openthread
    
  3. Instale los requisitos de Python:
    cd tools/harness-automation
    pip install -r requirements.txt
    
  4. Instale tanto Google Chrome como ChromeDriver .

Configurar

  1. Cree un archivo de configuración para la herramienta de automatización:
    cp autothreadharness/settings_sample.py autothreadharness/settings.py
    
  2. Actualice ese nuevo archivo de configuración de acuerdo con las instrucciones del archivo.
  3. Agregue el siguiente parámetro al archivo de configuración del arnés de prueba, que se encuentra en C:\GRL\Thread1.1\Config\Configuration.ini :
    BrowserAutoNavigate = False

Soporte mixto de banco de pruebas

Harness Automation Tool también admite bancos de pruebas mixtos, donde los dispositivos de referencia utilizados en cada caso de prueba son un conjunto mixto de dispositivos en lugar de todos el mismo dispositivo. Por ejemplo, en lugar de utilizar 32 placas TI CC2538 que ejecutan OpenThread para todos los casos de prueba, puede mezclar y combinar los cuatro dispositivos de referencia de Thread para cada caso de prueba según lo desee.

Para utilizar bancos de pruebas mixtos, es necesaria una configuración adicional:

  1. Agregue el siguiente parámetro adicional al archivo de configuración del arnés de prueba, que se encuentra en C:\GRL\Thread1.1\Config\Configuration.ini :
    EnableDeviceSelection = True
  2. Descargue el archivo de configuración de topología del Thread Group . Agregue este archivo como TopologyConfig.txt a C:\GRL\Thread1.1\Thread_Harness\TestScripts . Este archivo detalla qué dispositivo de referencia usar para cada función en cada caso de prueba.

El archivo de configuración de topología proporcionado por Thread Group se puede modificar para otras configuraciones de lecho mixto, pero para la certificación oficial se debe utilizar la configuración original.

Los valores válidos para usar para los dispositivos de referencia en el archivo de configuración de topología son:

Valor en el archivo de configuración de topología Dispositivo de referencia del arnés de prueba
ARM BRAZO: NXP FRDM-K64F con escudo Firefly 6LoWPAN
NXP NXP (Freescale): Dongles USB-KW24D512
OpenThread OpenThread: TI CC2538DK
SiLabs Silabs: memoria USB EM358x

Cada entrada de caso de prueba en el archivo de configuración de topología debe estar en una línea separada y formateada en role:device pares de role:device siguiente manera:

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

Prueba del modo DUT automático del arnés

El software GRL Test Harness proporciona una función avanzada de descubrimiento automático (Auto DUT) que acelera el proceso de validación para los proveedores de pila de referencias de subprocesos.

OpenThread proporciona una interfaz de controlador de host de subprocesos (THCI) de ejemplo que permite que el arnés de prueba controle su componente o producto como si fuera una de las plataformas de referencia. Según las características del puerto serie de su plataforma específica, su DUT podría:

Actuando como la plataforma de referencia OpenThread existente

Si el puerto serie del dispositivo bajo prueba funciona bajo la configuración de 115200 8-N-1, y el dispositivo responde correctamente después de cada reinicio del dispositivo físico (por ejemplo, para confirmar la conexión válida del dispositivo a la máquina Windows), entonces la plataforma puede usar el Herramienta OpenThread THCI. Esta herramienta permite que el dispositivo actúe como plataforma de referencia OpenThread durante la prueba.

  1. Cierre el arnés de prueba GRL, si está abierto.
  2. Conecte el dispositivo a la máquina con Windows.
  3. Busque el identificador de hardware del puerto serie del dispositivo, utilizando el módulo Python pySerial:
    1. Instale pySerial en la máquina con Windows.
    2. Utilice Python en la línea de comandos de Windows para enumerar todos los identificadores de hardware (VID y PID) para los dispositivos conectados a la máquina. En esta salida, un dispositivo está conectado con un identificador de VID = 1366 y PID = 1015:
      python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\VID_1366+PID_1015+MI_00
    3. Si ya conoce el puerto COM, puede usar un comando diferente. Por ejemplo, si el puerto COM es 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. Actualice la lista de dispositivos dorados:
    1. Abra C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Actualice el grupo OpenThread en la matriz GoldenDeviceHardwareIds con el VID y PID de los dispositivos:
      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. Habilite el modo Auto DUT .

Actuando como una nueva plataforma de referencia

Si el puerto serie del DUT no funciona con la configuración adecuada del puerto serie, o el dispositivo no responde correctamente después de un reinicio físico del dispositivo (genera un código ilegible dentro de los 3-6 segundos posteriores al reinicio), entonces OpenThread THCI se puede personalizar para tratar el dispositivo como una nueva plataforma en el arnés de prueba.

Por ejemplo, para personalizar THCI con la plataforma Nordic Semiconductor nRF52840 :

  1. Cierre el arnés de prueba GRL, si está abierto.
  2. Modifique /tools/harness-thci/OpenThread.py según las características UART del dispositivo de destino. Las modificaciones pueden diferir entre los dispositivos de destino. En el caso de la plataforma Nordic nRF52840:

    1. Cambie el nombre del OpenThread.py archivo a nRF52840.py .
    2. Cambie las tres primeras apariciones de "OpenThread" a "nRF52840":

      >> Device : nRF52840 THCI
      >> Class : nRF52840
      
      class nRF52840(IThci):
      
    3. Cambie los parámetros del puerto serie:

      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. Cambie el tiempo de suspensión para eliminar el impacto de la salida de código ilegible después del reinicio 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. Copie el archivo nRF52840.py modificado en C:\GRL\Thread1.1\Thread_Harness\THCI

  4. Agregue la información de la nueva plataforma al arnés de prueba:

    1. Cree un icono (en formato png o jpg) para que sea más fácil diferenciar su plataforma y cópielo en C:\GRL\Thread1.1\Web\images .
    2. Actualice C:\GRL\Thread1.1\Web\data\deviceInputFields.xml con una nueva sección DEVICE , donde el parámetro de thumbnail es el archivo de icono:

      <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. Conecte el dispositivo a la máquina con Windows.

  6. Busque el identificador de hardware del puerto serie del dispositivo, utilizando el módulo Python pySerial:

    1. Instale pySerial en la máquina con Windows.
    2. Utilice Python en la línea de comandos de Windows para enumerar todos los identificadores de hardware (VID y PID) para los dispositivos conectados a la máquina. En esta salida, un dispositivo está conectado con un identificador de VID = 1366 y PID = 1015:
      python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\VID_1366+PID_1015+MI_00
    3. Si ya conoce el puerto COM, puede usar un comando diferente. Por ejemplo, si el puerto COM es 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. Actualice la lista de dispositivos dorados:

    1. Abra C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Agregue un nuevo grupo de plataforma en la matriz GoldenDeviceHardwareIds con el VID y 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. Habilite el modo Auto DUT .

Habilitar el modo Auto DUT

Una vez completada una de las dos opciones de configuración anteriores:

  1. Abra el arnés de prueba GRL, el dispositivo / puerto ahora aparece como un nuevo dispositivo de referencia.
  2. Seleccione la casilla de verificación Habilitar selección automática de dispositivo DUT debajo de la lista Hardware admitido.
  3. Seleccione el botón de opción Establecer como DUT debajo del dispositivo / puerto de destino para configurar el dispositivo como DUT.
Certificación OT Auto DUT