Für die Inbetriebnahme ist ein Gerät mit der Rolle „Provisioner“ und ein Gerät mit der Rolle „Joiner“ erforderlich. Der Bevollmächtigte ist entweder ein Thread-Gerät in einem bestehenden Thread-Netzwerk oder ein Gerät außerhalb des Thread-Netzwerks (z. B. ein Smartphone), das die Rolle des Bevollmächtigten übernimmt. Das Gerät, das dem Thread-Netzwerk beitreten möchte, wird als Joiner bezeichnet.
Ein Thread-Beauftragter wird verwendet, um ein Gerät im Netzwerk zu authentifizieren. Es überträgt keine Thread-Netzwerk-Anmeldedaten wie den Netzwerkschlüssel.
In diesem Leitfaden wird die grundlegende Inbetriebnahme des Mesh-Netzwerks ohne externen Commissioner oder Border Router behandelt. Weitere Informationen zur Verwendung eines externen Bevollmächtigten finden Sie unter Externe Thread-Bevollmächtigung.
Ein Beispiel für die Inbetriebnahme mit virtuellen Geräten finden Sie im Codelab zur OpenThread-Simulation.
Rollen aktivieren
Verwenden Sie die folgenden cmake-Optionen, um die Rollen „Beauftragter“ und „Teilnehmer“ zu aktivieren:
Option | Beschreibung |
---|---|
-DOT_COMMISSIONER=ON |
Aktiviert die Rolle „Provisioner“ |
-DOT_JOINER=ON |
Aktiviert die Rolle „Teilnehmer“ |
So erstellen Sie beispielsweise die CC2538-Beispielplattform, die nur als Joiner verwendet werden soll:
./script/build -DOT_JOINER=ON
Flashen Sie jedes Binärprogramm auf das gewünschte Gerät. Ein Gerät dient als Kommissionierer, das andere als Teilnehmer.
Spezifische Anleitungen zum Erstellen und Flashen unterstützter Plattformen finden Sie im OpenThread-Repository der jeweiligen Plattform. Das Repository finden Sie in der GitHub-Organisation zu OpenThread.
Netzwerk erstellen
Erstellen Sie ein Netzwerk auf dem Gerät, das als Verantwortlicher fungiert:
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 zum Thread-Leiter geworden ist:
state
leader
Done
Rolle „Beauftragte“ übernehmen
Weisen Sie auf demselben Gerät die Rolle „Beauftragter“ zu:
commissioner start
Done
Mit dem Platzhalter „*“ kannst du jedem Teilnehmer mit den angegebenen Anmeldedaten erlauben, dem Netzwerk beizutreten. Die Anmeldedaten für den Teilnehmer werden zusammen mit der erweiterten PAN-ID 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-Inbetriebnahme verwendet. Die Anmeldedaten für den Joiner müssen 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
. Dies ist die werkseitig zugewiesene IEEE EUI-64 des Geräts.
Rufen Sie auf dem Gerät, das als Joiner dient, die EUI-64 ab:
eui64
2f57d222545271f1
Done
Verwenden Sie diesen Wert im commissioner joiner
-Befehl auf dem Commissioner-Gerät anstelle des Platzhalters *:
commissioner joiner add 2f57d222545271f1 J01NME
Done
Rolle „Teilnehmer“ starten
Setzen Sie das Gerät, das als Joiner verwendet wird, auf die Werkseinstellungen zurück. Aktivieren Sie dann die Joiner-Rolle mit denselben Joiner-Anmeldedaten, die für den Commissioner angegeben wurden:
factoryreset
ifconfig up
Donejoiner start J01NME
Done
Warten Sie einige Sekunden auf die Bestätigung:
Join success!
Das Joiner-Gerät hat sich erfolgreich beim Controller authentifiziert und Anmeldedaten für das Thread-Netzwerk erhalten.
Starten Sie jetzt Thread auf dem Joiner-Gerät:
thread start
Done
Authentifizierung validieren
Prüfen Sie den Status auf dem Gerät, das dem Netzwerk beigetreten ist. Innerhalb von zwei Minuten ändert sich der Status von „untergeordnet“ zu „Router“:
state
child Done ...state
router Done