Podstawowa weryfikacja jest niezbędna do przejścia skutecznego portu OpenThread do nowej platformy sprzętowej.
Kompilacja dla platformy docelowej
Zaprezentować kompilację udaną kompilację przez kompilację przykładowej aplikacji OpenThread dla platformy docelowej.
./script/build efr32mg12 -DBOARD=brd4161a
Interakcja z interfejsem wiersza poleceń
Zademonstruj, jak działa OpenThread i możliwość UART dzięki interakcji z interfejsem wiersza poleceń.
Otwórz terminal na /dev/ttyACM0
(ustawienia portu szeregowego: 115200 8-N-1). Aby wyświetlić listę poleceń, wpisz help
.
help
help
autostart
bufferinfo
...
version
whitelist
Tworzenie sieci wątków
Zadeklaruj udane liczniki czasu protokołów, tworząc sieć Thread i sprawdzając, czy węzeł został przeniesiony do stanu Leader.
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
Podłącz drugi węzeł
Zadeklaruj udaną komunikację radiową, dołączając drugi węzeł do nowo utworzonej sieci Thread, używając tego samego klucza sieci 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
Zademonstruj powodzenie komunikacji na ścieżce danych przez wysyłanie i odbieranie echów żądań/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 w 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 podłączenia
Wykaż niestabilne funkcje, resetując urządzenie i potwierdzając jego ponowne przyłączenie do tej samej sieci bez interwencji użytkownika.
Rozpoczynanie sieci:
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 pamięci nieulotnej:
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
Odczekaj kilka sekund i upewnij się, że urządzenie zostało ponownie podłączone do sieci:
panid
0x8f28 Donestate
router Done
Zweryfikuj losową liczbę
Zademonstruj losowe generowanie liczb przez wykonanie polecenia factoryreset
i zweryfikowanie nowego losowego adresu rozszerzonego.
extaddr
a660421703f3fdc3 Donefactoryreset
Zaczekaj chwilę...
extaddr
9a8ed90715a5f7b6
Done