Visualizza il codice sorgente su GitHub
La messa in servizio richiede un dispositivo con il ruolo di commissario e un altro con il ruolo di partecipante. Il commissario è un dispositivo Thread in una rete Thread esistente o un dispositivo esterno alla rete Thread (ad esempio un cellulare) che svolge il ruolo di commissario. Il Joiner è il dispositivo che vuole connettersi alla rete Thread.
Per autenticare un dispositivo sulla rete viene utilizzato Thread Commissioner. Non trasferisce né possiede credenziali di rete Thread, come la chiave di rete.
Questa guida illustra la messa in servizio di base on-mesh senza un Commissioner o un router di confine esterno. Per informazioni su come utilizzare un Commissioner esterno, consulta la pagina sulla Commissione per i thread esterni.
Per un esempio di messa in servizio mediante dispositivi virtuali, consulta il codelab sulla simulazione di OpenThread.
Attiva i ruoli
Per abilitare i ruoli Commissioner e Joiner, utilizza le seguenti opzioni cmake:
Opzione | Descrizione |
---|---|
-DOT_COMMISSIONER=ON |
Attiva il ruolo di commissario |
-DOT_JOINER=ON |
Attiva il ruolo Partecipante |
Ad esempio, per creare la piattaforma di esempio CC2538 da utilizzare solo come Joiner:
./script/build -DOT_JOINER=ON
Esegui il flashing di ogni file binario sul dispositivo desiderato. Un dispositivo funge da commissario, mentre l'altro da partecipante.
Istruzioni specifiche per lo sviluppo e il flashing delle piattaforme supportate sono disponibili nel repository OpenThread di ciascuna piattaforma. Per trovare il repository, consulta la pagina 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 un leader Thread:
state
leader
Done
Avvia il ruolo di commissario
Sullo stesso dispositivo, avvia il ruolo di commissario:
commissioner start
Done
Utilizza il carattere jolly * per consentire a qualsiasi partecipante con le credenziali del partecipante specificate di eseguire la messa in servizio sulla rete. La credenziale del partecipante viene utilizzata (insieme all'ID PAN esteso e al nome di rete) per generare la chiave precondivisa per il dispositivo (PSKd). Il PSKd viene quindi utilizzato per autenticare un dispositivo durante la messa in servizio di Thread. Le credenziali del partecipante devono essere univoche per ogni dispositivo.
commissioner joiner add * J01NME
Done
Limitare a un joiner specifico
Per limitare la messa in servizio a un dispositivo Joiner specifico, utilizza il parametro 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
sul
dispositivo Commissioner:
commissioner joiner add 2f57d222545271f1 J01NME
Done
Avvia il ruolo Partecipante
Sul dispositivo che funge da partecipante, esegui un ripristino dei dati di fabbrica, quindi abilita il ruolo partecipante con la stessa credenziale partecipante specificata nel commissario:
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 ha ricevuto le credenziali della rete Thread.
Ora avvia Thread sul dispositivo Joiner:
thread start
Done
Convalida l'autenticazione
Controlla lo stato sul dispositivo Joiner per verificare che sia stato aggiunto alla rete. Entro due minuti, lo stato passa da figlio a router:
state
child Done ...state
router Done