Mise en service sur réseau maillé

Afficher la source sur GitHub

Commissaire et jointure

La mise en service nécessite un appareil avec le rôle de Commissaire et un appareil avec le rôle de jointur. Le Commissaire est un appareil Thread dans un réseau Thread existant ou un appareil externe au réseau Thread (tel qu'un téléphone mobile) qui effectue le rôle de Commissaire. Joiner est l'appareil qui souhaite rejoindre le réseau Thread.

Un Thread Commission est utilisé pour authentifier un appareil sur le réseau. Elle ne transfère pas les identifiants réseau Thread, tels que la clé réseau, ou ne les détient pas.

Ce guide décrit la mise en service de base sur réseau maillé sans commissaire externe ni routeur de bordure. Pour découvrir comment utiliser un Commissaire externe, consultez la page Mise en service externe des threads.

Pour obtenir un exemple de mise en service avec des appareils virtuels, consultez l'atelier de programmation de simulation OpenThread.

Activer les rôles

Pour activer les rôles de commissaire et de jointure, utilisez les options cmake suivantes:

Option Description
-DOT_COMMISSIONER=ON Active le rôle de commissaire.
-DOT_JOINER=ON Active le rôle de jointure

Par exemple, pour créer la plate-forme d'exemple CC2538 à utiliser uniquement en tant que jointure, procédez comme suit:

./script/build -DOT_JOINER=ON

Flashez chaque fichier binaire sur l'appareil souhaité. Le premier est utilisé pour le premier et l'autre pour le jointeur.

Vous trouverez des instructions spécifiques sur la création et le clignotement de plates-formes compatibles dans le dépôt OpenThread de chaque plate-forme. Consultez l'organisation GitHub OpenThread pour trouver le dépôt.

Créer un réseau

Créez un réseau sur l'appareil qui agit en tant que commissaire:

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

Attendez quelques secondes et vérifiez que l'appareil est devenu l'un des leaders des fils de discussion:

state
leader
Done

Démarrer le rôle de commissaire

Sur le même appareil, démarrez le rôle de commissaire:

commissioner start
Done

Utilisez le caractère générique * pour permettre à tous les utilisateurs joints aux identifiants Joiner spécifiés d'être mis en service sur le réseau. L'identifiant Joiner est utilisé (avec l'ID PAN et le nom du réseau étendus) pour générer la clé prépartagée pour l'appareil (PSKd). La clé PSKd est ensuite utilisée pour authentifier un appareil pendant la mise en service Thread. Les identifiants de jointure doivent être propres à chaque appareil.

commissioner joiner add * J01NME
Done

Limiter les éléments à un jointur spécifique

Pour limiter la mise en service sur un appareil Joiner spécifique, utilisez le paramètre eui64, qui est la norme IEEE UE4-64 attribuée à l'appareil.

Sur l'appareil servant de jointure, obtenez l'EUI-64:

eui64
2f57d222545271f1
Done

Utilisez cette valeur à la place du caractère générique * dans la commande commissioner joiner sur l'appareil Commissioner:

commissioner joiner add 2f57d222545271f1 J01NME
Done

Démarrer le rôle de jointure

Sur l'appareil servant de jointure, rétablissez la configuration d'usine, puis activez le rôle de jointur avec le même identifiant de jointure spécifié sur le membre:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Patientez quelques secondes pour confirmer votre choix:

Join success!

L'appareil Joiner s'est authentifié auprès du Commissaire et a reçu les identifiants Thread Network.

Démarrez Thread sur l'appareil Joiner:

thread start
Done

Valider l'authentification

Vérifiez l'état sur l'appareil Joiner pour vous assurer qu'il a rejoint le réseau. Dans les deux minutes, l'état passe de l'enfant au routeur:

state
child
Done
...
state
router
Done