Commissioni su rete

Visualizza l'origine su GitHub

Commissario e falegname

La commissione richiede un dispositivo con il ruolo di commissario e un dispositivo con il ruolo di unione. Il commissario è un dispositivo Thread in una rete Thread esistente o un dispositivo esterno alla rete Thread (ad es. un telefono cellulare) che svolge il ruolo di Commissioni. Joiner è il dispositivo che vuole accedere alla rete Thread.

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

Questa guida riguarda le commissioni di base su mesh senza un Commissioner esterno o un router di confine. Per scoprire come utilizzare un Commissioner esterno, consulta External Thread Commissioning.

Per un esempio di commissione con dispositivi virtuali, consulta il codelab sulla simulazione in OpenThread.

Abilita ruoli

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

Opzione Descrizione
-DOT_COMMISSIONER=ON Attiva il ruolo Commissario
-DOT_JOINER=ON Attiva il ruolo Collaboratore

Ad esempio, per creare una 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 ricopre il ruolo di Commissioner, l'altro di Joiner.

Puoi trovare istruzioni specifiche per la creazione e il flashing delle piattaforme supportate 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 leader di Thread:

state
leader
Done

Avviare il ruolo di Commissario

Sullo stesso dispositivo, avvia il ruolo di Commissioner:

commissioner start
Done

Usa il carattere jolly * per consentire a ogni joiner con la credenziale joiner specificata di accedere alla rete. Per generare la chiave precondivisa per il dispositivo (PSKd), viene utilizzata la credenziale Joiner (insieme all'ID PAN e al nome di rete estesi). Il PSKd viene quindi utilizzato per autenticare un dispositivo durante la commissione di Thread. La credenziale Joiner deve essere univoca per ogni dispositivo.

commissioner joiner add * J01NME
Done

Limita a un joiner specifico

Per limitare le commissioni a un dispositivo Joiner specifico, utilizza il parametro eui64, che è il IEEE EUI-64 assegnato in fabbrica.

Sul dispositivo utilizzato come Joiner, scarica 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

Avvia il ruolo di Collaboratore

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

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Attendi qualche secondo per confermare:

Join success!

Il dispositivo Joiner si è autenticato correttamente con il Commissioner e ha 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 stato aggiunto alla rete. Entro due minuti, lo stato passa da un'unità secondaria a un router:

state
child
Done
...
state
router
Done