Mesh-Netzwerk-Inbetriebnahme

Quelle auf GitHub ansehen

Komitee und Joint

Zur Inbetriebnahme ist ein Gerät mit der Rolle „Provisionen“ und ein Gerät mit der Joiner-Rolle erforderlich. The Commissioner ist entweder ein Thread-Gerät in einem vorhandenen Thread-Netzwerk oder ein Gerät außerhalb des Thread-Netzwerks (z. B. ein Smartphone), das diese Rolle spielt. Der Joiner ist das Gerät, das mit dem Thread-Netzwerk verbunden werden soll.

Ein Thread-Provision wird zur Authentifizierung eines Geräts im Netzwerk verwendet. Es werden keine Thread-Netzwerkanmeldedaten wie der Netzwerkschlüssel übertragen oder besitzen.

In diesem Leitfaden werden die grundlegenden On-Mesh-Provisionen ohne externen Commissioner oder Border Router beschrieben. Informationen zum Verwenden eines externen Kommissions finden Sie unter Externe Thread-Inbetriebnahme.

Ein Beispiel für die Inbetriebnahme mit virtuellen Geräten finden Sie im OpenThread Simulation Codelab.

Rollen aktivieren

Zum Aktivieren der Rollen „Kommentator“ und „Mitbearbeiter“ verwenden Sie die folgenden cmake-Optionen:

Option Beschreibung
-DOT_COMMISSIONER=ON Aktiviert die Rolle „Provisionen“
-DOT_JOINER=ON Aktiviert die Joiner-Rolle

So erstellen Sie beispielsweise die Beispielplattform CC2538, die nur als Joiner verwendet werden kann:

./script/build -DOT_JOINER=ON

Blitzen Sie jedes Binärprogramm auf das gewünschte Gerät. Ein Gerät fungiert als Kommission, das andere als Joiner.

Eine spezifische Anleitung zum Erstellen und Flashen von unterstützten Plattformen finden Sie in den einzelnen OpenThread-Repositories. Suchen Sie das Repository nach der GitHub-Organisation von OpenThread.

Netzwerk erstellen

Erstellen Sie ein Netzwerk auf dem Gerät, das als Commissioner fungiert:

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

Warten Sie einige Sekunden und prüfen Sie, ob das Gerät zu einem Thread-Leader geworden ist:

state
leader
Done

Die Rolle „Provisionen“ beginnen

Starten Sie auf diesem Gerät die Rolle „Provisionen“:

commissioner start
Done

Verwenden Sie den Platzhalter *, damit alle Joiner mit den angegebenen Joiner-Anmeldedaten in das Netzwerk übertragen werden können. Die Anmeldedaten werden zusammen mit der erweiterten PAN-ID und dem Netzwerknamen verwendet, um den vorinstallierten Schlüssel für das Gerät (PSK) zu generieren. Der PSKd wird dann während der Thread-Provision für ein Gerät authentifiziert. Die Anmeldedaten müssen für jedes Gerät eindeutig sein.

commissioner joiner add * J01NME
Done

Auf einen bestimmten Join beschränken

Wenn Sie die Inbetriebnahme auf ein bestimmtes Joiner-Gerät beschränken möchten, verwenden Sie den Parameter eui64. Dies ist der vom Gerät zugewiesene IEEE EUI-64-Parameter.

Installieren Sie auf dem Gerät, das als Joiner dient, den EUI-64:

eui64
2f57d222545271f1
Done

Verwenden Sie diesen Wert anstelle des Platzhalters * im commissioner joiner-Befehl auf dem Commissioner-Gerät:

commissioner joiner add 2f57d222545271f1 J01NME
Done

Join-Rolle erstellen

Setzen Sie das Gerät auf dem Gerät, das als Joiner verwendet wird, auf die Werkseinstellungen zurück. Aktivieren Sie dann die Joiner-Rolle mit denselben Anmeldedaten für die Kommissioner:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Warten Sie einige Sekunden auf die Bestätigung:

Join success!

Das Joiner-Gerät hat sich selbst beim Commissioner authentifiziert und die Thread-Netzwerk-Anmeldedaten 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 prüfen, ob er dem Netzwerk beigetreten ist. Innerhalb von zwei Minuten wechselt der Status von untergeordnetem zu Router:

state
child
Done
...
state
router
Done