
Für die Inbetriebnahme sind ein Gerät mit der Rolle "Provision" und ein Gerät mit der Rolle "Joiner" erforderlich. Der Commissioner ist entweder ein Thread-Gerät in einem vorhandenen Thread-Netzwerk oder ein Gerät außerhalb des Thread-Netzwerks (z. B. ein Mobiltelefon), das die Commissioner-Rolle ausführt. Der Joiner ist das Gerät, das dem Thread-Netzwerk beitreten möchte.
Ein Thread Commissioner wird zur Authentifizierung eines Geräts im Netzwerk verwendet. Es werden keine Anmeldedaten für das Thread-Netzwerk übertragen oder besitzen (z. B. den Netzwerkschlüssel).
In dieser Anleitung wird die grundlegende Inbetriebnahme eines Mesh-Netzwerks ohne externen Provisionsstelle oder Border-Router beschrieben. Informationen zur Verwendung eines externen Commissioners finden Sie unter Externe Thread-Inbetriebnahme.
Ein Beispiel für die Inbetriebnahme mit virtuellen Geräten finden Sie im OpenThread Simulation Codelab.
Rollen aktivieren
Verwenden Sie die folgenden Cmake-Optionen, um die Rollen "Provision" und "Joiner" zu aktivieren:
Option | Beschreibung |
---|---|
-DOT_COMMISSIONER=ON |
Aktiviert die Rolle "Provision" |
-DOT_JOINER=ON |
Aktiviert die Joiner-Rolle |
So erstellen Sie beispielsweise die CC2538-Beispielplattform für die Verwendung nur als Joiner:
./script/build -DOT_JOINER=ON
Flashieren Sie jede Binärdatei auf das gewünschte Gerät. Ein Gerät dient als Beauftragter, das andere als Joiner.
Spezifische Anleitungen zum Erstellen und Flashen unterstützter Plattformen finden Sie im OpenThread-Repository jeder Plattform. Informationen zum Suchen des Repositorys finden Sie in der GitHub-Organisation von OpenThread.
Netzwerk erstellen
Erstellen Sie auf dem Gerät, das als erBeauftragter“ fungiert, ein Netzwerk:
dataset init new
Donedataset
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 Donedataset commit active
Doneifconfig up
Donethread start
Done
Warten Sie einige Sekunden und prüfen Sie, ob das Gerät jetzt Thread Leader ist:
state
leader
Done
Die Rolle des Beauftragten
Starten Sie auf demselben Gerät die Rolle "Provision":
commissioner start
Done
Verwenden Sie den Platzhalter *, um jedem Joiner mit den angegebenen Joiner-Anmeldedaten zu gestatten, dass eine Provision im Netzwerk besteht. Diese werden zusammen mit der erweiterten PAN und dem Netzwerknamen verwendet, um den vorinstallierten Schlüssel für das Gerät (PSKd) zu generieren. Der PSKd wird dann zur Authentifizierung eines Geräts während der Thread-Provision verwendet. Die Anmeldedaten des Joiner-Geräts sollten für jedes Gerät eindeutig sein.
commissioner joiner add * J01NME
Done
Auf einen bestimmten Joiner beschränken
Wenn Sie die Inbetriebnahme auf ein bestimmtes Joiner-Gerät beschränken möchten, verwenden Sie den Parameter eui64
, der dem IEEE EUI-64 auf Werkseinstellungen zugewiesen ist.
Rufen Sie auf dem Gerät, das als Joiner dient, den EUI-64-Wert ab:
eui64
2f57d222545271f1
Done
Verwenden Sie diesen Wert anstelle des Platzhalters * im Befehl commissioner joiner
auf dem Gerät "Provisionsgerät":
commissioner joiner add 2f57d222545271f1 J01NME
Done
Joiner-Rolle starten
Setzen Sie das Gerät, das als Joiner fungiert, auf die Werkseinstellungen zurück und aktivieren Sie dann die Rolle "Joiner" mit den gleichen Anmeldedaten wie im Provisionsprogramm angegeben:
factoryreset
ifconfig up
Donejoiner start J01NME
Done
Warten Sie einige Sekunden, bis die Bestätigung abgeschlossen ist:
Join success!
Das Gerät des Joiner-Geräts hat sich erfolgreich beim Commissioner authentifiziert und die Anmeldedaten für Thread Network erhalten.
Starten Sie jetzt den Thread auf dem Joiner-Gerät:
thread start
Done
Authentifizierung validieren
Prüfen Sie den Status auf dem Joiner-Gerät, um zu bestätigen, dass es dem Netzwerk beigetreten ist. Innerhalb von zwei Minuten wechselt der Status von "Kind" zu "Router":
state
child Done ...state
router Done