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.
Conexão da porta serial (recomendado)
No Raspberry Pi 3B (RPi3B), ative a porta serial e o shell de login:
- Acesse o menu de configuração:
sudo raspi-config
- No menu de configuração, selecione 5 opções de interface.
- No menu "Interfacing Options", selecione P6 Serial Enable/Disable.
- Reinicie o RPi3B.
Na máquina Windows que executa o Test Harness:
- Faça o download e instale o driver FT232.
- Conecte o adaptador USB para UART FT232 a uma porta USB na máquina Windows.
- Defina o jumper de tensão no FT232 como 3,3 V.
- 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 - Depois de conectar, reinicie a máquina Windows.
- Encontre o identificador de hardware da porta serial do dispositivo usando o módulo pySerial do Python:
- Instale o pySerial na máquina Windows.
- 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
COM10desc: USB Serial Port (COM10)
hwid: FTDIBUS\VID_0403+PID_6001+AL01WOSZA\0000
- 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']
- Atualize a lista de dispositivos Golden:
- Abrir
C:\GRL\Thread1.1\Config\Configuration.ini
- 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’]}
- Abrir
Quando a configuração for concluída:
- Inicie o arcabouço de testes GRL.
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:
- Verifique se os valores corretos de Linha serial (porta COM) e Velocidade (taxa de Baud) estão preenchidos.
- 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.
Marque a caixa de seleção Enable Auto DUT Device Selection abaixo da lista "Hardware compatível".
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.
Conexão SSH
No RPi3B, ative o SSH:
- Ative o serviço SSH na inicialização:
sudo systemctl enable ssh
- 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:
- 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
- Inicie o GRL Test Harness.
- 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.
- Preencha IP addr com 192.168.1.100 e PORT com 22 para o dispositivo.
- 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.
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:
- Verifique se um login do Shell funciona para a porta serial usando uma ferramenta como o
PuTTY.
- Use a porta COM para o dispositivo FT232 e uma velocidade (taxa de Baud) de 115200.
- Se o login falhar, reinicialize todos os dispositivos e tente de novo.
- No RPi3B, verifique o status de
wpantund
: Se o status for "anormal":sudo service wpantund status
- Verifique se a placa NCP nRF52840 está montada:
ls /dev/tty*
/dev/ttyACM0 - Valide se essa porta corresponde à configuração
wpantund
:// default value in '/etc/wpantund.conf' Config:NCP:SocketPath "/dev/ttyACM0"
- Restart
wpantund
:sudo service wpantund restart
- Verifique se a placa NCP nRF52840 está montada: