Comissionamento na malha

Veja o código-fonte no GitHub

Comissário e marceneiro

O comissionamento requer um dispositivo com o papel de Comissário e um dispositivo com o papel de Combinador. O Commissioner é um dispositivo Thread em uma uma rede Thread existente ou um dispositivo externo a ela (como um celular) que desempenhe o papel de Comissário. O Joiner é o dispositivo que querem se conectar à rede Thread.

Um Thread Commissioner é usado para autenticar um dispositivo na rede. transferir nem ter credenciais da rede Thread, como a de dados.

Este guia aborda o comissionamento básico em malha sem um comissário externo ou roteador de borda. Para saber como usar um comissário externo, consulte Externo Comissionamento de linhas de execução.

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

Ativar papéis

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

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

Por exemplo, para criar a plataforma de exemplo CC2538 para uso apenas como Combinador:

./script/build -DOT_JOINER=ON

Atualizar cada binário no dispositivo desejado. Um dispositivo atua como Comissário, do outro como o Joiner.

Instruções específicas sobre a criação e atualização de 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
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 líder de linha de execução:

state
leader
Done

Começar a função de Comissário

Nesse mesmo dispositivo, inicie a função de Comissário:

commissioner start
Done

Use o caractere curinga * para permitir que qualquer Joiner com a credencial especificada seja comissão para a rede. A Credencial de Joiner é usada (junto da Nome de rede e ID do PAN estendido) para gerar a chave pré-compartilhada para o dispositivo (PSKd). O PSKd é usado para autenticar um dispositivo durante o Thread. Comissionamento. A Credencial de Joiner 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 eui64 , que é o IEEE EUI-64 atribuído de fábrica do dispositivo.

No dispositivo que atua como Combinador, acesse o EUI-64:

eui64
2f57d222545271f1
Done

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

commissioner joiner add 2f57d222545271f1 J01NME
Done

Iniciar a função de Combinador

No dispositivo que atua como Combinador, faça uma redefinição para a configuração original e ative o Função de Joiner com a mesma credencial de Joiner especificada no Commissioner:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Aguarde alguns segundos pela confirmação:

Join success!

O dispositivo do Joiner foi autenticado com sucesso no Comissário. e receberam credenciais da rede Thread.

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 no em uma rede VPC. Em dois minutos, o estado passa do filho para o roteador:

state
child
Done
...
state
router
Done