Comissionamento na malha

Veja o código-fonte no GitHub

Comissário e membro

A ativação exige um dispositivo com o papel de comissário e outro com o papel de Combinador. O Commissioner é um dispositivo Thread em uma rede Thread existente ou um dispositivo externo à rede Thread (como um smartphone) que realiza o papel Comissário. O Combinador é o dispositivo que quer entrar na rede Thread.

Um Thread Commissioner é usado para autenticar um dispositivo na rede. Ele não transfere ou possui credenciais de rede Thread, como a chave de rede.

Este guia abrange a comissão básica na malha sem um comissário externo ou um roteador de borda. Para saber como usar um comissário externo, consulte Comissão de linha de execução externa.

Para ver um exemplo de comissionamento usando dispositivos virtuais, consulte o Codelab de simulação do OpenThread.

Ativar papéis

Para ativar os papéis de Comissário e Combinador, use as seguintes opções de CMake:

Opção Descrição
-DOT_COMMISSIONER=ON Ativa o papel de Comissário
-DOT_JOINER=ON Ativa a função de Combinador

Por exemplo, para criar a plataforma de exemplo CC2538 para ser usada apenas como Joiner:

./script/build -DOT_JOINER=ON

Atualizar cada binário no dispositivo desejado. Um dispositivo serve como comissário, o outro como Comissário.

Instruções específicas sobre como criar e atualizar plataformas compatíveis podem ser encontradas no repositório 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 que atua como comissária:

dataset init new
Done
dataset
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
Done
dataset commit active
Done
ifconfig up
Done
thread start
Done

Aguarde alguns segundos e verifique se o dispositivo se tornou um Thread Leader:

state
leader
Done

Começar com o papel de Comissário

No mesmo dispositivo, inicie a função "Comissário":

commissioner start
Done

Use o caractere curinga * para permitir que qualquer Combinador com a habilitação especificada seja comissionado na rede. Ela é usada com o ID estendido do PAN e o nome da rede para gerar a chave pré-compartilhada do dispositivo (PSKd). O PSKd é usado para autenticar um dispositivo durante a comissão da linha de execução. Essa credencial precisa ser exclusiva para cada dispositivo.

commissioner joiner add * J01NME
Done

Restringir a um Joiner específico

Para restringir a ativação a um dispositivo Combinador específico, use o parâmetro eui64, que é o IEEE EUI-64 atribuído à fábrica.

No dispositivo que atua como integrador, use o EUI-64:

eui64
2f57d222545271f1
Done

Use esse valor em vez do caractere curinga * no comando commissioner joiner no dispositivo do Comissário:

commissioner joiner add 2f57d222545271f1 J01NME
Done

Iniciar o papel de Combinador

No dispositivo que atua como Combinador, faça uma redefinição para a configuração original e ative o papel de Combinador com a mesma credencial especificada no Comissário:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Aguarde alguns segundos para confirmar:

Join success!

O dispositivo do Combinador foi autenticado com o Comissário e recebeu as credenciais da rede Thread.

Agora inicie a linha de execução no dispositivo Joiner:

thread start
Done

Validar a autenticação

Verifique o estado no dispositivo combinador para validar se ele entrou na rede. Em dois minutos, o estado passa do filho para o roteador:

state
child
Done
...
state
router
Done