細木工

這個模組提供 Thread Joiner 角色的功能。

摘要

列舉

otJoinerState enum
這個列舉值定義了「參與者狀態」。

類型

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)
這個函式會啟用「執行緒合併者」角色。
otJoinerStateToString(otJoinerState aState)
const char *
這個函式會將指定的聯想狀態列舉值轉換為使用者可理解的字串。
otJoinerStop(otInstance *aInstance)
void
此函式會停用執行緒合併器角色。

結構

otJoinerDiscerner

這個結構代表的是「聯結者」。

列舉

otJoinerState

 otJoinerState

這個列舉值定義了「參與者狀態」。

類型

otJoinerCallback

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

系統會呼叫此函式指標來通知加入作業完成。

說明
參數
[in] aError
加入成功的 OT_ERROR_NONE。如果加入過程因安全性憑證而失敗,請使用 OT_ERROR_SECURITY。如果找不到可加入的網路,OT_ERROR_NOT_FOUND。如果回應逾時,則 OT_ERROR_RESPONSE_TIMEOUT。
[in] aContext
指向特定應用程式內容的指標。

otJoinerDiscerner

struct otJoinerDiscerner otJoinerDiscerner

這個結構代表的是「聯結者」。

otJoinerState

enum otJoinerState otJoinerState

這個列舉值定義了「參與者狀態」。

函式

otJoinerGetDiscerner

const otJoinerDiscerner * otJoinerGetDiscerner(
  otInstance *aInstance
)

這個函式會合併函式。

說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
退貨
指向 Joiner Discerner 或 NULL (如果沒有設定) 的指標。

otJoinerGetId

const otExtAddress * otJoinerGetId(
  otInstance *aInstance
)

這個函式會取得參與者 ID。

如果未設定 Joiner Discerner,加入的員工 ID 是計算 SHA-256 結果的前 64 位元 (相較於原廠指派的 IEEE EUI-64)。否則,在計算「開發人員 ID」值是計算依據。

Joiner ID 也在 commission 程序中用做 the 的 IEEE 802.15.4 Extended Address。

說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
退貨
指向參與者 ID 的指標。

otJoinerGetState

otJoinerState otJoinerGetState(
  otInstance *aInstance
)

此函式會傳回「聯結狀態」。

說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回值
OT_JOINER_STATE_IDLE
OT_JOINER_STATE_DISCOVER
OT_JOINER_STATE_CONNECT
OT_JOINER_STATE_CONNECTED
OT_JOINER_STATE_ENTRUST
OT_JOINER_STATE_JOINED

otJoinerSetDiscerner

otError otJoinerSetDiscerner(
  otInstance *aInstance,
  otJoinerDiscerner *aDiscerner
)

這個函式會設定「終結者」篩選器,

聯結者演算法會用來計算在佣金/加入過程中使用的加入人員 ID。

根據預設,如未提供演算法或設為 NULL,在彙整工作站 ID 的情況下,系統會將 SHA-256 計算結果的前 64 個位元納入考量。請注意,這是「執行緒」規格預期的主要行為。

說明
參數
[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
)

這個函式會啟用「執行緒合併者」角色。

說明
參數
[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
)

此函式會停用執行緒合併器角色。

說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。

巨集

OT_JOINER_MAX_DISCERNER_LENGTH

 OT_JOINER_MAX_DISCERNER_LENGTH 64

a 接器子 length 的長度上限 (以位元為單位)。

資源

OpenThread API 參照主題來自原始碼,位於 GitHub。 如需更多資訊或參閱我們的說明文件,請參閱資源