Sprawdź port

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Wyświetl źródło na GitHubie

Weryfikacja podstawowa jest niezbędna do zweryfikowania pomyślnego przeniesienia protokołu OpenThread na nową platformę sprzętową.

Kompilacja dla platformy docelowej

Zademonstruj udaną kompilację, kompilując przykładową aplikację OpenThread na platformę docelową.

./script/build efr32mg12 -DBOARD=brd4161a

Interakcja z wierszem poleceń

Zademonstruj udane wykonanie OpenThread i możliwość UART za pomocą interfejsu wiersza poleceń.

Otwórz terminal na /dev/ttyACM0 (ustawienia portu szeregowego: 115200 8-N-1). Wpisz help, aby wyświetlić listę poleceń.

help
help
autostart
bufferinfo
...
version
whitelist

Utwórz sieć Thread

Pokaż skuteczne liczniki czasu protokołu, tworząc sieć Thread i weryfikując, czy węzeł przełączył się na stan lidera.

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

Zaczekaj chwilę...

state
leader
Done

Dołącz drugi węzeł

Pokaż dobrą komunikację radiową, dołączając drugi węzeł do nowo utworzonej sieci Thread, używając tego samego klucza sieciowego wątku i identyfikatora PAN z pierwszego węzła:

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

Zaczekaj chwilę...

state
router
Done

Pingowanie między urządzeniami

Udowodnij, że komunikowanie się ze ścieżkami danych jest udane przez wysyłanie i odbieranie echa żądania/odpowiedzi ICMPv6.

Wyświetl wszystkie adresy IPv6 lidera:

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

Wyślij ping ICMPv6 z routera na adres IPv6 typu mesh-local EID IPv6:

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

Resetowanie urządzenia i weryfikowanie ponownego załączania

Wykaż, że funkcje nieulotne są możliwe, resetując urządzenie i weryfikując, czy zostało ponownie połączone z tą samą siecią bez udziału użytkownika.

Rozpoczynanie sieci wątków:

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

Zaczekaj kilka sekund i sprawdź, czy aktywny zbiór danych jest przechowywany w nieulotnej pamięci:

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

Zresetuj urządzenie:

reset
ifconfig up
Done
thread start
Done

Zaczekaj kilka sekund i sprawdź, czy urządzenie zostało ponownie podłączone do sieci:

panid
0x8f28
Done
state
router
Done

Weryfikowanie generowania liczb losowych

Możesz to zrobić, wykonując polecenie factoryreset i weryfikując nowy losowy adres rozszerzony.

extaddr
a660421703f3fdc3
Done
factoryreset

Zaczekaj chwilę...

extaddr
9a8ed90715a5f7b6
Done