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.
Conexión de puerto en serie (recomendado)
En la Raspberry Pi 3B (RPi3B), habilita el puerto en serie y la shell de acceso:
- Ingresa al menú de configuración:
sudo raspi-config
- En el menú de configuración, selecciona 5 Interfacing Options.
- En el menú Interface Options, selecciona P6 Serial Enable/Disable.
- Reinicia el RPi3B.
En la máquina de Windows que ejecuta el arnés de prueba, haz lo siguiente:
- Descarga e instala el controlador FT232.
- Conecta el adaptador USB a UART FT232 a un puerto USB de la máquina con Windows.
- Establece el puente de voltaje en el FT232 en 3.3 V.
- 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 - Una vez conectado, reinicia la máquina de Windows.
- Encuentra el identificador de hardware del puerto en serie del dispositivo con el módulo de pySerial de Python:
- Instala pySerial en la máquina de Windows.
- 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
COM10desc: USB Serial Port (COM10)
hwid: FTDIBUS\VID_0403+PID_6001+AL01WOSZA\0000
- 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']
- Actualiza la lista de dispositivos dorados:
- Abrir
C:\GRL\Thread1.1\Config\Configuration.ini
- 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’]}
- Abrir
Cuando se complete toda la configuración, haz lo siguiente:
- Inicia el arnés de prueba de GRL.
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:
- Asegúrate de que se propaguen los valores correctos de línea serie (puerto COM) y velocidad (tasa de baudios).
- 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.
Selecciona la casilla de verificación Enable Auto DUT Device Selection debajo de la lista de hardware compatible.
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.
Conexión SSH
En la RPi3B, habilita SSH:
- Habilita el servicio SSH en el inicio:
sudo systemctl enable ssh
- 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:
- 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
- Inicia el GRL Test Harness.
- 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.
- Completa IP addr con 192.168.1.100 y PORT con 22 para el dispositivo.
- 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.
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:
- Verifica si un acceso de Shell funciona para el puerto serie con una herramienta como PuTTY.
- Usa el puerto COM para el dispositivo FT232 y una velocidad (tasa de baudios) de 115200.
- Si el acceso falla, reinicia todos los dispositivos y vuelve a intentarlo.
- En la RPi3B, verifica el estado de
wpantund
: Si el estado es "anormal", haz lo siguiente:sudo service wpantund status
- Asegúrate de que la placa NCP nRF52840 esté montada:
ls /dev/tty*
/dev/ttyACM0 - Valida que este puerto coincida con la configuración de
wpantund
:// default value in '/etc/wpantund.conf' Config:NCP:SocketPath "/dev/ttyACM0"
- Reinicia
wpantund
:sudo service wpantund restart
- Asegúrate de que la placa NCP nRF52840 esté montada: