Configuração do arcabouço de testes do roteador de borda

A configuração do conjunto de teste de linha GRL e da ferramenta de automação de conjunto do OpenThread para uso com o dispositivo em teste (DUT, na sigla em inglês) do OpenThread Border Router (OTBR, na sigla em inglês) é igual ao guia de configuração de automação de certificação. Use esse guia em conjunto com as alterações detalhadas aqui.

Para um design de NCP como o OTBR, o OpenThread fornece um exemplo de OpenThread_WpanCtl.py de interface de controle do host de Thread (THCI, na sigla em inglês) que permite que o Test Harness controle o NCP. Há dois modos de conexão para um dispositivo NCP:

  • Usar uma conexão de porta serial (recomendado para uso do recurso de detecção automática do Test Harness)
  • Usar uma conexão SSH

Salvo indicação em contrário, todas as etapas de instalação e configuração abaixo ocorrem na máquina Windows que executa o software GRL Test Arness, que precisa ser instalado antes de continuar.

Copiar arquivos de suporte do THCI

Verifique se você tem a versão mais recente do THCI na máquina Windows. Clone o repositório do OpenThread ou, se você já tiver feito isso, mude para a ramificação main:

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

Copie os seguintes arquivos de /tools/harness-thci no repositório do OpenThread clonado para os diretórios especificados na máquina Windows:

Arquivo de origem Copiar para o diretório
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 o tipo de conexão

Para controlar o Test Harness do NCP, configure uma conexão de porta serial ou SSH.

No Raspberry Pi 3B (RPi3B), ative a porta serial e o shell de login:

  1. Acesse o menu de configuração:
    sudo raspi-config
  2. No menu de configuração, selecione 5 opções de interface.
  3. No menu "Interfacing Options", selecione P6 Serial Enable/Disable.
  4. Reinicie o RPi3B.

Na máquina Windows que executa o Test Harness:

Conexão OTBR FT232
  1. Faça o download e instale o driver FT232.
  2. Conecte o adaptador USB para UART FT232 a uma porta USB na máquina Windows.
  3. Defina o jumper de tensão no FT232 como 3,3 V.
  4. Conecte o FT232 ao RPi3B usando os seguintes pinos e linhas Dupont:
    Pino RPi3B Pino FT232 Linha Dupont
    Pin6 GND Branco
    Pin8 RXD Amarelo
    Pin10 TXD Vermelho
  5. Depois de conectar, reinicie a máquina Windows.
  6. Encontre o identificador de hardware da porta serial do dispositivo usando o módulo pySerial do Python:
    1. Instale o pySerial na máquina Windows.
    2. Use o Python na linha de comando do Windows para enumerar todos os identificadores de hardware (VID e PID) dos dispositivos conectados à máquina. Nesta saída, um dispositivo NCP está conectado, com um 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. Se você já souber a porta COM, use um comando diferente. Por exemplo, se a porta COM for 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. Atualize a lista de dispositivos Golden:
    1. Abrir C:\GRL\Thread1.1\Config\Configuration.ini
    2. Adicione um agrupamento OpenThread_WpanCtl à matriz GoldenDeviceHardwareIds com o VID e o PID dos 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’]}

Quando a configuração for concluída:

  1. Inicie o arcabouço de testes GRL.
  2. Na página Configure Test Bed, o dispositivo/porta agora aparece como um dispositivo NCP de OT.

    Se o DUT não estiver listado na seção Test Bed depois que o Test Harness for iniciado, adicione-o manualmente arrastando o dispositivo OpenThread WpanCtl: wpantund+NCP da seção Supported Hardware para a seção Test Bed. Depois de arrastar:

    1. Verifique se os valores corretos de Linha serial (porta COM) e Velocidade (taxa de Baud) estão preenchidos.
    2. Clique no botão de seta abaixo do campo Speed para estabelecer a conexão serial entre o arcabouço de testes e o dispositivo OT NCP.
  3. Marque a caixa de seleção Enable Auto DUT Device Selection abaixo da lista "Hardware compatível".

  4. Selecione o botão de opção Set as DUT (definir como DUT) em "Device/port target" (dispositivo/porta de destino) para definir o dispositivo OT NCP como o DUT.

SSH de certificação OTBR

Conexão SSH

No RPi3B, ative o SSH:

  1. Ative o serviço SSH na inicialização:
    sudo systemctl enable ssh
  2. Inicie o serviço SSH:
    sudo systemctl start ssh

Para ativar o SSH em um RPi3B sem cabeça, consulte a Etapa 3 da documentação do SSH do Raspberry Pi.

Na máquina Windows que executa o Test Harness:

  1. Instale o Paramiko para o ambiente Python do GRL:
    cd C:\GRL\Python2.7
    python -m pip install --upgrade pip
    python -m pip install paramiko
  2. Inicie o GRL Test Harness.
  3. Na página Configure Test Bed, arraste o dispositivo OpenThread WpanCtl SSH: wpantund+NCP da seção Supported Hardware para a seção Test Bed.
  4. Preencha IP addr com 192.168.1.100 e PORT com 22 para o dispositivo.
  5. Clique no botão de seta abaixo do campo PORT para estabelecer uma conexão SSH entre o Test Harness e o dispositivo OT NCP.
SSH para certificação OTBR

Configuração de automação

Consulte as etapas Instalar e Configurar do guia de configuração de automação de certificação para instruções sobre como configurar a ferramenta de automação de harness.

Executar casos de teste

Consulte Como executar casos de teste de certificação para saber como executar casos de teste de certificação no DUT do OTBR.

Solução de problemas

O dispositivo está sendo reinicializado

Se você precisar reinicializar o RPi3B, feche o software do arcabouço de testes e aguarde pelo menos 20 segundos após a conclusão da reinicialização para iniciá-lo novamente.

O Test Harness não consegue detectar o roteador de borda

Ao usar uma conexão de porta serial, o arcabouço de testes pode não descobrir o roteador de borda. Nesse caso:

  1. Verifique se um login do Shell funciona para a porta serial usando uma ferramenta como o PuTTY.
    1. Use a porta COM para o dispositivo FT232 e uma velocidade (taxa de Baud) de 115200.
    2. Se o login falhar, reinicialize todos os dispositivos e tente de novo.
  2. No RPi3B, verifique o status de wpantund:
    sudo service wpantund status
    Se o status for "anormal":
    1. Verifique se a placa NCP nRF52840 está montada:
      ls /dev/tty*
      /dev/ttyACM0
    2. Valide se essa porta corresponde à configuração wpantund:
      // default value in '/etc/wpantund.conf'
      Config:NCP:SocketPath "/dev/ttyACM0"
    3. Restart wpantund:
      sudo service wpantund restart