Configuración del agente de prueba del router de borde

La configuración del GRL Thread Test Harness y la herramienta de automatización de OpenThread Harness para usar con el dispositivo en prueba (DUT) del router de borde OpenThread (OTBR) es la misma que la guía de configuración de automatización de certificación. Usa esa guía junto con los cambios detallados aquí.

Para un diseño de NCP como OTBR, OpenThread proporciona un ejemplo de OpenThread_WpanCtl.py interfaz de control de host de Thread (THCI) que permite que el kit de prueba controle el NCP. Hay dos modos de conexión para un dispositivo NCP:

  • Con una conexión de puerto en serie (recomendado para usar la función de detección automática del conjunto de pruebas)
  • Usa una conexión SSH

A menos que se indique lo contrario, todos los pasos de instalación y configuración que se indican a continuación tienen lugar en la máquina de Windows que ejecuta el software de GRL Test Harness, que debe instalarse antes de continuar.

Copiar archivos de asistencia de THCI

Asegúrate de tener la versión más reciente de THCI en la máquina con Windows. Clona el repositorio de OpenThread o, si ya lo hiciste, cámbialo a la rama main:

git clone https://github.com/openthread/openthread
cd openthread
git checkout main

Copia los siguientes archivos de /tools/harness-thci en el repositorio de OpenThread clonado a los directorios especificados en la máquina de Windows:

Archivo de origen Copiar en el directorio
deviceInputFields.xml C:\GRL\Thread1.1\Web\data\
OpenThread_WpanCtl.py C:\GRL\Thread1.1\Thread_Harness\THCI\
OpenThread_WpanCtl.png C:\GRL\Thread1.1\Web\images\

Configura el tipo de conexión

Para el control del sistema de prueba del NCP, configura una conexión de puerto en serie o una conexión SSH.

En la Raspberry Pi 3B (RPi3B), habilita el puerto en serie y la shell de acceso:

  1. Ingresa al menú de configuración:
    sudo raspi-config
  2. En el menú de configuración, selecciona 5 Interfacing Options.
  3. En el menú Interface Options, selecciona P6 Serial Enable/Disable.
  4. Reinicia el RPi3B.

En la máquina de Windows que ejecuta el arnés de prueba, haz lo siguiente:

Conexión FT232 de OTBR
  1. Descarga e instala el controlador FT232.
  2. Conecta el adaptador USB a UART FT232 a un puerto USB de la máquina con Windows.
  3. Establece el puente de voltaje en el FT232 en 3.3 V.
  4. Conecta el FT232 a la RPi3B con los siguientes pines y líneas Dupont:
    Pin de RPi3B Pin FT232 Tubo Dupont
    Pin6 GND Blanco
    Pin8 RXD Amarillo
    Pin10 TXD Rojo
  5. Una vez conectado, reinicia la máquina de Windows.
  6. Encuentra el identificador de hardware del puerto en serie del dispositivo con el módulo de pySerial de Python:
    1. Instala pySerial en la máquina de Windows.
    2. Usa Python en la línea de comandos de Windows para enumerar todos los identificadores de hardware (VID y PID) de los dispositivos conectados a la máquina. En este resultado, se conecta un dispositivo NCP, con un identificador de VID_0403+PID_6001.
      python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: FTDIBUS\VID_0403+PID_6001+AL01WOSZA\0000
    3. Si ya conoces el puerto COM, puedes usar otro comando. 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']"
      ['FTDIBUS\VID_0403+PID_6001+AL01WP6MA\0000']
  7. Actualiza la lista de dispositivos dorados:
    1. Abrir C:\GRL\Thread1.1\Config\Configuration.ini
    2. Agrega una agrupación OpenThread_WpanCtl al array GoldenDeviceHardwareIds con el VID y el 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=1915:CAFE'],
      'OpenThread_WpanCtl':['VID_0403+PID_6001’]}

Cuando se complete toda la configuración, haz lo siguiente:

  1. Inicia el arnés de prueba de GRL.
  2. En la página Configure Test Bed, el dispositivo o puerto ahora aparece como un dispositivo NCP de OT.

    Si el DUT no aparece en la sección Test Bed después de que se inicia el sistema de prueba, agrégalo de forma manual arrastrando el dispositivo OpenThread WpanCtl: wpantund+NCP de la sección Hardware compatible a la sección Test Bed. Después de arrastrar, haz lo siguiente:

    1. Asegúrate de que se propaguen los valores correctos de línea serie (puerto COM) y velocidad (tasa de baudios).
    2. Haz clic en el botón de flecha debajo del campo Velocidad para establecer la conexión serie entre el kit de prueba y el dispositivo NCP de OT.
  3. Selecciona la casilla de verificación Enable Auto DUT Device Selection debajo de la lista de hardware compatible.

  4. Selecciona el botón de selección Set as DUT debajo del dispositivo o puerto de destino para configurar el dispositivo NCP de OT como el DUT.

SSH de certificación de OTBR

Conexión SSH

En la RPi3B, habilita SSH:

  1. Habilita el servicio SSH en el inicio:
    sudo systemctl enable ssh
  2. Inicia el servicio de SSH:
    sudo systemctl start ssh

Para habilitar SSH en un RPi3B sin interfaz gráfica, consulta el paso 3 de la documentación de SSH de Raspberry Pi.

En la máquina de Windows que ejecuta el entorno de pruebas, haz lo siguiente:

  1. Instala Paramiko para el entorno de Python de GRL:
    cd C:\GRL\Python2.7
    python -m pip install --upgrade pip
    python -m pip install paramiko
  2. Inicia el GRL Test Harness.
  3. En la página Configure Test Bed, arrastra el dispositivo OpenThread WpanCtl SSH: wpantund+NCP de la sección Hardware compatible a la sección Test Bed.
  4. Completa IP addr con 192.168.1.100 y PORT con 22 para el dispositivo.
  5. Haz clic en el botón de flecha debajo del campo PUERTO para establecer una conexión SSH entre el arnés de prueba y el dispositivo NCP de OT.
SSH de certificación de OTBR

Configuración de automatización

Consulta los pasos Install y Configure de la guía de configuración de automatización de certificaciones para obtener instrucciones sobre cómo configurar la herramienta de automatización de Harness.

Ejecuta casos de prueba

Consulta Cómo ejecutar casos de prueba de certificación para obtener información sobre cómo ejecutar casos de prueba de certificación en el DUT de OTBR.

Solución de problemas

Reinicio del dispositivo

Si necesitas reiniciar la RPi3B, cierra el software del sistema de prueba y espera al menos 20 segundos después de que se complete el reinicio para volver a iniciarlo.

El kit de prueba no detecta el router de borde.

Cuando se usa una conexión de puerto serie, es posible que el kit de prueba no detecte el router de borde. Si este es el caso, haz lo siguiente:

  1. Verifica si un acceso de Shell funciona para el puerto serie con una herramienta como PuTTY.
    1. Usa el puerto COM para el dispositivo FT232 y una velocidad (tasa de baudios) de 115200.
    2. Si el acceso falla, reinicia todos los dispositivos y vuelve a intentarlo.
  2. En la RPi3B, verifica el estado de wpantund:
    sudo service wpantund status
    Si el estado es "anormal", haz lo siguiente:
    1. Asegúrate de que la placa NCP nRF52840 esté montada:
      ls /dev/tty*
      /dev/ttyACM0
    2. Valida que este puerto coincida con la configuración de wpantund:
      // default value in '/etc/wpantund.conf'
      Config:NCP:SocketPath "/dev/ttyACM0"
    3. Reinicia wpantund:
      sudo service wpantund restart