Afficher le code source sur GitHub
La mise en service nécessite un appareil doté du rôle Commissaire et un appareil doté du rôle Joiner. Le Commissioner est soit un appareil Thread dans un réseau Thread existant, soit un appareil externe au réseau Thread (par exemple, un téléphone mobile) qui joue le rôle de Commissaire. L'outil Joiner est l'appareil qui souhaite rejoindre le réseau Thread.
Thread Commissioner permet d'authentifier un appareil sur le réseau. Il ne transfère ni ne possède les identifiants réseau Thread, tels que la clé réseau.
Ce guide décrit la procédure de mise en service élémentaire sur réseau maillé, sans commissaire externe ni routeur de bordure. Pour savoir comment utiliser un Commissioner externe, consultez la page Mise en service des threads externes.
Pour voir 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 "Commissaire" et "Joiner", utilisez les options cmake suivantes:
Option | Description |
---|---|
-DOT_COMMISSIONER=ON |
Active le rôle de commissaire |
-DOT_JOINER=ON |
Active le rôle Joiner |
Par exemple, pour créer la plate-forme d'exemple CC2538 à utiliser uniquement comme Joiner:
./script/build -DOT_JOINER=ON
Flashez chaque binaire sur l'appareil souhaité. Un appareil sert de commissaire, l'autre en tant qu'opérateur.
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 en tant que commissaire:
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
Patientez quelques secondes, puis vérifiez que l'appareil est bien devenu Thread Leader:
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 Joiner avec les identifiants Joiner spécifiés à effectuer une mise en service sur le réseau. L'identifiant de jointure est utilisé (ainsi que l'ID PAN étendu et le nom du réseau) pour générer la clé pré-partagée pour l'appareil (PSKd). Le PSKd est ensuite utilisé pour authentifier un appareil lors de la mise en service Thread. Les identifiants Joiner doivent être uniques à chaque appareil.
commissioner joiner add * J01NME
Done
Limiter à un utilisateur spécifique
Pour limiter la mise en service à un appareil Joiner spécifique, utilisez le paramètre eui64
, qui correspond à la norme IEEE UEI-64 de l'appareil.
Sur l'appareil servant de menu déroulant, 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 du Commissioner:
commissioner joiner add 2f57d222545271f1 J01NME
Done
Démarrer le rôle Joiner
Sur l'appareil servant d'opérateur Joiner, effectuez une réinitialisation de l'usine, puis activez le rôle Joiner avec les mêmes identifiants Joiner que vous avez spécifiés sur le Commissaire:
factoryreset
ifconfig up
Donejoiner start J01NME
Done
Attendez quelques secondes pour confirmer:
Join success!
L'appareil Joiner s'est authentifié avec le commissaire et a reçu les identifiants du réseau Thread.
À présent, démarrez Thread sur l'appareil Joiner:
thread start
Done
Valider l'authentification
Vérifiez l'état sur l'appareil Joiner pour vérifier qu'il a bien rejoint le réseau. En deux minutes, l'état passe de l'enfant au routeur:
state
child Done ...state
router Done