チャンネルのモニタリング
このモジュールでは、チャンネル モニタリング機能について説明します。
まとめ
このモジュールの機能は、チャンネル モニター機能(OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
)が有効になっている場合に使用できます。
チャンネルのモニタリングでは、よりクリーンなチャンネル(干渉の少ないチャンネル)を判断できるように、すべてのチャンネルが定期的にモニタリングされます。
チャンネル モニタリングが有効な場合は、サンプル間隔ごとにすべてのチャンネルで単一の RSSI サンプルが収集され、ゼロ時間のエネルギー スキャンが実行されます。RSSI サンプルは、事前に指定された RSSI しきい値と比較されます。チャネル品質の指標として、チャネル モニタリング モジュールは、指定されたサンプル(チャネル占有率)ウィンドウ内の(ほぼ)しきい値を超える RSSI サンプルの平均レートと割合を維持し、提供します。
関数 |
|
---|---|
otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
|
uint16_t
特定のチャンネルの現在のチャンネル占有率を取得します。
|
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
|
int8_t
チャンネル モニタリングの RSSI しきい値を dBm で取得します。
|
otChannelMonitorGetSampleCount(otInstance *aInstance)
|
uint32_t
チャンネル モニタリングの合計 RSSI サンプル数(チャンネルごと)を取得します。
|
otChannelMonitorGetSampleInterval(otInstance *aInstance)
|
uint32_t
チャネル モニタリングのサンプル間隔(ミリ秒単位)を取得します。
|
otChannelMonitorGetSampleWindow(otInstance *aInstance)
|
uint32_t
チャネル モニタリングの平均サンプル期間(サンプル数)を取得する。
|
otChannelMonitorIsEnabled(otInstance *aInstance)
|
bool
チャネル モニタリング オペレーションが有効で実行中かどうかを示します。
|
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
|
チャネル モニタリング オペレーションを有効または無効にします。
|
関数
otChannelMonitorGetChannelOccupancy
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
特定のチャンネルの現在のチャンネル占有率を取得します。
チャネル占有率の値は、RSSI しきい値(「悪い」RSSI サンプル)を超えた RSSI サンプルの平均レートと割合を表します。
最初の「サンプル ウィンドウ」サンプルでは、平均が実際の割合(つまり、サンプルの合計数に対する「悪い」サンプルの数の比率)として維持されます。「ウィンドウ」サンプルの後、平均化器は指数加重移動平均を使用します。実際には、平均は最新の kSampleWindow
サンプルを重み付けした最大 3 * window
個の最後のサンプルを表しています。
0xffff
の最大値は、すべての RSSI サンプルが RSSI しきい値を上回ったことを示します(つまり、100% のサンプルが「不適切」でした)。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
特定のチャネルの現在のチャネル占有率。
|
otChannelMonitorGetRssiThreshold
int8_t otChannelMonitorGetRssiThreshold( otInstance *aInstance )
チャンネル モニタリングの RSSI しきい値を dBm で取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
RSSI しきい値(dBm)。
|
otChannelMonitorGetSampleCount
uint32_t otChannelMonitorGetSampleCount( otInstance *aInstance )
チャンネル モニタリングの合計 RSSI サンプル数(チャンネルごと)を取得します。
この数は、開始時(Thread ネットワーク インターフェースが有効以降)の、チャネル モニタリング モジュール別のチャネルあたりの合計サンプル数を示します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
これまでに取得された RSSI サンプル(チャンネルあたり)の合計数。
|
otChannelMonitorGetSampleInterval
uint32_t otChannelMonitorGetSampleInterval( otInstance *aInstance )
チャネル モニタリングのサンプル間隔(ミリ秒単位)を取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
チャネル モニタリングのサンプル間隔(ミリ秒単位)。
|
otChannelMonitorGetSampleWindow
uint32_t otChannelMonitorGetSampleWindow( otInstance *aInstance )
チャネル モニタリングの平均サンプル期間(サンプル数)を取得する。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
平均化サンプルのウィンドウ。
|
otChannelMonitorIsEnabled(otChannelMonitorIsEnabled)
bool otChannelMonitorIsEnabled( otInstance *aInstance )
チャネル モニタリング オペレーションが有効で実行中かどうかを示します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
チャネル モニタリング オペレーションが有効になっている場合は TRUE、そうでない場合は FALSE です。
|
otChannelMonitorSetEnabled(otChannelMonitorSetEnabled)
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
チャネル モニタリング オペレーションを有効または無効にします。
オペレーションを開始すると、それまでに収集されたデータはすべて消去されます。ただし、オペレーションを無効にしても、それまでに収集されたデータは有効であり、読み取ることができます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
関連情報
OpenThread API リファレンスのトピックは、GitHub で入手可能なソースコードに基づいています。詳細やドキュメントの作成方法については、リソースをご覧ください。