La comisión requiere un dispositivo con la función de comisionado y un dispositivo con el rol de Unión. El Comisionado es un dispositivo Thread en un una red de Thread existente o un dispositivo externo a ella (como teléfono celular) que desempeñe la función de comisionado. El Unión es el dispositivo que quieras unirte a la red Thread.
Se usa un comisionado de Thread para autenticar un dispositivo en la red. Sí no transfieran credenciales de la red de Thread, como las de la red, ni estén en posesión de ellas .
En esta guía, se abordan las comisiones básicas en malla sin un comisionado externo o router de borde. Para obtener información sobre cómo utilizar un comisionado externo, consulta la sección Recursos Puesta en servicio de subprocesos.
Para ver un ejemplo de asignación usando dispositivos virtuales, consulta la Codelab de simulación de OpenThread.
Habilitar roles
Para habilitar las funciones de comisionado y Joiner, usa las siguientes opciones de CMake:
Opción | Descripción |
---|---|
-DOT_COMMISSIONER=ON |
Habilita la función de comisionado |
-DOT_JOINER=ON |
Habilita la función de Unión |
Por ejemplo, si deseas compilar la plataforma de ejemplo de CC2538 para usarla solo como Joiner, haz lo siguiente:
./script/build -DOT_JOINER=ON
Escribe cada objeto binario en la memoria flash del dispositivo deseado. Uno de ellos cumple la función de Comisionado, el otro como Joiner.
Puedes encontrar instrucciones específicas para compilar y escribir en la memoria flash de plataformas compatibles. en el repositorio de OpenThread de cada plataforma. Consulta la organización de GitHub de OpenThread para encontrar el repositorio.
Crea una red
Crea una red en el dispositivo que actúe como comisionado:
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
Espera unos segundos y verifica que el dispositivo se haya convertido en líder de subprocesos:
state
leader
Done
Comienza el rol de comisionado
En ese mismo dispositivo, inicia el rol Commissioner:
commissioner start
Done
Usa el comodín * para permitir que cualquier Joiner con la credencial de Joiner especificada pueda comisión a la red. Se usa la credencial de unión (junto con el ID PAN extendido y nombre de red) para generar la clave precompartida para el dispositivo (PSKd). Luego, se usa la PSKd para autenticar un dispositivo durante Thread Comisión. La credencial de Unión debe ser única para cada dispositivo.
commissioner joiner add * J01NME
Done
Restringir a un Unión específica
Para restringir la puesta en marcha a un dispositivo de Joiner específico, usa eui64
que es el valor de IEEE EUI-64 asignado de fábrica del dispositivo.
En el dispositivo que funciona como Unión, obtén el EUI-64:
eui64
2f57d222545271f1
Done
Usa ese valor en lugar del comodín * en el comando commissioner joiner
en
el dispositivo del Comisionado:
commissioner joiner add 2f57d222545271f1 J01NME
Done
Iniciar el rol de Unión
En el dispositivo que funciona como Joiner, restablece la configuración de fábrica y habilita el Rol de Unión con la misma credencial de Unión especificada en el comisionado:
factoryreset
ifconfig up
Donejoiner start J01NME
Done
Espera unos segundos para confirmar:
Join success!
El dispositivo Joiner se autenticó correctamente con el Commissioner y recibiste credenciales de Thread Network.
Ahora, inicia Thread en el dispositivo Joiner:
thread start
Done
Valida la autenticación
Comprueba el estado en el dispositivo Joiner para validar que se haya unido al en cada red. En un plazo de dos minutos, el estado pasa del elemento secundario al router:
state
child Done ...state
router Done