O comissionamento exige um dispositivo com o papel de comissário e outro com o papel de participante. O comissário é um dispositivo Thread em uma rede Thread ou um dispositivo externo à rede Thread (como um smartphone) que desempenha o papel de comissário. O participante é o dispositivo que quer entrar na rede Thread.
Um comissário Thread é usado para autenticar um dispositivo na rede. Ele não transfere nem possui credenciais de rede Thread, como a chave de rede.
Este guia aborda o comissionamento básico na rede sem um comissário externo ou roteador de borda. Para saber como usar um comissário externo, consulte Comissionamento externo do Thread.
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 de comissário e participante, use as seguintes opções do cmake:
| Opção | Descrição |
|---|---|
-DOT_COMMISSIONER=ON |
Ativa o papel de comissário |
-DOT_JOINER=ON |
Ativa o papel de participante |
Por exemplo, para criar a plataforma de exemplo CC2538 para uso apenas como participante:
./script/build -DOT_JOINER=ON
Faça o flash de cada binário no dispositivo desejado. Um dispositivo serve como comissário e o outro como participante.
Instruções específicas sobre como criar e fazer o flash de plataformas compatíveis podem ser encontradas no repositório do OpenThread de cada plataforma. Consulte a organização do OpenThread no GitHub para encontrar o repositório.
Criar uma rede
Crie uma rede no dispositivo que atua como comissário:
dataset init newDonedatasetActive 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 activeDoneifconfig upDonethread startDone
Aguarde alguns segundos e verifique se o dispositivo se tornou um líder do Thread:
state
leader
Done
Iniciar o papel de comissário
No mesmo dispositivo, inicie o papel de comissário:
commissioner start
Done
Use o caractere curinga * para permitir que qualquer participante com a credencial especificada faça o comissionamento na rede. A credencial do participante é usada (junto com o ID PAN estendido e o nome da rede) para gerar a chave pré-compartilhada para o dispositivo (PSKd). A PSKd é usada para autenticar um dispositivo durante o comissionamento do Thread. A credencial do participante precisa ser exclusiva para cada dispositivo.
commissioner joiner add * J01NME
Done
Restringir a um participante específico
Para restringir o comissionamento a um dispositivo participante específico, use o parâmetro eui64, que é o IEEE EUI-64 atribuído de fábrica do dispositivo.
No dispositivo que serve como participante, receba o EUI-64:
eui64
2f57d222545271f1
Done
Use esse valor em vez do caractere curinga * no comando commissioner joiner no dispositivo comissário:
commissioner joiner add 2f57d222545271f1 J01NME
Done
Iniciar o papel de participante
No dispositivo que serve como participante, faça uma redefinição de fábrica e ative o papel de participante com a mesma credencial especificada no comissário:
factoryresetifconfig upDonejoiner start J01NMEDone
Aguarde alguns segundos para confirmação:
Join success!
O dispositivo participante foi autenticado com o comissário e recebeu credenciais de rede Thread.
Agora inicie o Thread no dispositivo participante:
thread start
Done
Validar a autenticação
Verifique o estado no dispositivo participante para validar se ele entrou na rede. Em até dois minutos, o estado faz a transição de filho para roteador:
statechild Done ...staterouter Done