スリープ状態のエンドデバイス(SED)が親ルーター(子ルーターの子テーブルに記載されているデバイス)にまだ接続されていることを確認するためのエネルギー効率の高いメカニズムを提供するには、子監視機能を有効にします。
Thread 仕様では、SED が親ルーターとの MLE Child Update Request と Response の定期的な接続を実行して接続を検証する必要があります。子管理は、SED ルーターの接続を検証するための代替ソリューションであり、エネルギー制約のある SED ではなく親ルーターにメッセージ送信の負担がかかります。
仕組み
この機能は、ノードタイプと構成されているパラメータに応じて、2 つの方法で機能します。
親組織
親ルーターが OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
内の子 SED に送信しない場合、親ルーターはキューに入り、子 SED に子監督メッセージを送信します。子管理メッセージは、次の情報を含む MAC フレームです。
- MAC ヘッダーの宛先として SED の RLOC16。
- 空のペイロード。
デフォルトでは、MAC ヘッダーには 802.15.4 ACK リクエストが含まれます。子監督メッセージでこのリクエストを無効にするには、OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST
パラメータを 1 に設定します。
お子様
SED は、OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT
内の親ルーターから音声が届かない場合、親ルーターとの接続を失ったと見なし、MLE 接続プロセスを開始して親ルーターに再接続します。
有効にする方法
この機能はデフォルトでは無効になっています。
定義
子の監視を有効にするには、OpenThread をビルドする前に、openthread/src/core/config/child_supervision.h
ファイルで OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
を 1
として定義します。
#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif
オプション別
または、OpenThread をビルドするときに、-DOT_CHILD_SUPERVISION=ON
ビルド オプションを使用します。
./script/build -DOT_CHILD_SUPERVISION=ON
パラメータ
この機能をカスタマイズするには、openthread/src/core/config/child_supervision.h
の次のパラメータを使用します。
パラメータ | |||||
---|---|---|---|---|---|
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST |
|
API
Child Supervision API を使って、OpenThread アプリケーションで管理機能を管理し、タイムアウト間隔を直接確認します。
CLI
この機能に関連する CLI コマンドはありません。