Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Comisiones en la malla

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Ver el código fuente en GitHub

Comisionado y comisionado

La asignación de comisiones requiere un dispositivo con la función de comisionado y un dispositivo con la función de unión. El encargado es un dispositivo Thread de una red Thread existente o uno externo a la red Thread (como un teléfono celular) que realiza la función comisionado. El Joiner es el dispositivo que desea unirse a la red de Thread.

Un Thread Commissioner se usa para autenticar un dispositivo en la red. No transfiere ni posee poses de credenciales de red de Thread, como la clave de red.

En esta guía, se explica la puesta en marcha básica en la malla sin un comisionado externo o un router de borde. Para aprender a usar un comisionado externo, consulta Comisionado de hilos externo.

Para ver un ejemplo de encargo con dispositivos virtuales, consulta el Codelab de simulación de OpenThread.

Habilitar funciones

Para habilitar las funciones de comisionado y comandante, 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, para compilar la plataforma de ejemplo CC2538 a fin de usarla como un elemento Joiner, siga estos pasos:

./script/build -DOT_JOINER=ON

Escribe en la memoria flash cada objeto binario en el dispositivo deseado. Uno es el Comisionado y el otro como Comisionador.

Puedes encontrar instrucciones específicas sobre cómo compilar y escribir en la memoria flash las plataformas compatibles en cada repositorio de OpenThread de la plataforma. Consulta la organización de GitHub de OpenThread para encontrar el repositorio.

Crea una red

Cree una red en el dispositivo que actúe como comisionado:

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

Espera unos segundos y verifica que el dispositivo se haya convertido en líder del subproceso:

state
leader
Done

Inicia la función de comisionado

En ese mismo dispositivo, inicia la función de comisionado:

commissioner start
Done

Use el comodín * para permitir que cualquier objeto Joiner que tenga la credencial de Joiner especificada se encargue de la red. La credencial de Joiner se usa (junto con el ID del PAN extendido y el nombre de la red) a fin de generar la clave precompartida para el dispositivo (PSKd). Luego, la PSKd se usa para autenticar un dispositivo durante la comisión de Thread. La credencial de unión debe ser única para cada dispositivo.

commissioner joiner add * J01NME
Done

Restringir a un Joiner específico

Para restringir la asignación a un dispositivo de Joiner específico, usa el parámetro eui64, que es el IEEE EUI-64 asignado por la fábrica al dispositivo.

En el dispositivo que funciona como unión, obtenga la EUI-64:

eui64
2f57d222545271f1
Done

Usa ese valor en lugar del comodín * en el comando commissioner joiner en el dispositivo comisionado:

commissioner joiner add 2f57d222545271f1 J01NME
Done

Inicie la función de unión

En el dispositivo que funciona como Joiner, restablece la configuración de fábrica y, luego, habilita la función de Joiner con la misma credencial de Joiner especificada en la herramienta Comisionador:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Espera unos segundos para confirmar la acción:

Join success!

El dispositivo de Joiner se autenticó correctamente con el comisionado y recibió las credenciales de la red Thread.

Ahora, inicie Thread en el dispositivo de Joiner:

thread start
Done

Valida la autenticación

Revise el estado en el dispositivo de Joiner para validar que se unió a la red. En dos minutos, el estado pasa del elemento secundario al router:

state
child
Done
...
state
router
Done