Commissioni su rete

Visualizza l'origine su GitHub

Commissioner e Joiner

La messa in servizio richiede un dispositivo con il ruolo di Commissario e un dispositivo con il ruolo di Joiner. 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 unirsi alla rete Thread.

Un Commissario Thread viene utilizzato per autenticare un dispositivo sulla rete. Non trasferisce né possiede le credenziali della rete Thread, come la chiave di rete.

Questa guida illustra la messa in servizio di base sulla rete senza un Commissario esterno o un router di confine. Per scoprire come utilizzare un Commissario esterno, consulta Messa in servizio di Thread esterna.

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

Attiva i ruoli

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

Opzione Descrizione
-DOT_COMMISSIONER=ON Attiva il ruolo di 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

Flash ogni file binario sul dispositivo desiderato. Un dispositivo funge da Commissario, l'altro da Joiner.

Istruzioni specifiche sulla creazione e sul flashing delle piattaforme supportate sono disponibili nel repository OpenThread di ogni piattaforma. Per trovare il repository, consulta l'organizzazione OpenThread GitHub.

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 alcuni secondi 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 Joiner con le credenziali Joiner specificate di eseguire la messa in servizio sulla rete. Le credenziali Joiner vengono utilizzate (insieme all'ID PAN esteso e al nome della rete) per generare la chiave precondivisa per il dispositivo (PSKd). La PSKd viene quindi utilizzata per autenticare un dispositivo durante la messa in servizio di Thread. Le credenziali 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, ovvero l'IEEE EUI-64 assegnato in fabbrica al dispositivo.

Sul dispositivo che funge da Joiner, recupera l'EUI-64:

eui64
2f57d222545271f1
Done

Utilizza questo valore anziché il carattere jolly * nel comando commissioner joiner sul dispositivo Commissario:

commissioner joiner add 2f57d222545271f1 J01NME
Done

Avvia il ruolo di Joiner

Sul dispositivo che funge da Joiner, esegui il ripristino dei dati di fabbrica, quindi attiva il ruolo di Joiner con le stesse credenziali Joiner specificate sul Commissario:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Attendi alcuni secondi per la conferma:

Join success!

Il dispositivo Joiner è stato autenticato correttamente con il Commissario 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