Afficher le code source sur GitHub
Les paramètres de configuration du réseau Thread sont gérés à l'aide d'objets opérationnels et en attente d'ensemble de données. L'OT CLI inclut des commandes permettant d'obtenir et de définir des ensembles de données actifs et en attente.
AVERTISSEMENT : Restrictions d'utilisation en production
Les commandes CLI permettant d'écrire ou de modifier les ensembles de données opérationnels actifs et en attente peuvent permettre de définir des paramètres non valides ou des combinaisons de paramètres non valides à des fins de test. Ces commandes CLI ne peuvent être utilisées que:
- Pour configurer les paramètres réseau du premier appareil d'un réseau Thread nouvellement créé.
- À des fins de test (non applicable aux appareils de production).
Dans les réseaux Thread de production, la méthode correcte pour écrire ou modifier les ensembles de données opérationnels consiste à passer par un commissaire qui effectue une mise en service. Les appareils de production qui ne sont pas un commissaire actif et qui font partie d'un réseau Thread NE DOIVENT PAS modifier les ensembles de données opérationnels.
Ensemble de données opérationnel actif
L'ensemble de données opérationnel actif inclut des paramètres actuellement utilisés sur l'ensemble d'un réseau Thread. L'ensemble de données opérationnel actif contient:
- Code temporel actif
- Canal
- Masque de chaîne
- ID PAN étendu
- Préfixe du maillage local
- Nom du réseau
- ID PAN
- Clé pré-partagée
- Règle de sécurité
Pour configurer facilement un appareil afin qu'il soit un membre complet du réseau Thread, vous pouvez utiliser la commande dataset active -x pour obtenir un TLV encodé en hexadécimal, et la commande dataset set active pour définir l'ensemble de données sur un nouvel appareil.
Sur un appareil existant, récupérez le TLV encodé en hexadécimal:
dataset active -x
0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done
Sur un nouvel appareil, définissez l'ensemble de données actif:
dataset set active 0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done
Ensemble de données opérationnel en attente
L'ensemble de données opérationnel en attente permet de communiquer les modifications apportées à l'ensemble de données opérationnel actif avant qu'elles ne prennent effet. L'ensemble de données opérationnel en attente contient tous les paramètres de l'ensemble de données opérationnel actif, auxquels ont été ajoutés les éléments suivants:
- Retardateur
- Code temporel en attente
Premiers pas
Pour gérer des ensembles de données à partir de la ligne de commande, suivez notre atelier de programmation de simulation avec Docker et consultez la documentation de référence sur les commandes CLI.
Accéder à l'atelier de programmation de simulation
Accéder à la documentation de référence sur les commandes CLI
Pour obtenir la liste des commandes dataset
, saisissez help
:
dataset help
help
active
activetimestamp
channel
channelmask
clear
commit
delay
extpanid
init
meshlocalprefix
mgmtgetcommand
mgmtsetcommand
networkkey
networkname
panid
pending
pendingtimestamp
pskc
securitypolicy
Done
Mappages d'arguments
Règle de sécurité
Les commandes de stratégie de sécurité utilisent des mappages d'arguments pour obtenir et définir des membres otSecurityPolicy. Par exemple, dataset active
:
dataset active
Active Timestamp: 1
Channel: 13
Channel Mask: 0x07fff800
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
Dans cet exemple, Security Policy: 0
indique mRotationTime.
Voici la liste de tous les arguments de la CLI Security Policy et du membre otSecurityPolicy
correspondant à chaque argument:
o
: mObtainNetworkKeyEnabledn
: mNativeCommissioningEnabledr
: mRoutersEnabledc
: mExternalCommissioningEnabledb
: mBeaconsEnabledC
: mCommercialCommissioningEnablede
: mAutonomousEnrollmentEnabledp
: mNetworkKeyProvisioningEnabledR
: mNonCcmRoutersEnabled
Les commandes get et set dataset securitypolicy
utilisent également les mêmes mappages d'arguments, par exemple pour définir securitypolicy
et transmettre o
, n
, r
et c
:
dataset securitypolicy 672 onrc
Done
Composants de l'ensemble de données et commandes mgmt
Avec d'autres paramètres, les propriétés mgmtgetcommand
et mgmtsetcommand
pour les ensembles de données actifs et en attente vous permettent d'obtenir et de définir n'importe quelle combinaison d'otOperationalDatasetComponents:
activetimestamp
pendingtimestamp
networkkey
networkname
extpanid
localprefix
delaytimer
panid
channel
securitypolicy
Pour mgmtgetcommand
, vous pouvez spécifier ces composants dans n'importe quel ordre pour obtenir les valeurs correspondantes. Vous pouvez également transmettre -x
pour utiliser une chaîne hexadécimale traitée comme une représentation de la séquence d'octets des TLV. Il peut s'agir de valeurs TLV spécifiques à un fournisseur que vous pouvez ajouter en plus d'autres paramètres.
mgmtgetcommand
vous permet également de spécifier l'adresse IPv6 de l'instance principale, si vous le souhaitez. Sinon, l'ALOC de la variante optimale est utilisé.
dataset mgmtgetcommand {active|pending} [address leader-address] [dataset-components] [-x tlv-list]
Par exemple, pour obtenir activetimestamp
et securitypolicy
, utilisez les arguments suivants:
dataset mgmtgetcommand active address fdde:ad00:beef:0:558:f56b:d688:799 activetimestamp securitypolicy
Done
Pour définir des composants, vous pouvez également fournir les composants de l'ensemble de données dans n'importe quel ordre, suivis de leur valeur.
dataset mgmtgetcommand {active|pending} [dataset-components] [-x tlv-list]
Pour définir activetimestamp
et securitypolicy
, utilisez les arguments suivants:
dataset mgmtsetcommand active activetimestamp 123 securitypolicy 1 onrc
Done