コミッショナー

このモジュールには、Thread コミッショナーのロール用の関数が含まれています。

概要

列挙型

otCommissionerJoinerEvent enum
コミッショナーで Joiner イベントを定義します。
otCommissionerState{
  OT_COMMISSIONER_STATE_DISABLED = 0,
  OT_COMMISSIONER_STATE_PETITION = 1,
  OT_COMMISSIONER_STATE_ACTIVE = 2
}
enum
コミッショナー状態を定義します。
otJoinerInfoType{
  OT_JOINER_INFO_TYPE_ANY = 0,
  OT_JOINER_INFO_TYPE_EUI64 = 1,
  OT_JOINER_INFO_TYPE_DISCERNER = 2
}
enum
Joiner Info Type を定義します。

Typedef

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(*
ポインタは、joiner 状態が変化するたびに呼び出されます。
otCommissionerJoinerEvent typedef
コミッショナーで Joiner イベントを定義します。
otCommissionerPanIdConflictCallback)(uint16_t aPanId, uint32_t aChannelMask, void *aContext) typedef
void(*
コミッショナーが PAN ID Conflict メッセージを受信すると、ポインタが呼び出されます。
otCommissionerState typedef
コミッショナー状態を定義します。
otCommissionerStateCallback)(otCommissionerState aState, void *aContext) typedef
void(*
コミッショナーの状態が変わるたびに、ポインタが呼び出されます。
otCommissioningDataset typedef
コミッショニング データセットを表します。
otJoinerInfo typedef
struct otJoinerInfo
Joiner 情報を表します。
otJoinerInfoType typedef
Joiner Info Type を定義します。
otJoinerPskd typedef
struct otJoinerPskd
Joiner PSKd を表します。
otSteeringData typedef
ステアリング データを表します。

関数

otCommissionerAddJoiner(otInstance *aInstance, const otExtAddress *aEui64, const char *aPskd, uint32_t aTimeout)
Joiner エントリを追加します。
otCommissionerAddJoinerWithDiscerner(otInstance *aInstance, const otJoinerDiscerner *aDiscerner, const char *aPskd, uint32_t aTimeout)
指定された Joiner Discerner 値を持つ Joiner エントリを追加します。
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 *
コミッショナー ID を返します。
otCommissionerGetNextJoinerInfo(otInstance *aInstance, uint16_t *aIterator, otJoinerInfo *aJoiner)
aIterator 位置の結合情報を取得します。
otCommissionerGetProvisioningUrl(otInstance *aInstance)
const char *
プロビジョニング URL を取得します。
otCommissionerGetSessionId(otInstance *aInstance)
uint16_t
コミッショナー セッション ID を返します。
otCommissionerGetState(otInstance *aInstance)
コミッショナー状態を返します。
otCommissionerPanIdQuery(otInstance *aInstance, uint16_t aPanId, uint32_t aChannelMask, const otIp6Address *aAddress, otCommissionerPanIdConflictCallback aCallback, void *aContext)
PAN ID クエリ メッセージを送信します。
otCommissionerRemoveJoiner(otInstance *aInstance, const otExtAddress *aEui64)
Joiner エントリを削除します。
otCommissionerRemoveJoinerWithDiscerner(otInstance *aInstance, const otJoinerDiscerner *aDiscerner)
Joiner エントリを削除します。
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)
コミッショナー ID を設定します。
otCommissionerSetProvisioningUrl(otInstance *aInstance, const char *aProvisioningUrl)
プロビジョニング URL を設定します。
otCommissionerStart(otInstance *aInstance, otCommissionerStateCallback aStateCallback, otCommissionerJoinerCallback aJoinerCallback, void *aCallbackContext)
Thread コミッショナーのロールを有効にします。
otCommissionerStop(otInstance *aInstance)
Thread コミッショナーのロールを無効にします。

構造体

otCommissioningDataset

コミッショニング データセットを表します。

otJoinerInfo

Joiner 情報を表します。

otJoinerPskd

Joiner PSKd を表します。

otSteeringData

ステアリング データを表します。

列挙型

otCommissionerJoinerEvent

 otCommissionerJoinerEvent

コミッショナーで Joiner イベントを定義します。

otCommissionerState

 otCommissionerState

コミッショナー状態を定義します。

プロパティ
OT_COMMISSIONER_STATE_ACTIVE

コミッショナーのロールが有効です。

OT_COMMISSIONER_STATE_DISABLED

コミッショナーのロールが無効になっています。

OT_COMMISSIONER_STATE_PETITION

現在、コミッショナーの申請を行っています。

otJoinerInfoType

 otJoinerInfoType

Joiner Info Type を定義します。

プロパティ
OT_JOINER_INFO_TYPE_ANY

Joiner を受け入れます(EUI64 や Discerner は指定されていません)。

OT_JOINER_INFO_TYPE_DISCERNER

結合識別名が指定されています(otJoinerInfomSharedId.mDiscerner)。

OT_JOINER_INFO_TYPE_EUI64

結合 EUI-64 が指定されています(otJoinerInfomSharedId.mEui64)。

Typedef

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)

ポインタは、joiner 状態が変化するたびに呼び出されます。

詳細
パラメータ
[in] aEvent
Joiner イベントタイプ。
[in] aJoinerInfo
Joiner Info へのポインタ。
[in] aJoinerId
Joiner ID へのポインタ(不明な場合は NULL)。
[in] aContext
アプリケーション固有のコンテキストへのポインタ。

otCommissionerJoinerEvent

enum otCommissionerJoinerEvent otCommissionerJoinerEvent

コミッショナーで Joiner イベントを定義します。

otCommissionerPanIdConflictCallback

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

コミッショナーが PAN ID Conflict メッセージを受信すると、ポインタが呼び出されます。

詳細
パラメータ
[in] aPanId
PAN ID の値。
[in] aChannelMask
チャンネル マスク値。
[in] aContext
アプリケーション固有のコンテキストへのポインタ。

otCommissionerState

enum otCommissionerState otCommissionerState

コミッショナー状態を定義します。

otCommissionerStateCallback

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

コミッショナーの状態が変わるたびに、ポインタが呼び出されます。

詳細
パラメータ
[in] aState
コミッショナーの状態。
[in] aContext
アプリケーション固有のコンテキストへのポインタ。

otCommissioningDataset

struct otCommissioningDataset otCommissioningDataset

コミッショニング データセットを表します。

otJoinerInfo

struct otJoinerInfo otJoinerInfo

Joiner 情報を表します。

otJoinerInfoType

enum otJoinerInfoType otJoinerInfoType

Joiner Info Type を定義します。

otJoinerPskd

struct otJoinerPskd otJoinerPskd

Joiner PSKd を表します。

otSteeringData

struct otSteeringData otSteeringData

ステアリング データを表します。

関数

otCommissionerAddJoiner

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

Joiner エントリを追加します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aEui64
Joiner の IEEE EUI-64 へのポインタ、または任意の Joiner の NULL。
[in] aPskd
PSKd へのポインタ。
[in] aTimeout
Joiner が自動的に削除されるまでの時間(秒)。
戻り値
OT_ERROR_NONE
Joiner を追加しました。
OT_ERROR_NO_BUFS
Joiner の追加に使用できるバッファがありません。
OT_ERROR_INVALID_ARGS
aEui64 または aPskd が無効です。
OT_ERROR_INVALID_STATE
コミッショナーがアクティブではありません。

otCommissionerAddJoinerWithDiscerner

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

指定された Joiner Discerner 値を持つ Joiner エントリを追加します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aDiscerner
Joiner Discerner へのポインタ。
[in] aPskd
PSKd へのポインタ。
[in] aTimeout
Joiner が自動的に削除されるまでの時間(秒)。
戻り値
OT_ERROR_NONE
Joiner を追加しました。
OT_ERROR_NO_BUFS
Joiner の追加に使用できるバッファがありません。
OT_ERROR_INVALID_ARGS
aDiscerner または aPskd が無効です。
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
2 つの連続する 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
バッファが足りないため、Energy Scan Query メッセージを生成できません。
OT_ERROR_INVALID_STATE
コミッショナーがアクティブではありません。

otCommissionerGetId

const char * otCommissionerGetId(
  otInstance *aInstance
)

コミッショナー ID を返します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
コミッショナー ID。

otCommissionerGetNextJoinerInfo

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

aIterator 位置の結合情報を取得します。

詳細
パラメータ
[in] aInstance
インスタンスへのポインタ。
[in,out] aIterator
Joiner Info イテレータ コンテキストへのポインタ。
[out] aJoiner
Joiner 情報への参照。
戻り値
OT_ERROR_NONE
Joiner 情報を取得しました。
OT_ERROR_NOT_FOUND
次の Joiner が見つかりません。

otCommissionerGetProvisioningUrl

const char * otCommissionerGetProvisioningUrl(
  otInstance *aInstance
)

プロビジョニング URL を取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
URL 文字列へのポインタ。

otCommissionerGetSessionId

uint16_t otCommissionerGetSessionId(
  otInstance *aInstance
)

コミッショナー セッション ID を返します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
現在のコミッショナーのセッション ID。

otCommissionerGetState

otCommissionerState otCommissionerGetState(
  otInstance *aInstance
)

コミッショナー状態を返します。

詳細
パラメータ
[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
)

PAN ID クエリ メッセージを送信します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aPanId
クエリ対象の PAN ID。
[in] aChannelMask
チャンネル マスク値。
[in] aAddress
IPv6 宛先へのポインタ。
[in] aCallback
PAN ID 競合メッセージの受信時に呼び出される関数へのポインタ。
[in] aContext
アプリケーション固有のコンテキストへのポインタ。
戻り値
OT_ERROR_NONE
PAN ID クエリ メッセージをキューに登録しました。
OT_ERROR_NO_BUFS
PAN ID クエリ メッセージを生成するためのバッファが不足しています。
OT_ERROR_INVALID_STATE
コミッショナーがアクティブではありません。

otCommissionerRemoveJoiner

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

Joiner エントリを削除します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aEui64
Joiner の IEEE EUI-64 へのポインタ、または任意の Joiner の NULL。
戻り値
OT_ERROR_NONE
Joiner を削除しました。
OT_ERROR_NOT_FOUND
aEui64 で指定された結合子が見つかりませんでした。
OT_ERROR_INVALID_ARGS
aEui64 は無効です。
OT_ERROR_INVALID_STATE
コミッショナーがアクティブではありません。

otCommissionerRemoveJoinerWithDiscerner

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

Joiner エントリを削除します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aDiscerner
Joiner Discerner へのポインタ。
戻り値
OT_ERROR_NONE
Joiner を削除しました。
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 dataset コマンドを正常に送信しました。
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 dataset コマンドを正常に送信しました。
OT_ERROR_NO_BUFS
送信に必要なバッファ領域が不足しています。
OT_ERROR_INVALID_STATE
コミッショナーがアクティブではありません。

otCommissionerSetId

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

コミッショナー ID を設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aId
文字列文字配列へのポインタ。null で終了する必要があります。
戻り値
OT_ERROR_NONE
コミッショナー ID を設定しました。
OT_ERROR_INVALID_ARGS
名が長すぎます。
OT_ERROR_INVALID_STATE
コミッショナーは有効です。ID は変更できません。

otCommissionerSetProvisioningUrl

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

プロビジョニング URL を設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aProvisioningUrl
プロビジョニング URL へのポインタ(空の文字列として設定する場合は NULL にすることもできます)。
戻り値
OT_ERROR_NONE
プロビジョニング URL を設定しました。
OT_ERROR_INVALID_ARGS
aProvisioningUrl は無効です(長すぎます)。

otCommissionerStart

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

Thread コミッショナーのロールを有効にします。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aStateCallback
コミッショナーの状態が変更されたときに呼び出される関数へのポインタ。
[in] aJoinerCallback
Joiner イベントで呼び出される関数へのポインタが発生します。
[in] aCallbackContext
アプリケーション固有のコンテキストへのポインタ。
戻り値
OT_ERROR_NONE
コミッショナー サービスを正常に開始しました。
OT_ERROR_ALREADY
コミッショナーはすでに開始されています。
OT_ERROR_INVALID_STATE
デバイスは現在ネットワークに接続されていません。

otCommissionerStop

otError otCommissionerStop(
  otInstance *aInstance
)

Thread コミッショナーのロールを無効にします。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
OT_ERROR_NONE
コミッショナー サービスを停止しました。
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

Joiner PSKd の最大文字列長(null 文字は含みません)。

OT_PROVISIONING_URL_MAX_SIZE

 OT_PROVISIONING_URL_MAX_SIZE 64

プロビジョニング URL の文字列の最大サイズ(文字数)。null 文字列は除外します。

OT_STEERING_DATA_MAX_LENGTH

 OT_STEERING_DATA_MAX_LENGTH 16

ステアリング データの最大長(バイト)

関連情報

OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。