Visualizza il codice sorgente su GitHub
La messa in servizio richiede un dispositivo con il ruolo Commissioner e un dispositivo con il ruolo Joiner. Commissioner è un dispositivo Thread in rete Thread esistente o un dispositivo esterno alla rete Thread (ad esempio una cellulare) che svolge il ruolo di Commissioner. Joiner è il dispositivo che vogliono unirti alla rete Thread.
Per autenticare un dispositivo sulla rete viene utilizzato Thread Commissioner. Non Non trasferiscono le credenziali di rete Thread, come la rete, o non possedevano. chiave.
Questa guida illustra la messa in servizio di base sulla rete senza un Commissioner esterno o router di confine. Per informazioni su come utilizzare un Commissioner esterno, consulta la sezione Documentazione Messa in servizio Thread.
Per un esempio di messa in servizio mediante dispositivi virtuali, consulta Codelab sulla simulazione di OpenThread.
Abilita ruoli
Per abilitare i ruoli Commissioner e Joiner, utilizza le seguenti opzioni cmake:
Opzione | Descrizione |
---|---|
-DOT_COMMISSIONER=ON |
Abilita il ruolo Commissioner |
-DOT_JOINER=ON |
Attiva il ruolo Joiner |
Ad esempio, per creare la piattaforma di esempio CC2538 da utilizzare solo come joiner:
./script/build -DOT_JOINER=ON
Esegui il flashing di ogni programma binario sul dispositivo desiderato. Un dispositivo funge da Commissioner, l'altro come Joiner.
Sono disponibili istruzioni specifiche sulla creazione e il flashing delle piattaforme supportate nel repository OpenThread di ogni piattaforma. Per trovare il repository, consulta la pagina dell'organizzazione GitHub OpenThread.
Crea una rete
Crea una rete sul dispositivo che agisca in qualità di Commissioner:
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 qualche secondo e verifica che il dispositivo sia diventato Thread Leader:
state
leader
Done
Inizia il ruolo di Commissioner
Sullo stesso dispositivo, avvia il ruolo Commissioner:
commissioner start
Done
Utilizza il carattere jolly * per consentire a qualsiasi Joiner con la credenziale Joiner specificata di sulla rete. La credenziale Joiner viene utilizzata (insieme alla ID PAN esteso e nome di rete) per generare la chiave precondivisa per il dispositivo (PSKd). Il PSKd viene quindi utilizzato per autenticare un dispositivo durante la trasmissione Thread Messa in servizio. La credenziale Joiner deve essere univoca per ciascun dispositivo.
commissioner joiner add * J01NME
Done
Limita a un join specifico
Per limitare la messa in servizio a un dispositivo Joiner specifico, utilizza eui64
, che è lo standard IEEE EUI-64 assegnato di fabbrica al dispositivo.
Sul dispositivo che funge da Joiner, ottieni l'EUI-64:
eui64
2f57d222545271f1
Done
Utilizza questo valore al posto del carattere jolly * nel comando commissioner joiner
su
il dispositivo del Commissioner:
commissioner joiner add 2f57d222545271f1 J01NME
Done
Avvia il ruolo Joiner
Sul dispositivo che funge da Joiner, esegui il ripristino dei dati di fabbrica, quindi attiva Ruolo Joiner con la stessa credenziale Joiner specificata per il Commissioner:
factoryreset
ifconfig up
Donejoiner start J01NME
Done
Attendi qualche secondo per la conferma:
Join success!
Il dispositivo Joiner si è autenticato correttamente con il Commissioner e ricevuto le credenziali di rete Thread.
Ora avvia Thread sul dispositivo Joiner:
thread start
Done
Convalida autenticazione
Controlla lo stato sul dispositivo Joiner per verificare che sia unito al in ogni rete. Entro due minuti, lo stato passa da figlio a router:
state
child Done ...state
router Done