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
Erstellen Sie eine neue Netzwerkkonfiguration.
dataset init new
DoneRufen 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 DoneCommitte das neue Dataset im nichtflüchtigen Speicher an das aktive Betriebs-Dataset.
dataset commit active
DoneAktivieren Sie die Thread-Schnittstelle.
ifconfig up
Donethread start
DoneRufen Sie in der Linux-Hostkonsole (nicht in einer
ot-ctl
-Sitzung) mitifconfig
die neue Thread-Netzwerkschnittstelle auf:ifconfig wpan0
wpan0: flags=4305mtu 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.
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
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.
Aktualisieren Sie die Thread-Netzwerkanmeldedaten für den Knoten mit den Mindestwerten aus OTBR:
dataset networkkey f366cec7a446bab978d90d27abe38f23
Donedataset commit active
DoneRufen Sie die Thread-Benutzeroberfläche auf und starten Sie Thread:
ifconfig up
Donethread start
DoneDer 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.
So rufen Sie das NAT64-Präfix im Thread-Netzwerk auf:
Hier istnetdata 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 - - -fd3e:d39b:d91:2:0:0::/96
das NAT64-Präfix im Thread-Netzwerk.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.