Visualizza il codice sorgente su GitHub
La convalida di base è necessaria per verificare che la porta di OpenThread sia riuscita su un nuovo di piattaforma hardware di esempio.
Compila per la piattaforma di destinazione
Dimostrare la riuscita della build compilando l'applicazione OpenThread di esempio per la piattaforma di destinazione.
./script/build efr32mg12 -DBOARD=brd4161a
Interagire con l'interfaccia a riga di comando
Dimostrare l'esecuzione corretta di OpenThread e la funzionalità UART interagendo con l'interfaccia a riga di comando.
Apri un terminale in /dev/ttyACM0
(impostazioni della porta seriale: 115200 8-N-1). Tipo
help
per un elenco di comandi.
help
help
autostart
bufferinfo
...
version
whitelist
Creare una rete Thread
Dimostrare la riuscita dei timer di protocollo creando una rete Thread e verificando il nodo è passato allo stato 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
Aspetta un paio di secondi...
state
leader
Done
Collega un secondo nodo
Dimostrare la riuscita della comunicazione radio collegando un secondo nodo alla una rete Thread appena formata, utilizzando la stessa chiave di rete Thread e lo stesso ID PAN di il primo nodo:
dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
Donedataset panid 0x8f28
Donedataset commit active
Donerouterselectionjitter 1
Doneifconfig up
Donethread start
Done
Aspetta un paio di secondi...
state
router
Done
Ping tra dispositivi
Dimostrare la riuscita della comunicazione del percorso dati inviando/ricevendo l'echo ICMPv6 messaggi di richiesta e risposta.
Elenca tutti gli indirizzi IPv6 di Leader:
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
Invia un ping ICMPv6 dal router all'indirizzo IPv6 mesh-locale del leader:
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
Reimposta un dispositivo e convalida il nuovo allegato
Dimostra la funzionalità non volatile ripristinando il dispositivo e convalidando viene ricollegato alla stessa rete senza l'intervento dell'utente.
Avvia una rete Thread:
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
Attendi un paio di secondi e verifica che il set di dati attivo sia stato archiviato archiviazione permanente:
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
Reimposta il dispositivo:
reset
ifconfig up
Donethread start
Done
Attendi un paio di secondi e verifica che il dispositivo si sia ricollegato correttamente alla rete:
panid
0x8f28 Donestate
router Done
Verifica della generazione di numeri casuali
Dimostrare la generazione di numeri casuali eseguendo il comando factoryreset
e
verificare un nuovo indirizzo esteso casuale.
extaddr
a660421703f3fdc3 Donefactoryreset
Aspetta un paio di secondi...
extaddr
9a8ed90715a5f7b6
Done