主席

本單元包含 Thread Commissioner 角色的函式。

摘要

列舉

otCommissionerJoinerEvent 列舉
定義有關調試者的加入者事件。
otCommissionerState{
  OT_COMMISSIONER_STATE_DISABLED = 0,
  OT_COMMISSIONER_STATE_PETITION = 1,
  OT_COMMISSIONER_STATE_ACTIVE = 2
}
列舉
定義 Commissioner State (委員會州別)。
otJoinerInfoType{
  OT_JOINER_INFO_TYPE_ANY = 0,
  OT_JOINER_INFO_TYPE_EUI64 = 1,
  OT_JOINER_INFO_TYPE_DISCERNER = 2
}
列舉
定義彙整器資訊類型。

Typedefs

otCommissionerEnergyReportCallback)(uint32_t aChannelMask, const uint8_t *aEnergyList, uint8_t aEnergyListLength, void *aContext) typedef
void(*
委員會收到能源報告時呼叫指標。
otCommissionerJoinerCallback)(otCommissionerJoinerEvent aEvent, const otJoinerInfo *aJoinerInfo, const otExtAddress *aJoinerId, void *aContext) typedef
void(*
只要加入器狀態變更,就會呼叫指標。
otCommissionerJoinerEvent typedef
定義有關調試者的加入者事件。
otCommissionerPanIdConflictCallback)(uint16_t aPanId, uint32_t aChannelMask, void *aContext) typedef
void(*
專員收到 PAN ID 衝突訊息時,就會呼叫指標。
otCommissionerState typedef
定義 Commissioner State (委員會州別)。
otCommissionerStateCallback)(otCommissionerState aState, void *aContext) typedef
void(*
每當委員狀態變更時,就會呼叫指標。
otCommissioningDataset typedef
代表佣金資料集。
otJoinerInfo typedef
struct otJoinerInfo
代表彙整者資訊。
otJoinerInfoType typedef
定義彙整器資訊類型。
otJoinerPskd typedef
struct otJoinerPskd
代表彙整者 PSKd。
otSteeringData typedef
代表引導資料。

函式

otCommissionerAddJoiner(otInstance *aInstance, const otExtAddress *aEui64, const char *aPskd, uint32_t aTimeout)
新增彙整器項目。
otCommissionerAddJoinerWithDiscerner(otInstance *aInstance, const otJoinerDiscerner *aDiscerner, const char *aPskd, uint32_t aTimeout)
新增具有指定彙整器 Discerner 值的彙整器項目。
otCommissionerAnnounceBegin(otInstance *aInstance, uint32_t aChannelMask, uint8_t aCount, uint16_t aPeriod, const otIp6Address *aAddress)
傳送「開始朗讀」訊息。
otCommissionerEnergyScan(otInstance *aInstance, uint32_t aChannelMask, uint8_t aCount, uint16_t aPeriod, uint16_t aScanDuration, const otIp6Address *aAddress, otCommissionerEnergyReportCallback aCallback, void *aContext)
傳送 Energy Scan Query 訊息。
otCommissionerGetId(otInstance *aInstance)
const char *
傳回 Commissioner ID。
otCommissionerGetNextJoinerInfo(otInstance *aInstance, uint16_t *aIterator, otJoinerInfo *aJoiner)
在 aIterator 位置取得加入者資訊。
otCommissionerGetProvisioningUrl(otInstance *aInstance)
const char *
取得佈建網址。
otCommissionerGetSessionId(otInstance *aInstance)
uint16_t
傳回 Commissioner Session ID。
otCommissionerGetState(otInstance *aInstance)
傳回 Commissioner State。
otCommissionerPanIdQuery(otInstance *aInstance, uint16_t aPanId, uint32_t aChannelMask, const otIp6Address *aAddress, otCommissionerPanIdConflictCallback aCallback, void *aContext)
傳送永久帳號 ID 查詢訊息。
otCommissionerRemoveJoiner(otInstance *aInstance, const otExtAddress *aEui64)
移除彙整器項目。
otCommissionerRemoveJoinerWithDiscerner(otInstance *aInstance, const otJoinerDiscerner *aDiscerner)
移除彙整器項目。
otCommissionerSendMgmtGet(otInstance *aInstance, const uint8_t *aTlvs, uint8_t aLength)
傳送 MGMT_COMMISSIONER_GET。
otCommissionerSendMgmtSet(otInstance *aInstance, const otCommissioningDataset *aDataset, const uint8_t *aTlvs, uint8_t aLength)
傳送 MGMT_COMMISSIONER_SET。
otCommissionerSetId(otInstance *aInstance, const char *aId)
設定 Commissioner ID。
otCommissionerSetProvisioningUrl(otInstance *aInstance, const char *aProvisioningUrl)
設定佈建網址。
otCommissionerStart(otInstance *aInstance, otCommissionerStateCallback aStateCallback, otCommissionerJoinerCallback aJoinerCallback, void *aCallbackContext)
啟用 Thread Commissioner 角色。
otCommissionerStop(otInstance *aInstance)
停用 Thread Commissioner 角色。

結構

otCommissioningDataset

代表佣金資料集。

otJoinerInfo

代表彙整者資訊。

otJoinerPskd

代表彙整者 PSKd。

otSteeringData

代表引導資料。

列舉

otCommissionerJoinerEvent

 otCommissionerJoinerEvent

定義有關調試者的加入者事件。

otCommissionerState

 otCommissionerState

定義 Commissioner State (委員會州別)。

屬性
OT_COMMISSIONER_STATE_ACTIVE

調試者角色有效。

OT_COMMISSIONER_STATE_DISABLED

已停用調試者角色。

OT_COMMISSIONER_STATE_PETITION

目前正在伸張正義,成為委員。

otJoinerInfoType

 otJoinerInfoType

定義彙整器資訊類型。

屬性
OT_JOINER_INFO_TYPE_ANY

接受任何彙整者 (未指定 EUI64 或 Discerner)。

OT_JOINER_INFO_TYPE_DISCERNER

已指定彙整器捨棄器 (otJoinerInfo 中的 mSharedId.mDiscerner)。

OT_JOINER_INFO_TYPE_EUI64

已指定彙整者 EUI-64 (otJoinerInfo 中的 mSharedId.mEui64)。

Typedefs

otCommissionerEnergyReportCallback

void(* otCommissionerEnergyReportCallback)(uint32_t aChannelMask, const uint8_t *aEnergyList, uint8_t aEnergyListLength, void *aContext)

委員會收到能源報告時呼叫指標。

詳細說明
參數
[in] aChannelMask
通道遮罩值。
[in] aEnergyList
指向能源測量清單的指標。
[in] aEnergyListLength
aEnergyListLength 中的項目數量。
[in] aContext
指向應用程式特定背景資訊的指標。

otCommissionerJoinerCallback

void(* otCommissionerJoinerCallback)(otCommissionerJoinerEvent aEvent, const otJoinerInfo *aJoinerInfo, const otExtAddress *aJoinerId, void *aContext)

只要彙整器狀態變更,就會呼叫指標。

詳細說明
參數
[in] aEvent
加入者事件類型。
[in] aJoinerInfo
指向「彙整者資訊」的指標。
[in] aJoinerId
指向加入者 ID 的指標 (如果不明,則為空值)。
[in] aContext
指向應用程式特定背景資訊的指標。

otCommissionerJoinerEvent

enum otCommissionerJoinerEvent otCommissionerJoinerEvent

定義有關調試者的加入者事件。

otCommissionerPanIdConflictCallback

void(* otCommissionerPanIdConflictCallback)(uint16_t aPanId, uint32_t aChannelMask, void *aContext)

專員收到 PAN ID 衝突訊息時,就會呼叫指標。

詳細說明
參數
[in] aPanId
永久帳號 ID 值。
[in] aChannelMask
通道遮罩值。
[in] aContext
指向應用程式特定背景資訊的指標。

otCommissionerState

enum otCommissionerState otCommissionerState

定義 Commissioner State (委員會州別)。

otCommissionerStateCallback

void(* otCommissionerStateCallback)(otCommissionerState aState, void *aContext)

每當委員狀態變更時,就會呼叫指標。

詳細說明
參數
[in] aState
委員州。
[in] aContext
指向應用程式特定背景資訊的指標。

otCommissioningDataset

struct otCommissioningDataset otCommissioningDataset

代表佣金資料集。

otJoinerInfo

struct otJoinerInfo otJoinerInfo

代表彙整者資訊。

otJoinerInfoType

enum otJoinerInfoType otJoinerInfoType

定義彙整器資訊類型。

otJoinerPskd

struct otJoinerPskd otJoinerPskd

代表彙整者 PSKd。

otSteeringData

struct otSteeringData otSteeringData

代表引導資料。

函式

otCommissionerAddJoiner

otError otCommissionerAddJoiner(
  otInstance *aInstance,
  const otExtAddress *aEui64,
  const char *aPskd,
  uint32_t aTimeout
)

新增彙整器項目。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aEui64
指向任何加入者的 IEEE EUI-64 或 NULL 指標。
[in] aPskd
PSKd 的指標。
[in] aTimeout
經過的時間 (以秒為單位),系統會自動移除彙整器。
傳回值
OT_ERROR_NONE
已成功新增彙整者。
OT_ERROR_NO_BUFS
沒有可新增彙整器的緩衝區。
OT_ERROR_INVALID_ARGS
aEui64aPskd 無效。
OT_ERROR_INVALID_STATE
代理人未啟用。

otCommissionerAddJoinerWithDiscerner

otError otCommissionerAddJoinerWithDiscerner(
  otInstance *aInstance,
  const otJoinerDiscerner *aDiscerner,
  const char *aPskd,
  uint32_t aTimeout
)

新增具有指定彙整器 Discerner 值的彙整器項目。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDiscerner
遊標移合器的指標。
[in] aPskd
PSKd 的指標。
[in] aTimeout
經過的時間 (以秒為單位),系統會自動移除彙整器。
傳回值
OT_ERROR_NONE
已成功新增彙整者。
OT_ERROR_NO_BUFS
沒有可新增彙整器的緩衝區。
OT_ERROR_INVALID_ARGS
aDiscerneraPskd 無效。
OT_ERROR_INVALID_STATE
代理人未啟用。

otCommissionerAnnounceBegin

otError otCommissionerAnnounceBegin(
  otInstance *aInstance,
  uint32_t aChannelMask,
  uint8_t aCount,
  uint16_t aPeriod,
  const otIp6Address *aAddress
)

傳送「開始朗讀」訊息。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aChannelMask
通道遮罩值。
[in] aCount
每個管道的公告訊息數量。
[in] aPeriod
兩次 MLE 連續朗讀傳輸作業的間隔時間 (以毫秒為單位)。
[in] aAddress
指向 IPv6 目的地的指標。
傳回值
OT_ERROR_NONE
已成功將「宣布開始」訊息排入佇列。
OT_ERROR_NO_BUFS
緩衝區不足,無法產生「開始朗讀」訊息。
OT_ERROR_INVALID_STATE
代理人未啟用。

otCommissionerEnergyScan

otError otCommissionerEnergyScan(
  otInstance *aInstance,
  uint32_t aChannelMask,
  uint8_t aCount,
  uint16_t aPeriod,
  uint16_t aScanDuration,
  const otIp6Address *aAddress,
  otCommissionerEnergyReportCallback aCallback,
  void *aContext
)

傳送 Energy Scan Query 訊息。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aChannelMask
通道遮罩值。
[in] aCount
每個通路的能量測量數。
[in] aPeriod
測量能量的間隔時間 (毫秒)。
[in] aScanDuration
每次能源測量的掃描時間長度 (毫秒)。
[in] aAddress
指向 IPv6 目的地的指標。
[in] aCallback
指向接收能源報告訊息的函式。
[in] aContext
指向應用程式特定背景資訊的指標。
傳回值
OT_ERROR_NONE
成功將 Energy Scan Query 訊息排入佇列。
OT_ERROR_NO_BUFS
緩衝區不足,無法產生能源掃描查詢訊息。
OT_ERROR_INVALID_STATE
代理人未啟用。

otCommissionerGetId

const char * otCommissionerGetId(
  otInstance *aInstance
)

傳回 Commissioner ID。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
調試者 ID。

otCommissionerGetNextJoinerInfo

otError otCommissionerGetNextJoinerInfo(
  otInstance *aInstance,
  uint16_t *aIterator,
  otJoinerInfo *aJoiner
)

在 aIterator 位置取得加入者資訊。

詳細說明
參數
[in] aInstance
執行個體的指標。
[in,out] aIterator
指向加入器資訊疊代器結構定義的指標。
[out] aJoiner
加入者資訊的參照。
傳回值
OT_ERROR_NONE
已成功取得彙整者資訊。
OT_ERROR_NOT_FOUND
找不到下一個彙整者。

otCommissionerGetProvisioningUrl

const char * otCommissionerGetProvisioningUrl(
  otInstance *aInstance
)

取得佈建網址。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
網址字串的指標。

otCommissionerGetSessionId

uint16_t otCommissionerGetSessionId(
  otInstance *aInstance
)

傳回 Commissioner Session ID。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
目前的委員工作階段 ID。

otCommissionerGetState

otCommissionerState otCommissionerGetState(
  otInstance *aInstance
)

傳回 Commissioner State。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回值
OT_COMMISSIONER_STATE_DISABLED
已停用調試者。
OT_COMMISSIONER_STATE_PETITION
成為總裁。
OT_COMMISSIONER_STATE_ACTIVE
已啟用調試者。

otCommissionerPanIdQuery

otError otCommissionerPanIdQuery(
  otInstance *aInstance,
  uint16_t aPanId,
  uint32_t aChannelMask,
  const otIp6Address *aAddress,
  otCommissionerPanIdConflictCallback aCallback,
  void *aContext
)

傳送永久帳號 ID 查詢訊息。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aPanId
要查詢的永久帳號 ID。
[in] aChannelMask
通道遮罩值。
[in] aAddress
指向 IPv6 目的地的指標。
[in] aCallback
指向接收 PAN ID 衝突訊息時呼叫的函式。
[in] aContext
指向應用程式特定背景資訊的指標。
傳回值
OT_ERROR_NONE
已成功將永久帳號 ID 查詢訊息排入佇列。
OT_ERROR_NO_BUFS
緩衝區不足,無法產生永久帳號 ID 查詢訊息。
OT_ERROR_INVALID_STATE
代理人未啟用。

otCommissionerRemoveJoiner

otError otCommissionerRemoveJoiner(
  otInstance *aInstance,
  const otExtAddress *aEui64
)

移除彙整器項目。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aEui64
指向任何加入者的 IEEE EUI-64 或 NULL 指標。
傳回值
OT_ERROR_NONE
已成功移除彙整者。
OT_ERROR_NOT_FOUND
找不到 aEui64 指定的彙整者。
OT_ERROR_INVALID_ARGS
aEui64 無效。
OT_ERROR_INVALID_STATE
代理人未啟用。

otCommissionerRemoveJoinerWithDiscerner

otError otCommissionerRemoveJoinerWithDiscerner(
  otInstance *aInstance,
  const otJoinerDiscerner *aDiscerner
)

移除彙整器項目。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDiscerner
遊標移合器的指標。
傳回值
OT_ERROR_NONE
已成功移除彙整者。
OT_ERROR_NOT_FOUND
找不到 aEui64 指定的彙整者。
OT_ERROR_INVALID_ARGS
aDiscerner 無效。
OT_ERROR_INVALID_STATE
代理人未啟用。

otCommissionerSendMgmtGet

otError otCommissionerSendMgmtGet(
  otInstance *aInstance,
  const uint8_t *aTlvs,
  uint8_t aLength
)

傳送 MGMT_COMMISSIONER_GET。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aTlvs
指向 TLV 的指標。
[in] aLength
TLV 的長度。
傳回值
OT_ERROR_NONE
已成功傳送 Meshcop 資料集指令。
OT_ERROR_NO_BUFS
緩衝空間不足,無法傳送。
OT_ERROR_INVALID_STATE
代理人未啟用。

otCommissionerSendMgmtSet

otError otCommissionerSendMgmtSet(
  otInstance *aInstance,
  const otCommissioningDataset *aDataset,
  const uint8_t *aTlvs,
  uint8_t aLength
)

傳送 MGMT_COMMISSIONER_SET。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDataset
調試資料集的指標。
[in] aTlvs
指向 TLV 的指標。
[in] aLength
TLV 的長度。
傳回值
OT_ERROR_NONE
已成功傳送 Meshcop 資料集指令。
OT_ERROR_NO_BUFS
緩衝空間不足,無法傳送。
OT_ERROR_INVALID_STATE
代理人未啟用。

otCommissionerSetId

otError otCommissionerSetId(
  otInstance *aInstance,
  const char *aId
)

設定 Commissioner ID。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aId
指向字串字元陣列的指標。必須為空值終止。
傳回值
OT_ERROR_NONE
已成功設定佣金 ID。
OT_ERROR_INVALID_ARGS
名字過長。
OT_ERROR_INVALID_STATE
委員已啟用,因此無法變更 ID。

otCommissionerSetProvisioningUrl

otError otCommissionerSetProvisioningUrl(
  otInstance *aInstance,
  const char *aProvisioningUrl
)

設定佈建網址。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aProvisioningUrl
指向佈建網址的指標 (可以設為空字串為 NULL)。
傳回值
OT_ERROR_NONE
已成功設定佈建網址。
OT_ERROR_INVALID_ARGS
aProvisioningUrl 無效 (過長)。

otCommissionerStart

otError otCommissionerStart(
  otInstance *aInstance,
  otCommissionerStateCallback aStateCallback,
  otCommissionerJoinerCallback aJoinerCallback,
  void *aCallbackContext
)

啟用 Thread Commissioner 角色。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aStateCallback
指向執行者狀態變更時呼叫的函式。
[in] aJoinerCallback
出現透過彙整器事件呼叫的函式指標。
[in] aCallbackContext
指向應用程式特定背景資訊的指標。
傳回值
OT_ERROR_NONE
成功啟動 Commissioner 服務。
OT_ERROR_ALREADY
調試者已啟動。
OT_ERROR_INVALID_STATE
裝置目前未連上網路。

otCommissionerStop

otError otCommissionerStop(
  otInstance *aInstance
)

停用 Thread Commissioner 角色。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回值
OT_ERROR_NONE
已成功停止 Commissioner 服務。
OT_ERROR_ALREADY
調試者已停止運作。

巨集

OT_COMMISSIONING_PASSPHRASE_MAX_SIZE

 OT_COMMISSIONING_PASSPHRASE_MAX_SIZE 255

「調試通關密語」的大小上限。

OT_COMMISSIONING_PASSPHRASE_MIN_SIZE

 OT_COMMISSIONING_PASSPHRASE_MIN_SIZE 6

「調試通關密語」的最小尺寸。

OT_JOINER_MAX_PSKD_LENGTH

 OT_JOINER_MAX_PSKD_LENGTH 32

彙整器 PSKd 的字串長度上限 (不含空值字元)。

OT_PROVISIONING_URL_MAX_SIZE

 OT_PROVISIONING_URL_MAX_SIZE 64

佈建網址字串的大小上限 (字元數) (不含空值字元)。

OT_STEERING_DATA_MAX_LENGTH

 OT_STEERING_DATA_MAX_LENGTH 16

導引資料長度上限 (位元組)

資源

OpenThread API 參考資料主題源自原始碼,請前往 GitHub 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源