A comissionamento requer um dispositivo com a função de comissário e outro com a função de participante. O comissário é um dispositivo Thread em uma rede Thread existente ou um dispositivo externo à rede Thread (como um smartphone) que executa a função de comissário. O participante é o dispositivo que quer entrar na rede Thread.
Um comissário do Thread é usado para autenticar um dispositivo na rede. Ele não transfere nem tem posse das credenciais da rede Thread, como a chave de rede.
Este guia aborda a ativação básica na malha sem um comissário externo ou um roteador de borda. Para saber como usar um comissário externo, consulte Comissionamento de linhas externas.
Para conferir um exemplo de comissionamento usando dispositivos virtuais, consulte o OpenThread Simulation Codelab.
Ativar papéis
Para ativar os papéis de comissário e participante, use as seguintes opções do cmake:
Opção | Descrição |
---|---|
-DOT_COMMISSIONER=ON |
Ativa a função de comissário |
-DOT_JOINER=ON |
Ativa o papel de participante |
Por exemplo, para criar a plataforma de exemplo CC2538 para uso apenas como Combinador:
./script/build -DOT_JOINER=ON
Faça o flash de cada binário no dispositivo desejado. Um dispositivo serve como emissor, e o outro como participante.
Instruções específicas sobre como criar e atualizar plataformas com suporte podem ser encontradas no repositório do OpenThread de cada plataforma. Consulte a organização do GitHub do OpenThread para encontrar o repositório.
Criar uma rede
Crie uma rede no dispositivo para atuar como Comissário:
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
Aguarde alguns segundos e verifique se o dispositivo se tornou um líder de linha de execução:
state
leader
Done
Iniciar a função de comissário
Nesse mesmo dispositivo, inicie a função de comissário:
commissioner start
Done
Use o curinga * para permitir que qualquer participante com a credencial especificada seja comissionado na rede. A credencial do participante é usada (junto com o ID de PAN estendido e o nome da rede) para gerar a chave pré-compartilhada do dispositivo (PSKd). O PSKd é usado para autenticar um dispositivo durante a comissionamento do Thread. A credencial do participante precisa ser exclusiva para cada dispositivo.
commissioner joiner add * J01NME
Done
Restringir a um Joiner específico
Para restringir o comissionamento a um dispositivo Joiner específico, use o parâmetro eui64
, que é o IEEE EUI-64 atribuído de fábrica do dispositivo.
No dispositivo que atua como participante, receba o EUI-64:
eui64
2f57d222545271f1
Done
Use esse valor em vez do curinga * no comando commissioner joiner
no
dispositivo do comissário:
commissioner joiner add 2f57d222545271f1 J01NME
Done
Iniciar a função de participante
No dispositivo que está sendo usado como participante, faça uma redefinição para a configuração original e ative o papel de participante com a mesma credencial especificada no emissor:
factoryreset
ifconfig up
Donejoiner start J01NME
Done
Aguarde alguns segundos para a confirmação:
Join success!
O dispositivo participante foi autenticado pelo comissário e recebeu as credenciais da Thread Network.
Agora inicie a linha de execução no dispositivo do Joiner:
thread start
Done
Validar a autenticação
Verifique o estado no dispositivo do Joiner para confirmar que ele entrou na rede. Em dois minutos, o estado transita da criança para o roteador:
state
child Done ...state
router Done