Validar a porta

Veja o código-fonte no GitHub

A validação básica é necessária para verificar uma porta de sucesso do OpenThread para um novo exemplo de plataforma de hardware.

Compilar para a plataforma de destino

Demonstre um build bem-sucedido compilando o aplicativo OpenThread de exemplo para a plataforma de destino.

./script/build efr32mg12 -DBOARD=brd4161a

Interagir com a CLI

Demonstre a execução do OpenThread e o recurso UART bem-sucedidos interagindo com a CLI.

Abra um terminal para /dev/ttyACM0 (configurações de porta serial: 115200 8-N-1). Digite help para ver uma lista de comandos.

help
help
autostart
bufferinfo
...
version
whitelist

Criar uma rede Thread

Demonstre timers de protocolo bem-sucedidos formando uma rede Thread e verificando se o nó passou para o estado Líder.

dataset init new
Done
dataset
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done
dataset commit active
Done
ifconfig up
Done
thread start
Done

Aguarde alguns segundos...

state
leader
Done

Anexar um segundo nó

Demonstre uma comunicação de rádio bem-sucedida ao anexar um segundo nó à rede de Thread recém-formada, usando a mesma chave de rede de linha de execução e o ID PAN do primeiro nó:

dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
Done
dataset panid 0x8f28
Done
dataset commit active
Done
routerselectionjitter 1
Done
ifconfig up
Done
thread start
Done

Aguarde alguns segundos...

state
router
Done

Dê um ping entre dispositivos

Demonstrar comunicação de caminho de dados bem-sucedida enviando/recebendo mensagens de solicitação/resposta de eco ICMPv6.

Liste todos os endereços IPv6 de líderes:

ipaddr
fdde:ad00:beef:0:0:ff:fe00:fc00
fdde:ad00:beef:0:0:ff:fe00:800
fdde:ad00:beef:0:5b:3bcd:deff:7786
fe80:0:0:0:6447:6e10:cf7:ee29
Done

Envie um ping ICMPv6 do roteador para o endereço IPv6 do EID local da malha do líder:

ping fdde:ad00:beef:0:5b:3bcd:deff:7786
16 bytes from fdde:ad00:beef:0:5b:3bcd:deff:7786: icmp_seq=1 hlim=64 time=24ms

Redefinir um dispositivo e validar o anexo

Demonstre funcionalidade não volátil redefinindo o dispositivo e validando a reconexão à mesma rede sem a intervenção do usuário.

Inicie uma rede Thread:

dataset init new
Done
dataset
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done
dataset commit active
Done
ifconfig up
Done
thread start
Done

Aguarde alguns segundos e verifique se o conjunto de dados ativo foi armazenado em um armazenamento não volátil:

dataset active
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done

Redefina o dispositivo:

reset
ifconfig up
Done
thread start
Done

Aguarde alguns segundos e verifique se o dispositivo foi reanexado à rede:

panid
0x8f28
Done
state
router
Done

Verificar a geração de números aleatórios

Demonstre a geração de números aleatórios executando o comando factoryreset e verificando um novo endereço estendido aleatório.

extaddr
a660421703f3fdc3
Done
factoryreset

Aguarde alguns segundos...

extaddr
9a8ed90715a5f7b6
Done