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

A configuração do arcabouço de testes da linha de execução GRL e a ferramenta de automação de arcabouço do OpenThread para uso com o dispositivo Thread Teste (OTT, na sigla em inglês) do OpenThread Border Router (DUT) é igual ao guia de configuração da automação de certificação. Use esse guia com as mudanças detalhadas aqui.

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

  • Usando uma conexão de porta serial (recomendado para o recurso de descoberta automática do Test Harness).
  • Como usar uma conexão SSH

A menos que indicado de outra forma, todas as etapas de instalação e configuração abaixo ocorrem na máquina Windows com o software GRL Test Harness, que precisa ser instalado antes de continuar.

Copiar arquivos de suporte THCI

Verifique se você tem a versão mais recente do THCI no computador Windows. Clone o repositório do OpenThread ou, se já tiver um, alterne 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 clonado do OpenThread para os diretórios especificados na máquina do Windows:

Arquivo de origem Copiar no 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 tipo de conexão

Para o controle do arcabouço de testes do NCP, configure uma conexão de porta serial ou uma conexão 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 Cinco opções de interface.
  3. No menu "Opções de interface", selecione Ativar/desativar série P6.
  4. Reinicie o RPi3B.

Na máquina Windows que executa o arcabouço de testes:

Conexão OTBR FT232
  1. Faça o download e instale o driver FT232.
  2. Conecte o adaptador USB FT232 ao UART a um slot USB na máquina Windows.
  3. Defina o salto da tensão em FT232 para 3,3 V.
  4. Conecte o FT232 ao RPi3B usando os seguintes pinos e linhas Dupont:
    Alfinete RPi3B Alfinete FT232 Linha dupont
    Pin6 ND Branco
    Pin8 RXD Amarelo
    Pin10 TXD Vermelho
  5. Depois de se conectar, reinicie o computador Windows.
  6. Encontre o identificador de hardware da porta serial do dispositivo usando o módulo Python pySerial:
    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) para 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, poderá usar outro comando. 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 dourados:
    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’]}

Depois de concluir todas as configurações:

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

    Se o DUT não estiver listado na seção Test Bed após o início do arcabouço de teste, 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 (baud rate) 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 de hardware com suporte.

  4. Selecione o botão de opção Set as DUT no dispositivo/porta de destino para definir o dispositivo OT NCP como DUT.

SSH da 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 headless, consulte a Etapa 3 da documentação do SSH do Raspberry Pi.

Na máquina Windows que executa o arcabouço de testes:

  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 arcabouço de testes do GRL.
  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 o Endereço IP 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 arcabouço de testes e o dispositivo CP NCP.
SSH da certificação OTBR

Configuração de automação

Consulte as etapas de instalação e configuração do guia de configuração da automação de certificação para ver instruções sobre como configurar a ferramenta Harness Automation.

Executar casos de teste

Consulte Como executar casos de teste de certificação para saber como executar casos de teste de certificação na DUBR OTT.

Solução de problemas

Reinicializações do dispositivo

Se você precisar reiniciar o RPi3B, feche o software de arcabouço de testes e aguarde pelo menos 20 segundos após a reinicialização para reiniciar o arcabouço de testes.

O arcabouço de testes não descobre 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 PUB.
    1. Use a porta COM para o dispositivo FT232 e a velocidade (baud rate) de 115200.
    2. Se o login falhar, reinicialize todos os dispositivos e tente novamente.
  2. No RPi3B, verifique o status de wpantund:
    sudo service wpantund status
    Se o status for "anormal":
    1. Confira se a placa nRF52840 NCP 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. Reinicie o wpantund:
      sudo service wpantund restart