Mise en service sur réseau maillé

Afficher la source sur GitHub

Mise en service et association

La mise en service nécessite un appareil avec le rôle de commissaire et un appareil avec le rôle de participant. 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 joue le rôle de commissaire. Le participant est l'appareil qui souhaite rejoindre le réseau Thread.

Un commissaire Thread est utilisé pour authentifier un appareil sur le réseau. Il ne transfère pas les identifiants du réseau Thread (tels que la clé réseau) et ne les possède pas.

Ce guide couvre la mise en service de base sur le réseau sans commissaire ni routeur de bordure externes. Pour savoir comment utiliser un commissaire externe, consultez Mise en service Thread.

Pour obtenir un exemple de mise en service à l'aide d'appareils virtuels, consultez l'atelier de programmation sur la simulation OpenThread.

Activer les rôles

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

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

Par exemple, pour créer la plate-forme d'exemple CC2538 à utiliser uniquement en tant que participant :

./script/build -DOT_JOINER=ON

Flashez chaque binaire sur l'appareil souhaité. Un appareil sert de commissaire et l'autre de participant.

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

Créer un réseau

Créez un réseau sur l'appareil qui joue le rôle de 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 un leader Thread :

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 autoriser tout participant disposant des identifiants de participant spécifiés à mettre en service le réseau. Les identifiants de participant sont utilisés (avec l'ID PAN étendu et le nom du réseau) pour générer la clé prépartagée pour l'appareil (PSKd). La PSKd est ensuite utilisée pour authentifier un appareil lors de la mise en service Thread. Les identifiants de participant doivent être uniques pour chaque appareil.

commissioner joiner add * J01NME
Done

Restreindre à un participant spécifique

Pour limiter la mise en service à un appareil participant spécifique, utilisez le paramètre eui64, qui correspond à l'IEEE EUI-64 attribué en usine à l'appareil.

Sur l'appareil qui joue le rôle de participant, obtenez l'EUI-64 :

eui64
2f57d222545271f1
Done

Utilisez cette valeur au lieu du caractère générique * dans la commande commissioner joiner sur l'appareil commissaire :

commissioner joiner add 2f57d222545271f1 J01NME
Done

Démarrer le rôle de participant

Sur l'appareil qui joue le rôle de participant, effectuez une réinitialisation aux paramètres d'usine, puis activez le rôle de participant avec les mêmes identifiants de participant spécifiés sur le commissaire :

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Attendez quelques secondes pour obtenir la confirmation :

Join success!

L'appareil participant s'est authentifié auprès du commissaire et a reçu les identifiants du réseau Thread.

Démarrez maintenant Thread sur l'appareil participant :

thread start
Done

Valider l'authentification

Vérifiez l'état sur l'appareil participant pour vous assurer qu'il a rejoint le réseau. En moins de deux minutes, l'état passe d'enfant à routeur :

state
child
Done
...
state
router
Done