Joiner

En este módulo, se incluyen funciones para el rol de Thread Joiner.

Resumen

Enumeraciones

otJoinerState enum
Define el estado de unión.

Typedefs

otJoinerCallback)(otError aError, void *aContext) typedef
void(*
Se llama al puntero para notificar que se completó una operación de unión.
otJoinerDiscerner typedef
Representa un diferenciador de unión.
otJoinerState typedef
Define el estado de unión.

remotas

otJoinerGetDiscerner(otInstance *aInstance)
Obtiene el Discerner de Joiner.
otJoinerGetId(otInstance *aInstance)
const otExtAddress *
Obtiene el ID de Joiner.
otJoinerGetState(otInstance *aInstance)
Obtiene el estado de unión.
otJoinerSetDiscerner(otInstance *aInstance, otJoinerDiscerner *aDiscerner)
Establece el Discerner de Joiner.
otJoinerStart(otInstance *aInstance, const char *aPskd, const char *aProvisioningUrl, const char *aVendorName, const char *aVendorModel, const char *aVendorSwVersion, const char *aVendorData, otJoinerCallback aCallback, void *aContext)
Habilita la función de unión de subprocesos.
otJoinerStateToString(otJoinerState aState)
const char *
Convierte un valor de enumeración de estado de unión determinado en una string legible.
otJoinerStop(otInstance *aInstance)
void
Inhabilita la función de unión de subprocesos.

Structs

otJoinerDiscerner

Representa un diferenciador de unión.

Enumeraciones

otJoinerState

 otJoinerState

Define el estado de unión.

Typedefs

otJoinerCallback

void(* otJoinerCallback)(otError aError, void *aContext)

Se llama al puntero para notificar que se completó una operación de unión.

Detalles
Parámetros
[in] aError
OT_ERROR_NONE si la unión se realizó correctamente. OT_ERROR_SECURITY si falla el proceso de unión debido a credenciales de seguridad Se mostrará OT_ERROR_NOT_FOUND si no se descubrió una red que se pueda unir. OT_ERROR_RESPONSE_TIMEOUT si se agotó el tiempo de espera de una respuesta.
[in] aContext
Un puntero para el contexto específico de la aplicación.

otJoinerDiscerner

struct otJoinerDiscerner otJoinerDiscerner

Representa un diferenciador de unión.

otJoinerState

enum otJoinerState otJoinerState

Define el estado de unión.

remotas

otJoinerGetDiscerner

const otJoinerDiscerner * otJoinerGetDiscerner(
  otInstance *aInstance
)

Obtiene el Discerner de Joiner.

Para obtener más información, consulta otJoinerSetDiscerner.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
Un puntero al Discerner de Joiner o NULL si no se establece ninguno.

otJoinerGetId

const otExtAddress * otJoinerGetId(
  otInstance *aInstance
)

Obtiene el ID de Joiner.

Si no se establece un Discerner de unión, el ID de unión es los primeros 64 bits del resultado de calcular SHA-256 sobre el IEEE EUI-64 asignado de fábrica. De lo contrario, el ID de unión se calcula a partir del valor del Discerner de Joiner.

El ID de unión también se usa como la dirección extendida IEEE 802.15.4 del dispositivo durante el proceso de puesta en marcha.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
Qué muestra
Un puntero para el ID de Joiner.

otJoinerGetState

otJoinerState otJoinerGetState(
  otInstance *aInstance
)

Obtiene el estado de unión.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El estado de la unión.

otJoinerSetDiscerner

otError otJoinerSetDiscerner(
  otInstance *aInstance,
  otJoinerDiscerner *aDiscerner
)

Establece el Discerner de Joiner.

El Discerner de Joiner se usa para calcular el ID de Joiner durante el proceso de comisión de Thread. Para obtener más información, consulta otJoinerGetId.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in] aDiscerner
Un puntero para un reconocedor de Joiner. Si es NULL, se borra cualquier valor de discretización que se haya establecido previamente.
Valores que se muestran
OT_ERROR_NONE
El Discerner de Joiner se actualizó correctamente.
OT_ERROR_INVALID_ARGS
aDiscerner no es válido (la longitud especificada no está dentro del rango válido).
OT_ERROR_INVALID_STATE
Hay un proceso de unión en curso, por lo que no se puede cambiar el Discerner de Joiner.

otJoinerStart

otError otJoinerStart(
  otInstance *aInstance,
  const char *aPskd,
  const char *aProvisioningUrl,
  const char *aVendorName,
  const char *aVendorModel,
  const char *aVendorSwVersion,
  const char *aVendorData,
  otJoinerCallback aCallback,
  void *aContext
)

Habilita la función de unión de subprocesos.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aPskd
Un puntero para la PSKd.
[in] aProvisioningUrl
Un puntero a la URL de aprovisionamiento (puede ser NULL).
[in] aVendorName
Un puntero al nombre del proveedor (puede ser NULL).
[in] aVendorModel
Un puntero al modelo de proveedor (puede ser NULL).
[in] aVendorSwVersion
Un puntero a la versión de SW del proveedor (puede ser NULL).
[in] aVendorData
Un puntero a los datos del proveedor (puede ser NULL).
[in] aCallback
Un puntero a una función a la que se llama cuando se completa la operación de unión.
[in] aContext
Un puntero para el contexto específico de la aplicación.
Valores que se muestran
OT_ERROR_NONE
Se inició correctamente el rol de Joiner.
OT_ERROR_BUSY
El intento anterior todavía está en curso.
OT_ERROR_INVALID_ARGS
aPskd o aProvisioningUrl no es válido.
OT_ERROR_INVALID_STATE
La pila IPv6 no está habilitada o la pila de subprocesos está completamente habilitada.

otJoinerStateToString

const char * otJoinerStateToString(
  otJoinerState aState
)

Convierte un valor de enumeración de estado de unión determinado en una string legible.

Detalles
Parámetros
[in] aState
El estado de la unión.
Qué muestra
Una representación de cadena legible de aState.

otJoinerStop

void otJoinerStop(
  otInstance *aInstance
)

Inhabilita la función de unión de subprocesos.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.

Macros

OT_JOINER_MAX_DISCERNER_LENGTH

 OT_JOINER_MAX_DISCERNER_LENGTH 64

Longitud máxima, en bits, de un diferenciador de Joiner.

Recursos

Los temas de referencia de la API de OpenThread se originan a partir del código fuente, disponible en GitHub. Para obtener más información o contribuir a nuestra documentación, consulta Recursos.