Crea una rete Thread

Visualizza il codice sorgente su GitHub

Forma una rete Thread e testa la connettività a internet.

Avvia una sessione `ot-ctl`

ot-ctl espone i comandi dell'interfaccia a riga di comando OpenThread. Per ulteriori dettagli, consulta la guida all'interfaccia a riga di comando OpenThread.

Se utilizzi Docker, avvia una sessione ot-ctl come segue:

docker exec -it otbr ot-ctl

Se utilizzi l'host nativo, avvia una sessione ot-ctl come segue:

sudo ot-ctl

Formare una rete Thread

  1. Genera una nuova configurazione di rete.

    dataset init new
    Done
    
  2. Visualizza la nuova configurazione di rete.

    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. Esegui il commit del nuovo set di dati nel set di dati operativo attivo in uno spazio di archiviazione non volatile.

    dataset commit active
    Done
    
  4. Attiva l'interfaccia Thread.

    ifconfig up
    Done
    thread start
    Done
    
  5. Nella console dell'host Linux (non in una sessione ot-ctl), utilizza ifconfig per visualizzare la nuova interfaccia di rete 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
    

Apri un secondo nodo Thread

Una volta che l'OTBR è attivo e funzionante, aggiungi un nodo Thread autonomo alla rete Thread e verifica che sia connesso a internet.

Consulta la sezione Creare una rete Thread con schede nRF52840 e il Codelab OpenThread per istruzioni dettagliate su come compilare e eseguire il flashing della piattaforma Nordic nRF52840.

  1. Dopo la compilazione e il flashing, utilizza screen in una nuova finestra del terminale per accedere all'interfaccia a riga di comando. Ad esempio, se il dispositivo è montato sulla porta/dev/ttyACM1:

    screen /dev/ttyACM1 115200
    

  2. Premi il tasto Invio per visualizzare il prompt > dell'interfaccia a riga di comando OpenThread.

Collega il secondo nodo alla rete Thread

Utilizzando il client OpenThread CLI per il secondo nodo Thread, connetti il nodo alla rete Thread creata da OTBR.

  1. Aggiorna le credenziali di rete Thread per il nodo utilizzando i valori minimi obbligatori dell'OTBR:

    dataset networkkey f366cec7a446bab978d90d27abe38f23
    Done
    dataset commit active
    Done
    

  2. Mostra l'interfaccia Thread e avvia Thread:

    ifconfig up
    Done
    thread start
    Done
    

  3. Il nodo dovrebbe connettersi automaticamente alla rete Thread dell'OTBR. Entro due minuti lo stato dovrebbe essere router:

    state
    router
    

Inviare un ping a un indirizzo pubblico

A questo punto dovresti essere in grado di eseguire un ping a un indirizzo IPv4 pubblico dal nodo Thread autonomo. Poiché Thread utilizza solo IPv6, l'indirizzo IPv4 pubblico verrà tradotto automaticamente in IPv6 combinandolo con il prefisso NAT64 nella rete Thread.

  1. Per visualizzare il prefisso NAT64 nella rete 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 - - -
    
    Qui fd3e:d39b:d91:2:0:0::/96 è il prefisso NAT64 nella rete Thread.

  2. Invia un ping a un indirizzo IPv4 dalla CLI del nodo Thread autonomo per verificarne la connettività a 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
    

Operazione riuscita. Il secondo nodo Thread ora può comunicare con internet tramite OTBR.