Consulte o código-fonte no GitHub
Os parâmetros de configuração de rede de linhas de execução são gerenciados com objetos do conjunto de dados operacional ativo e pendente. A CLI OT inclui comandos para receber e definir conjuntos de dados ativos e pendentes.
AVISO: restrições para uso em produção.
Os comandos da CLI para gravar ou alterar os conjuntos de dados operacionais ativos e pendentes podem permitir a configuração de parâmetros inválidos ou combinações inválidas de parâmetros para fins de teste. Os seguintes comandos da CLI só podem ser usados:
- Para configurar parâmetros de rede para o primeiro dispositivo em uma rede Thread recém-criada.
- Para testes (não aplicável a dispositivos de produção).
Em redes Thread de produção, o método correto para gravar ou alterar conjuntos de dados operacionais é por meio de um comissionado que executa o comissionamento. Os dispositivos de produção que não são um comissário ativo e fazem parte de uma rede Thread NÃO PODEM modificar os conjuntos de dados operacionais.
Conjunto de dados operacional ativo
O conjunto de dados operacional ativo inclui parâmetros que estão em uso atualmente em toda uma rede Thread. O conjunto de dados Operacional ativo contém:
- Carimbo de data/hora da atividade
- Canal
- Máscara de canal
- ID do PAN estendido
- Prefixo mesh-local
- Nome da rede
- Código PAN
- PSKc
- Política de segurança
Para configurar facilmente um dispositivo que seja membro completo da rede Thread, use o comando dataset active -x para receber um TLV codificado em hexadecimal e o comando dataset set active para definir o conjunto de dados em um novo dispositivo.
Em um dispositivo atual, receba o TLV codificado em hexadecimal:
dataset active -x
0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done
Em um novo dispositivo, defina o conjunto de dados ativo:
dataset set active 0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done
Conjunto de dados operacional pendente
O conjunto de dados operacional pendente é usado para comunicar alterações ao conjunto de dados operacional ativo antes que elas entrem em vigor. O conjunto de dados operacional pendente contém todos os parâmetros do conjunto de dados operacional ativo, com a adição de:
- Timer de atraso
- Carimbo de data/hora pendente
Começar
Para gerenciar conjuntos de dados na linha de comando, conclua nosso codelab de simulação com o Docker e revise a referência de comando da CLI.
Acessar o codelab de simulação
Acessar a referência de comandos da CLI
Para ver uma lista de comandos dataset
, digite help
:
dataset help
help
active
activetimestamp
channel
channelmask
clear
commit
delay
extpanid
init
meshlocalprefix
mgmtgetcommand
mgmtsetcommand
networkkey
networkname
panid
pending
pendingtimestamp
pskc
securitypolicy
Done
Mapeamentos de argumentos
Política de segurança
Os comandos da política de segurança usam mapeamentos de argumentos para receber e definir membros otSecurityPolicy. Por exemplo, 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
Neste exemplo, Security Policy: 0
indica mRotationTime.
Veja uma lista de todos os argumentos da CLI da Política de segurança e
o membro otSecurityPolicy
correspondente para cada argumento:
o
: mObtainNetworkKeyEnabledn
: mNativeCommissioningEnabledr
: mRoutersEnabledc
: mExternalCommissioningEnabledb
: mBeaconsEnabledC
: mCommercialCommissioningEnablede
: mAutonomousEnrollmentEnabledp
: mNetworkKeyProvisioningEnabledR
: mNonCcmRoutersEnabled
Os comandos "get" e "set" do dataset securitypolicy
também usam os mesmos mapeamentos
de argumentos. Por exemplo, definir securitypolicy
e transmitir o
, n
, r
e c
:
dataset securitypolicy 672 onrc
Done
Componentes do conjunto de dados e comandos mgmt
Junto com outros parâmetros, mgmtgetcommand
e mgmtsetcommand
para conjuntos de dados ativos e pendentes permitem que você acesse e defina qualquer combinação de otOperationalDatasetComponents:
activetimestamp
pendingtimestamp
networkkey
networkname
extpanid
localprefix
delaytimer
panid
channel
securitypolicy
Para mgmtgetcommand
, você pode especificar esses componentes em qualquer ordem para receber
os valores correspondentes. Também é possível transmitir -x
para usar uma string hexadecimal que é tratada como uma representação de sequência de bytes de TLVs. Podem ser TLVs específicos do fornecedor que convém adicionar além de outros parâmetros.
mgmtgetcommand
também permite, opcionalmente, especificar o endereço IPv6 do líder. Caso contrário, o ALOC líder será usado.
dataset mgmtgetcommand {active|pending} [address leader-address] [dataset-components] [-x tlv-list]
Por exemplo, para receber activetimestamp
e securitypolicy
, use os seguintes
argumentos:
dataset mgmtgetcommand active address fdde:ad00:beef:0:558:f56b:d688:799 activetimestamp securitypolicy
Done
Para definir componentes, também é possível fornecer os componentes do conjunto de dados em qualquer ordem, seguido pelo valor do componente.
dataset mgmtgetcommand {active|pending} [dataset-components] [-x tlv-list]
Para definir activetimestamp
e securitypolicy
, use os argumentos
a seguir:
dataset mgmtsetcommand active activetimestamp 123 securitypolicy 1 onrc
Done