Messa in servizio sulla rete

Visualizza sorgente su GitHub

Commissioner e Joiner

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

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

Questa guida illustra la messa in servizio di base sulla rete senza funzionalità di Commissioner esterno o router di confine. Per informazioni su come utilizzare un commissario esterno, consulta la pagina relativa alla messa in servizio esterna dei thread.

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

Abilita ruoli

Per abilitare i ruoli Commissioner e Joiner, utilizza le seguenti opzioni di creazione:

Opzione Description
-DOT_COMMISSIONER=ON Attiva il ruolo del commissario
-DOT_JOINER=ON Attiva il ruolo di joiner

Ad esempio, per creare la piattaforma di esempio CC2538 da utilizzare solo come Joiner:

./script/build -DOT_JOINER=ON

Inserisci ciascun programma binario nel dispositivo desiderato. Un dispositivo funge da Commissioner, l'altro come Joiner.

Istruzioni specifiche sulla creazione e sul flash di piattaforme supportate sono disponibili nel repository OpenThread di ogni piattaforma. Consulta l'organizzazione GitHub OpenThread per trovare il repository.

Crea una rete

Crea una rete sul dispositivo che funge da 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 Thread Leader:

state
leader
Done

Iniziare 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 di join specificata di commettere sulla rete. Viene utilizzata la credenziale Joiner (insieme all'ID PAN esteso e al nome della 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 joiner devono essere univoche 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, che corrisponde all'EUI-64 IEEE assegnato in fabbrica dal dispositivo.

Sul dispositivo che funge da partecipante, chiedi l'EUI-64:

eui64
2f57d222545271f1
Done

Utilizza quel valore invece del carattere jolly * nel comando commissioner joiner sul dispositivo Commissioner:

commissioner joiner add 2f57d222545271f1 J01NME
Done

Iniziare il ruolo di Joiner

Sul dispositivo che funge da joiner, esegui un ripristino dei dati di fabbrica, quindi attiva il ruolo Joiner con la stessa credenziale Joiner specificata nel commissario:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Attendi qualche secondo per la conferma:

Join success!

Il dispositivo Joiner si è autenticato con il Commissioner e ha ricevuto le credenziali di Thread Network.

Ora avvia Thread sul dispositivo Joiner:

thread start
Done

Convalida autenticazione

Controlla lo stato sul dispositivo Joiner per verificare che si sia collegato alla rete. Entro due minuti, lo stato della transizione da figlio a router:

state
child
Done
...
state
router
Done