Visualizza e gestisci i set di dati con OT CLI

Visualizza il codice sorgente su GitHub

I parametri di configurazione di rete Thread vengono gestiti utilizzando gli oggetti Set di dati operativo attivi e in attesa. OT CLI include comandi per ottenere e impostare set di dati attivi e in sospeso.

AVVISO - Limitazioni per l'uso in produzione!

I comandi dell'interfaccia a riga di comando per scrivere o modificare i set di dati operativi attivi e in attesa potrebbero consentire l'impostazione di parametri non validi o combinazioni di parametri non valide a scopo di test. Questi comandi dell'interfaccia a riga di comando possono essere utilizzati solo:

  • Per configurare i parametri di rete per il primo dispositivo in una rete Thread appena creata.
  • Per i test (non applicabile ai dispositivi di produzione).

Nelle reti Thread di produzione, il metodo corretto per scrivere o modificare i set di dati operativi è tramite un Commissioner che esegue il commissioning. I dispositivi di produzione che non sono un Commissioner attivo e fanno parte di una rete Thread NON DEVONO modificare in alcun modo i set di dati operativi.

Set di dati operativo attivo

Il set di dati operativo attivo include parametri attualmente in uso sull'intera rete Thread. Il set di dati operativo attivo contiene:

  • Timestamp attività
  • Canale
  • Maschera del canale
  • ID PAN esteso
  • Prefisso locale mesh
  • Nome della rete
  • ID PAN
  • PSK
  • Criterio di sicurezza

Per configurare facilmente un dispositivo in modo che sia un membro completo della rete Thread, puoi utilizzare il comando dataset active -x per ottenere un TLV con codifica esadecimale e il comando dataset set active per impostare il set di dati su un nuovo dispositivo.

Su un dispositivo esistente, ottieni il TLV con codifica esadecimale:

dataset active -x
0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

Su un nuovo dispositivo, imposta il set di dati attivo:

dataset set active 0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

Set di dati operativo in attesa

Il set di dati operativo in attesa viene utilizzato per comunicare modifiche al set di dati operativo attivo prima che diventino effettive. Il set di dati operativo in attesa contiene tutti i parametri del set di dati operativo attivo, con l'aggiunta di:

  • Posticipa il timer
  • Timestamp in attesa

Inizia

Per gestire i set di dati dalla riga di comando, completa il nostro codelab sulla simulazione con Docker ed esamina il riferimento ai comandi dell'interfaccia a riga di comando.

Vai al codelab sulla simulazione

Vai al riferimento dei comandi dell'interfaccia a riga di comando

Per un elenco di comandi dataset, digita help:

dataset help
help
active
activetimestamp
channel
channelmask
clear
commit
delay
extpanid
init
meshlocalprefix
mgmtgetcommand
mgmtsetcommand
networkkey
networkname
panid
pending
pendingtimestamp
pskc
securitypolicy
Done

Mappature degli argomenti

Criterio di sicurezza

I comandi dei criteri di sicurezza utilizzano mappature di argomenti per ottenere e impostare i membri otSecurityPolicy. Ad esempio, 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

In questo esempio, Security Policy: 0 indica mRotationTime.

Di seguito è riportato un elenco di tutti gli argomenti dell'interfaccia a riga di comando dei criteri di sicurezza e del membro otSecurityPolicy corrispondente per ogni argomento:

Anche i comandi get e set di dataset securitypolicy utilizzano le stesse mappature di argomenti, ad esempio impostando securitypolicy e passando o, n, r e c:

dataset securitypolicy 672 onrc
Done

Componenti del set di dati e comandi mgmt

Insieme ad altri parametri, mgmtgetcommand e mgmtsetcommand per i set di dati attivi e in attesa ti consentono di ottenere e impostare qualsiasi combinazione di otOperationalDatasetComponents:

  • activetimestamp
  • pendingtimestamp
  • networkkey
  • networkname
  • extpanid
  • localprefix
  • delaytimer
  • panid
  • channel
  • securitypolicy

Per mgmtgetcommand, puoi specificare questi componenti in qualsiasi ordine per ottenere i valori corrispondenti. Facoltativamente, puoi anche passare -x per utilizzare una stringa esadecimale che viene trattata come una rappresentazione di sequenza di byte di TLV. Può trattarsi di TLV specifici di un fornitore che potresti voler aggiungere in aggiunta ad altri parametri.

mgmtgetcommand consente anche di specificare facoltativamente l'indirizzo IPv6 della versione leader. In caso contrario, viene utilizzato l'ALOC leader.

dataset mgmtgetcommand {active|pending} [address leader-address] [dataset-components] [-x tlv-list]

Ad esempio, per ottenere activetimestamp e securitypolicy, utilizza i seguenti argomenti:

dataset mgmtgetcommand active address fdde:ad00:beef:0:558:f56b:d688:799 activetimestamp securitypolicy
Done

Per impostare i componenti, puoi anche fornire i componenti del set di dati in qualsiasi ordine, seguito dal valore del componente.

dataset mgmtgetcommand {active|pending} [dataset-components] [-x tlv-list]

Per impostare activetimestamp e securitypolicy, utilizza i seguenti argomenti:

dataset mgmtsetcommand active activetimestamp 123 securitypolicy 1 onrc
Done