Thread-Netzwerk für Formulare

Quellcode auf GitHub ansehen

Erstellen Sie ein Thread-Netzwerk und testen Sie die Internetverbindung.

Eine „ot-ctl“-Sitzung starten

ot-ctl stellt die OpenThread-Befehlszeilenbefehle bereit. Weitere Informationen finden Sie im OpenThread-Befehlszeilenhandbuch.

Wenn Sie Docker verwenden, starten Sie eine ot-ctl-Sitzung so:

docker exec -it otbr ot-ctl

Wenn Sie einen nativen Host verwenden, starten Sie eine ot-ctl-Sitzung so:

sudo ot-ctl

Thread-Netzwerk bilden

  1. Erstellen Sie eine neue Netzwerkkonfiguration.

    dataset init new
    Done
    
  2. Rufen Sie die neue Netzwerkkonfiguration auf.

    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. Committe das neue Dataset im nichtflüchtigen Speicher an das aktive Betriebs-Dataset.

    dataset commit active
    Done
    
  4. Aktivieren Sie die Thread-Schnittstelle.

    ifconfig up
    Done
    thread start
    Done
    
  5. Rufen Sie in der Linux-Hostkonsole (nicht in einer ot-ctl-Sitzung) mit ifconfig die neue Thread-Netzwerkschnittstelle auf:

    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
    

Zweiten Threadknoten aufrufen

Wenn der OTBR betriebsbereit ist, fügen Sie dem Thread-Netzwerk einen eigenständigen Thread-Knoten hinzu und testen Sie, ob er eine Internetverbindung hat.

Eine ausführliche Anleitung zum Erstellen und Flashen der Nordic nRF52840-Plattform finden Sie im Codelab zum Erstellen eines Thread-Netzwerks mit nRF52840-Boards und OpenThread.

  1. Nach dem Builden und Flashen können Sie mit screen in einem neuen Terminalfenster auf die Befehlszeile zugreifen. Wenn das Gerät beispielsweise an Port /dev/ttyACM1 bereitgestellt ist:

    screen /dev/ttyACM1 115200
    

  2. Drücken Sie die Eingabetaste, um den > OpenThread-Befehlszeilen-Prompt aufzurufen.

Zweiten Knoten dem Thread-Netzwerk zuweisen

Verwenden Sie die OpenThread-Befehlszeile für Ihren zweiten Thread-Knoten, um den Knoten mit dem von OTBR erstellten Thread-Netzwerk zu verbinden.

  1. Aktualisieren Sie die Thread-Netzwerkanmeldedaten für den Knoten mit den Mindestwerten aus OTBR:

    dataset networkkey f366cec7a446bab978d90d27abe38f23
    Done
    dataset commit active
    Done
    

  2. Rufen Sie die Thread-Benutzeroberfläche auf und starten Sie Thread:

    ifconfig up
    Done
    thread start
    Done
    

  3. Der Knoten sollte sich automatisch dem OTBR-Thread-Netzwerk anschließen. Innerhalb von zwei Minuten sollte der Status router sein:

    state
    router
    

Ping an eine öffentliche Adresse

Sie sollten jetzt in der Lage sein, über den eigenständigen Threadknoten einen Ping an eine öffentliche IPv4-Adresse zu senden. Da in Thread nur IPv6 verwendet wird, wird die öffentliche IPv4-Adresse automatisch in IPv6 umgewandelt, indem sie mit dem NAT64-Präfix im Thread-Netzwerk kombiniert wird.

  1. So rufen Sie das NAT64-Präfix im Thread-Netzwerk auf:

    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 - - -
    
    Hier ist fd3e:d39b:d91:2:0:0::/96 das NAT64-Präfix im Thread-Netzwerk.

  2. Pingen Sie über die Befehlszeile des eigenständigen Thread-Knotens eine IPv4-Adresse, um die Internetverbindung zu testen:

    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
    

Fertig! Der zweite Thread-Knoten kann jetzt über OTBR mit dem Internet kommunizieren.