Port prüfen

Quelle auf GitHub ansehen

Die grundlegende Validierung ist erforderlich, um einen erfolgreichen Port von OpenThread auf ein neues Hardwareplattform-Beispiel zu prüfen.

Kompilieren Sie die Zielplattform.

Erfolgreichen Build durch Kompilierung der OpenThread-Beispielanwendung für die Zielplattform demonstrieren

./script/build efr32mg12 -DBOARD=brd4161a

Mit der Befehlszeile interagieren

Erfolgreiche OpenThread-Ausführung und UART-Funktionen durch Interaktion mit der Befehlszeile demonstrieren

Öffnen Sie ein Terminal zu /dev/ttyACM0 (Einstellungen für den seriellen Port: 115200 8-N-1). Geben Sie help für eine Liste von Befehlen ein.

help
help
autostart
bufferinfo
...
version
whitelist

Thread-Netzwerk bilden

Präsentieren Sie erfolgreiche Protokoll-Timer, indem Sie ein Thread-Netzwerk bilden und prüfen, ob der Knoten auf den Leader-Status umgestellt wurde.

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

Warte ein paar Sekunden...

state
leader
Done

Zweiten Knoten anhängen

Demonstrieren Sie die erfolgreiche Funkkommunikation, indem Sie einen zweiten Knoten an das neu gebildete Thread-Netzwerk anhängen, indem Sie denselben Thread-Netzwerkschlüssel und dieselbe PAN-ID aus dem ersten Knoten verwenden:

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

Warte ein paar Sekunden...

state
router
Done

Zwischen Geräten pingen

Erfolgreiche Kommunikation mit Datenpfaden durch Senden/Empfangen von ICMPv6-Echo-Anfrage-/-Antwortnachrichten demonstrieren.

Listen Sie alle IPv6-Adressen des Leaders auf:

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

Senden Sie einen ICMPv6-Ping vom Router an die IPv6-Adresse des Mesh-Netzwerk-Hosts:

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

Gerät zurücksetzen und Verbindung überprüfen

Präsentieren Sie nichtflüchtige Funktionen, indem Sie das Gerät zurücksetzen und das erneute Anhängen an dasselbe Netzwerk validieren, ohne dass der Nutzer eingreifen muss.

So starten Sie ein Thread-Netzwerk:

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

Warten Sie einige Sekunden und prüfen Sie, ob das aktive Dataset im nichtflüchtigen Speicher gespeichert wurde:

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

Gerät zurücksetzen:

reset
ifconfig up
Done
thread start
Done

Warten Sie einige Sekunden und prüfen Sie, ob das Gerät wieder erfolgreich mit dem Netzwerk verbunden wurde:

panid
0x8f28
Done
state
router
Done

Generierung von Zufallszahlen prüfen

Veranschaulichen Sie die Generierung von Zufallszahlen, indem Sie den Befehl factoryreset ausführen und eine neue erweiterte Adresse prüfen.

extaddr
a660421703f3fdc3
Done
factoryreset

Warte ein paar Sekunden...

extaddr
9a8ed90715a5f7b6
Done