Rede Thread do formulário

Ver código-fonte no GitHub

Crie uma rede Thread e teste a conectividade dela com a Internet.

Iniciar uma sessão do "ot-ctl"

ot-ctl expõe os comandos da CLI do OpenThread. Consulte o guia da CLI do OpenThread para mais detalhes.

Se estiver usando o Docker, inicie uma sessão ot-ctl desta forma:

docker exec -it otbr ot-ctl

Se estiver usando o host nativo, inicie uma sessão ot-ctl da seguinte maneira:

sudo ot-ctl

Formar uma rede Thread

  1. Gere uma nova configuração de rede.

    dataset init new
    Done
    
  2. Confira a nova configuração de rede.

    dataset
    Active Timestamp: 1
    Channel: 15
    Wake-up Channel: 16
    Channel Mask: 0x07fff800
    Ext PAN ID: 39758ec8144b07fb
    Mesh Local Prefix: fdf1:f1ad:d079:7dc0::/64
    Network Key: f366cec7a446bab978d90d27abe38f23
    Network Name: OpenThread-5938
    PAN ID: 0x5938
    PSKc: 3ca67c969efb0d0c74a4d8ee923b576c
    Security Policy: 672 onrc 0
    Done
    
  3. Confirme o novo conjunto de dados no conjunto de dados operacionais ativo em armazenamento não volátil.

    dataset commit active
    Done
    
  4. Ative a interface Thread.

    ifconfig up
    Done
    thread start
    Done
    
  5. No console do host do Linux (fora de uma sessão ot-ctl), use ifconfig para conferir a nova interface de rede Thread:

    ifconfig wpan0
    wpan0: flags=4305  mtu 1280
            inet6 fe80::3c98:89e8:ddec:bda7  prefixlen 64  scopeid 0x20
            inet6 fd4d:b3e5:9738:3193:0:ff:fe00:fc00  prefixlen 64  scopeid 0x0
            inet6 fd4d:b3e5:9738:3193:0:ff:fe00:f800  prefixlen 64  scopeid 0x0
            inet6 fd4d:b3e5:9738:3193:39c4:ee02:ca9e:2b1d  prefixlen 64  scopeid 0x0
            unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
            RX packets 16  bytes 1947 (1.9 KiB)
            RX errors 0  dropped 3  overruns 0  frame 0
            TX packets 7  bytes 1152 (1.1 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

Mostrar um segundo nó da linha de execução

Com o OTBR instalado e em funcionamento, adicione um nó Thread independente à rede Thread e teste se ele tem conectividade com a Internet.

Consulte o Criar uma rede Thread com placas nRF52840 e o Codelab do OpenThread para instruções detalhadas sobre como criar e atualizar a plataforma nRF52840 da Nordic.

  1. Depois de criar e atualizar, use screen em uma nova janela de terminal para acessar a CLI. Por exemplo, se o dispositivo for montado na porta /dev/ttyACM1:

    screen /dev/ttyACM1 115200
    

  2. Pressione a tecla Enter para abrir o prompt da CLI > OpenThread.

Conectar o segundo nó à rede Thread

Usando a CLI do OpenThread para seu segundo nó Thread, conecte o nó à rede Thread criada pelo OTBR.

  1. Atualize as credenciais da rede Thread para o nó usando os valores mínimos necessários do OTBR:

    dataset networkkey f366cec7a446bab978d90d27abe38f23
    Done
    dataset commit active
    Done
    

  2. Mostre a interface da linha de execução e inicie a linha de execução:

    ifconfig up
    Done
    thread start
    Done
    

  3. O nó precisa entrar na rede Thread do OTBR automaticamente. Em dois minutos, o estado será router:

    state
    router
    

Fazer ping em um endereço público

Você poderá fazer um ping em um endereço IPv4 público do nó Thread independente neste ponto. Como o Thread usa apenas IPv6, o endereço IPv4 público será traduzido automaticamente para IPv6 ao ser combinado com o prefixo NAT64 na rede Thread.

  1. Para conferir o prefixo NAT64 na rede Thread:

    netdata show
    Prefixes:
    fd3e:d39b:d91:1::/64 paros low 1800
    Routes:
    ::/0 s med 1800
    fd3e:d39b:d91:2:0:0::/96 sn low 1800
    Services:
    Contexts:
    fd3e:d39b:d91:1::/64 1 c
    Commissioning:
    12156 - - -
    
    Aqui, fd3e:d39b:d91:2:0:0::/96 é o prefixo NAT64 na rede Thread.

  2. Faça ping em um endereço IPv4 da CLI do nó Thread autônomo para testar a conectividade de Internet:

    ping 8.8.8.8
    Pinging synthesized IPv6 address: fd3e:d39b:d91:2:0:0:808:808
    16 bytes from fd3e:d39b:d91:2:0:0:808:808: icmp_seq=1 hlim=113 time=73ms
    1 packets transmitted, 1 packets received. Packet loss = 0.0%. Round-trip min/avg/max = 73/73.0/73 ms.
    Done
    

Pronto. O segundo nó da Thread agora pode se comunicar com a Internet usando o OTBR.