Joiner

此模块包含 Thread Joiner 角色的函数。

摘要

枚举

otJoinerState 枚举
定义连接符状态。

类型定义符

otJoinerCallback)(otError aError, void *aContext) typedef
void(*
系统会调用指针来通知联接操作完成。
otJoinerDiscerner typedef
表示连接符识别器。
otJoinerState typedef
定义连接符状态。

函数

otJoinerGetDiscerner(otInstance *aInstance)
获取细木工识别器。
otJoinerGetId(otInstance *aInstance)
const otExtAddress *
获取连接符 ID。
otJoinerGetState(otInstance *aInstance)
获取连接符状态。
otJoinerSetDiscerner(otInstance *aInstance, otJoinerDiscerner *aDiscerner)
设置细木分割器。
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)
启用 Thread Joiner 角色。
otJoinerStateToString(otJoinerState aState)
const char *
将给定的联接状态枚举值转换为人类可读的字符串。
otJoinerStop(otInstance *aInstance)
void
停用 Thread Joiner 角色。

结构体

otJoinerDiscerner

表示连接符识别器。

枚举

otJoinerState

 otJoinerState

定义连接符状态。

类型定义符

otJoinerCallback

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

系统会调用指针来通知联接操作完成。

具体说明
参数
[in] aError
OT_ERROR_NONE(如果加入过程成功)。OT_ERROR_SECURITY(如果加入过程因安全凭据而失败)。OT_ERROR_NOT_FOUND(如果未找到可加入的网络)。如果响应超时,则为 OT_ERROR_专为 %_TIMEOUT。
[in] aContext
指向应用特定上下文的指针。

otJoinerDiscerner

struct otJoinerDiscerner otJoinerDiscerner

表示连接符识别器。

otJoinerState

enum otJoinerState otJoinerState

定义连接符状态。

函数

otJoinerGetDiscerner

const otJoinerDiscerner * otJoinerGetDiscerner(
  otInstance *aInstance
)

获取细木工识别器。

如需了解详情,请参阅 otJoinerSetDiscerner

具体说明
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
指向联接器标识符或 NULL 的指针(如果未设置)。

otJoinerGetId

const otExtAddress * otJoinerGetId(
  otInstance *aInstance
)

获取连接符 ID。

如果未设置 Joiner Discerner,则连接者 ID 就是通过出厂分配的 IEEE EUI-64 计算 SHA-256 结果的前 64 位。否则,系统会根据“连接符标识符”值计算连接符 ID。

在调试过程中,连接者 ID 还会用作设备的 IEEE 802.15.4 扩展地址。

具体说明
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
指向连接符 ID 的指针。

otJoinerGetState

otJoinerState otJoinerGetState(
  otInstance *aInstance
)

获取连接符状态。

具体说明
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
联接器状态。

otJoinerSetDiscerner

otError otJoinerSetDiscerner(
  otInstance *aInstance,
  otJoinerDiscerner *aDiscerner
)

设置细木分割器。

连接符识别器用于在线程调试流程中计算连接符 ID。如需了解详情,请参阅 otJoinerGetId

具体说明
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aDiscerner
指向细木识别器的指针。如果为 NULL,则会清除之前设置的任何识别器。
返回值
OT_ERROR_NONE
已成功更新联接者。
OT_ERROR_INVALID_ARGS
aDiscerner 无效(指定的长度不在有效范围内)。
OT_ERROR_INVALID_STATE
“加入”流程正在进行,因此无法更改“细木工人”。

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
)

启用 Thread Joiner 角色。

具体说明
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aPskd
指向 PSKd 的指针。
[in] aProvisioningUrl
指向配置网址的指针(可以为 NULL)。
[in] aVendorName
指向供应商名称的指针(可以为 NULL)。
[in] aVendorModel
指向供应商模型的指针(可以为 NULL)。
[in] aVendorSwVersion
指向供应商软件版本的指针(可以为 NULL)。
[in] aVendorData
指向供应商数据的指针(可以为 NULL)。
[in] aCallback
指向联接操作完成时调用的函数的指针。
[in] aContext
指向应用特定上下文的指针。
返回值
OT_ERROR_NONE
已成功启用“连接者”角色。
OT_ERROR_BUSY
上一次尝试仍在进行中。
OT_ERROR_INVALID_ARGS
aPskdaProvisioningUrl 无效。
OT_ERROR_INVALID_STATE
IPv6 堆栈未启用或线程堆栈已完全启用。

otJoinerStateToString

const char * otJoinerStateToString(
  otJoinerState aState
)

将给定的联接状态枚举值转换为人类可读的字符串。

具体说明
参数
[in] aState
联接器状态。
返回值
aState 的人类可读字符串表示形式。

otJoinerStop

void otJoinerStop(
  otInstance *aInstance
)

停用 Thread Joiner 角色。

具体说明
参数
[in] aInstance
指向 OpenThread 实例的指针。

OT_JOINER_MAX_DISCERNER_LENGTH

 OT_JOINER_MAX_DISCERNER_LENGTH 64

连接符识别器的最大长度(以位为单位)。

资源

OpenThread API 参考文档源自 GitHub 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源