Mise en service sur réseau maillé

Afficher la source sur GitHub

Commissaire et Joiner

La mise en service nécessite un appareil avec le rôle "Commissaire" et un appareil avec le rôle "Joiner". 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. L'appareil qui souhaite rejoindre le réseau Thread est appelé "Joiner".

Un commissaire Thread permet d'authentifier un appareil sur le réseau. Il ne transfère pas et ne possède pas les identifiants réseau Thread, tels que la clé réseau.

Ce guide aborde la mise en service de base sur un réseau maillé sans utiliser de commissaire externe ni de routeur de bordure. Pour savoir comment utiliser un commissaire externe, consultez la section Commissionnement de threads externes.

Pour obtenir un exemple de mise en service à l'aide d'appareils virtuels, consultez l'atelier de programmation 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 l'exemple de plate-forme CC2538 qui ne sera utilisé qu'en tant que Joiner:

./script/build -DOT_JOINER=ON

Flashez chaque binaire sur l'appareil souhaité. L'un des appareils sert de commissaire, l'autre de participant.

Des instructions spécifiques sur la création et le flashage de plateformes prises en charge se trouvent dans le dépôt OpenThread de chaque plateforme. Pour trouver le dépôt, consultez l'organisation GitHub OpenThread.

Créer un réseau

Créez un réseau sur l'appareil qui fait office 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 à être mis en service sur le réseau. Les identifiants du participant sont utilisés (avec l'ID PAN étendu et le nom du réseau) pour générer la clé prépartagée de l'appareil (PSKd). Le PSKd est ensuite utilisé pour authentifier un appareil lors de la mise en service Thread. Les identifiants du participant doivent être uniques pour chaque appareil.

commissioner joiner add * J01NME
Done

Limiter à un participant spécifique

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

Sur l'appareil servant de jointure, récupérez 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 du commissaire :

commissioner joiner add 2f57d222545271f1 J01NME
Done

Démarrer le rôle de participant

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

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Patientez quelques secondes pour que la confirmation soit effectuée:

Join success!

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

Démarrez maintenant Thread sur l'appareil de liaison :

thread start
Done

Valider l'authentification

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

state
child
Done
...
state
router
Done