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
Donedataset
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 Donedataset commit active
Doneifconfig up
Donethread 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
Donedataset panid 0x8f28
Donedataset commit active
Donerouterselectionjitter 1
Doneifconfig up
Donethread 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
Donedataset
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 Donedataset commit active
Doneifconfig up
Donethread 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
Donethread start
Done
Zaczekaj kilka sekund i sprawdź, czy urządzenie zostało ponownie podłączone do sieci:
panid
0x8f28 Donestate
router Done
Weryfikowanie generowania liczb losowych
Możesz to zrobić, wykonując polecenie factoryreset
i weryfikując nowy losowy adres rozszerzony.
extaddr
a660421703f3fdc3 Donefactoryreset
Zaczekaj chwilę...
extaddr
9a8ed90715a5f7b6
Done