Commissioni su rete

Visualizza origine su GitHub

Commissioner e Joiner

La messa in servizio richiede un dispositivo con il ruolo di commissionere e un dispositivo con il ruolo di joiner. Il Commissioner è un dispositivo Thread in una rete Thread esistente o un dispositivo esterno alla rete Thread (ad esempio un telefono cellulare) che svolge il ruolo Commissioner. Il joiner è il dispositivo che vuole collegarsi alla rete Thread.

Un Thread Commissioner viene utilizzato per autenticare un dispositivo sulla rete. Non trasferisce o possiede le credenziali di rete Thread come la chiave di rete.

Questa guida illustra la commissione di base su rete senza un Commissioner esterno o un router di confine. Per informazioni su come utilizzare un Commissioner esterno, consulta la sezione Commissione esterna di thread.

Per un esempio di messa in servizio utilizzando dispositivi virtuali, consulta il codelab sulla simulazione OpenThread.

Abilita ruoli

Per attivare i ruoli Commissioner e Joiner, utilizza le seguenti opzioni di cmake:

Opzione Descrizione
-DOT_COMMISSIONER=ON Abilita il ruolo Commissione
-DOT_JOINER=ON Attiva il ruolo Unisci

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 è da falegname.

Puoi trovare istruzioni specifiche per la creazione e il flashing delle piattaforme supportate nel repository OpenThread di ciascuna piattaforma. Consulta l'organizzazione GitHub OpenThread per trovare il repository.

Crea una rete

Crea una rete sul dispositivo che agisce come commissario:

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 un leader per i thread:

state
leader
Done

Avviare il ruolo Commissione

Sullo stesso dispositivo, avvia il ruolo Commissione:

commissioner start
Done

Utilizza il carattere jolly * per consentire l'accesso alla rete a qualsiasi joiner con la credenziale Joiner specificata. La credenziale Joiner viene utilizzata (insieme all'ID PAN esteso e al nome della rete) per generare la chiave precondivisa per il dispositivo (PSKd). Il file PSKd viene quindi utilizzato per autenticare un dispositivo durante la messa in servizio di Thread. La credenziale Joiner deve essere univoca per ogni dispositivo.

commissioner joiner add * J01NME
Done

Limita a un joiner specifico

Per limitare la messa in servizio a un dispositivo Joiner specifico, utilizza il parametro eui64, ovvero IEEE-64 assegnato in fabbrica al dispositivo.

Sul dispositivo che funge da joiner, procurati 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

Avviare il ruolo Collaboratore

Sul dispositivo che opera come Joiner, esegui il ripristino dei dati di fabbrica, quindi attiva il ruolo Joiner con la stessa credenziale Joiner specificata in Commissioner:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Attendi qualche secondo per la conferma:

Join success!

Il dispositivo Joiner ha eseguito correttamente l'autenticazione con il Commissioner e ha ricevuto le credenziali di rete Thread.

Ora avvia il thread sul dispositivo Joiner:

thread start
Done

Convalida autenticazione

Controlla lo stato sul dispositivo Joiner per verificare che sia entrata a far parte della rete. Entro due minuti, lo stato passa dal secondario al router:

state
child
Done
...
state
router
Done