Configuración del agente de prueba del router de borde

La configuración del agente de prueba de subprocesos de GRL y la herramienta de automatización de OpenThread Harness para su uso con el dispositivo de router de borde (OTBR) de OpenThread es la misma que la Guía de configuración de automatización de certificaciones. Usa esa guía junto con los cambios detallados aquí.

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

  • Con una conexión de puerto en serie (recomendado para el uso de la función de descubrimiento automático del agente de prueba)
  • Usa una conexión SSH

A menos que se indique lo contrario, todos los pasos de instalación y configuración que se muestran a continuación ocurren en la máquina de Windows que ejecuta el software de agente de prueba de GRL, que debe instalarse antes de continuar.

Copiar archivos de asistencia de THCI

Asegúrate de que tienes la última versión del 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 clonado de OpenThread en los directorios especificados en la máquina de Windows:

Archivo fuente Copiar al 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\

Configurar el tipo de conexión

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

En la placa 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 Opciones de interfaz.
  3. En el menú de opciones de interfaz, selecciona Enable Serial Enable/Disable.
  4. Reinicia el RPi3B.

En la máquina de Windows que ejecuta el agente de prueba:

Conexión OTBR FT232
  1. Descarga y, luego, instala el controlador FT232.
  2. Conecta el adaptador FT232 USB a UART a una ranura USB en la máquina Windows.
  3. Establece el puente de voltaje en el FT232 en 3.3 V.
  4. Conecta el FT232 con el RPi3B mediante los siguientes pines y líneas de Dupont:
    Pin RPi3B FT232 Línea de Dupont
    Pin6 Red de Display de Google Blanco
    Pin8 RXD Amarillo
    Pin10 TXD Rojo
  5. Una vez conectado, reinicia la máquina Windows.
  6. Busca el identificador de hardware del puerto en serie del dispositivo con el módulo 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, hay un dispositivo NCP conectado con un identificador 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 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']"
      ['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 de OpenThread_WpanCtl al arreglo 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’]}

Una vez que se complete toda la configuración:

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

    Si el DUT no aparece en la sección Cama de prueba después de iniciar el agente de prueba, agrégalo manualmente arrastrando el dispositivo OpenThread WpanCtl: wpantund+NCP de la sección Hardware compatible a la sección Cama de prueba. Después de arrastrar:

    1. Asegúrate de que los valores de Línea de serie (Puerto de COM) y Velocidad (velocidad de transmisión) sean correctos.
    2. Haz clic en el botón de flecha debajo del campo Velocidad para establecer la conexión en serie entre el agente de prueba y el dispositivo NCP de OT.
  3. Selecciona la casilla de verificación Habilitar la selección automática de dispositivos de DUT que se encuentra debajo de la lista de hardware compatible.

  4. Selecciona el botón de selección Establecer como DUT en el puerto o dispositivo de destino para establecer el dispositivo OT NCP como el DUT.

SSH de la certificación de OTBR

Conexión SSH

En RPi3B, habilita SSH:

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

Para habilitar SSH en una 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 agente de prueba:

  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 agente de prueba de GRL.
  3. En la página Configure Test Bed, arrastra el dispositivo OpenThread WpanCtl SSH: wpantund+NCP desde la sección Hardware Hardware hasta la sección Test Bed.
  4. Propaga el agregador de IP con 192.168.1.100 y el PORT por 22 para el dispositivo.
  5. Haz clic en el botón de flecha debajo del campo PORT para establecer una conexión SSH entre el agente de prueba y el dispositivo OT NCP.
SSH de la certificación de OTBR

Configuración de automatización

Consulta los pasos Instala y Configurar de la guía de configuración de la automatización de la certificación para obtener instrucciones sobre cómo configurar la herramienta de automatización de agente.

Ejecuta casos de prueba

Consulta Cómo ejecutar casos de prueba de certificación para aprender a ejecutar casos de prueba de certificación en el DUT de OTBR.

Solución de problemas

Reinicios del dispositivo

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

El agente de prueba no puede detectar el router de borde

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

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