La comisión requiere un dispositivo con la función de comisionado y un dispositivo con la función de Unión. El comisionado es un dispositivo Thread en una red Thread existente o un dispositivo externo a la red Thread (como un teléfono celular) que realiza el rol de comisionado. El dispositivo de conexión es el que desea unirse a la red Thread.
Un comisionado de Thread se usa para autenticar un dispositivo en la red. No transfiere ni cuenta con las credenciales de la red de Thread, como la clave de red.
En esta guía, se describe la comisión básica en malla sin un comisionado externo ni un router de borde. Para obtener información sobre cómo usar un comisionado externo, consulta Comisión de Thread externa.
Para ver un ejemplo de la comisión con dispositivos virtuales, consulta el 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 el rol de persona que se une |
Por ejemplo, para compilar la plataforma de ejemplo CC2538 para usarla solo como un conector, haz lo siguiente:
./script/build -DOT_JOINER=ON
Flashea cada binario en el dispositivo deseado. Un dispositivo funciona como el Comisionado y el otro como el Vinculador.
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úa 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 a usar el rol de comisionado
En ese mismo dispositivo, inicia el rol de comisionado:
commissioner start
Done
Usa el comodín * para permitir que cualquier usuario que se una con la credencial de usuario especificada se comisione en la red. La credencial del participante se usa (junto con el ID de PAN extendido y el nombre de red) para generar la clave precompartida del dispositivo (PSKd). Luego, se usa el PSKd para autenticar un dispositivo durante la comisión de Thread. La credencial del creador debe ser única para cada dispositivo.
commissioner joiner add * J01NME
Done
Restringir a un usuario específico
Para restringir la comisión a un dispositivo Joiner específico, usa el parámetro eui64
, que es el IEEE EUI-64 asignado de fábrica del dispositivo.
En el dispositivo que funciona como conector, 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 dispositivo de unión, restablece la configuración de fábrica y, luego, habilita el rol de dispositivo de unión con la misma credencial de dispositivo de unión especificada en el Comisionado:
factoryreset
ifconfig up
Donejoiner start J01NME
Done
Espera unos segundos para confirmar:
Join success!
El dispositivo de Unión se autenticó correctamente con el comisionado y recibió credenciales de la red Thread.
Ahora, inicia Thread en el dispositivo de conexión:
thread start
Done
Valida la autenticación
Verifica el estado del dispositivo de unión para validar que se haya unido a la red. En un plazo de dos minutos, el estado pasa del elemento secundario al router:
state
child Done ...state
router Done