
O comissionamento requer um dispositivo com a função de Comissário e um dispositivo com a função de Joiner. O Comissário é um dispositivo Thread em uma rede Thread existente ou um dispositivo externo à rede Thread (como um telefone celular) que desempenha a função de Comissário. O Joiner é o dispositivo que deseja ingressar na rede Thread.
Um Thread Commissioner é usado para autenticar um dispositivo na rede. Ele não transfere ou possui as credenciais da rede Thread, como a chave mestra.
Este guia cobre o comissionamento básico em malha sem um Comissário externo ou Roteador de Fronteira. Para saber como usar um Comissário externo, consulte Comissionamento de Thread Externo .
Para obter um exemplo de comissionamento usando dispositivos virtuais, consulte o OpenThread Simulation Codelab .
Ativar funções
Para habilitar as funções de Comissário e Joiner, use as seguintes opções de compilação:
Interruptor | Descrição |
---|---|
COMMISSIONER=1 | Habilita a função de Comissário |
JOINER=1 | Ativa a função Joiner |
Por exemplo, para construir a plataforma de exemplo CC2538 para uso apenas como um Joiner:
make -f examples/Makefile-cc2538 JOINER=1
Atualize cada binário para o dispositivo desejado. Um dispositivo serve como o comissário, o outro como o marceneiro.
Instruções específicas sobre a construção e atualização de plataformas suportadas podem ser encontradas na pasta de plataforma de cada exemplo.
Crie uma rede
Crie uma rede no dispositivo atuando como o 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 Master Key: dfd34f0f05cad978ec4e32b0413038ff Network Name: OpenThread-8f28 PAN ID: 0x8f28 PSKc: c23a76e98f1a6483639b1ac1271e2e27 Security Policy: 0, onrcb Donedataset commit active
Doneifconfig up Done
thread start Done
Aguarde alguns segundos e verifique se o dispositivo se tornou um Thread Leader:
state
leader
Done
Comece a função de Comissário
Nesse mesmo dispositivo, comece a função de Comissário:
commissioner start
Done
Use o caractere curinga * para permitir que qualquer Joiner com a credencial de Joiner especificada faça comissão na rede. A credencial do Joiner é usada (junto com o PAN ID estendido e o nome da rede) para gerar a chave pré-compartilhada para o dispositivo (PSKd). O PSKd é então usado para autenticar um dispositivo durante o Thread Commissioning. A credencial do Joiner deve ser exclusiva para cada dispositivo.
commissioner joiner add * J01NME
Done
Restringir a um marceneiro 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 serve como Joiner, obtenha o EUI-64:
eui64
2f57d222545271f1
Done
Use esse valor em vez do caractere curinga * no comando commissioner joiner
no dispositivo Commissioner:
commissioner joiner add 2f57d222545271f1 J01NME
Done
Comece a função de Joiner
No dispositivo que serve como Joiner, execute uma redefinição de fábrica e ative a função Joiner com a mesma credencial de Joiner especificada no Comissário:
Aguarde alguns segundos pela confirmação:factoryreset
ifconfig up Done
joiner start J01NME Done
Join success!
O dispositivo Joiner autenticou-se com sucesso com o Comissário e recebeu credenciais de Thread Network.
Agora inicie o Tópico no dispositivo Joiner:
thread start
Done
Validar autenticação
Verifique o estado do dispositivo Joiner para validar se ele está conectado à rede. Em dois minutos, o estado muda de filho para roteador:
state child Done ...
state router Done