Commissioni su rete

Visualizza il codice sorgente su GitHub

Commissioner e Joiner

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
Done
dataset
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
dataset commit active
Done
ifconfig up
Done
thread 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
Done
joiner 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