아동 감독

GitHub에서 소스 보기

SED (수면 끝 기기)가 상위 라우터 (하위 라우터의 하위 표에 나열된)에 여전히 연결되어 있는지 확인하는 에너지 효율 메커니즘을 제공하려면 하위 감독 기능을 사용 설정하세요.

스레드 사양을 사용하려면 SED에서 주기적으로 상위 라우터와 MLE 하위 업데이트 요청 및 응답 교환을 실행하여 연결을 확인해야 합니다. Child Supervision은 메시지 전송에 따른 부담을 에너지가 제한된 SED 대신 상위 라우터에 적용하는 SED 라우터 연결을 확인하기 위한 대체 솔루션입니다.

작동 방식

이 기능은 노드 유형과 구성된 매개변수에 따라 두 가지 방식으로 작동합니다.

상위

상위 라우터가 OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL 내에서 하위 SED로 전송되지 않으면 상위 라우터가 하위 SED를 대기열에 추가하고 하위 SED로 전송합니다. Child Supervision 메시지는 다음 정보를 포함하는 MAC 프레임입니다.

  • SED의 RLOC16을 MAC 헤더의 대상으로 사용합니다.
  • 빈 페이로드.

기본적으로 MAC 헤더에는 802.15.4 ACK 요청이 포함됩니다. Child 감독 메시지에서 이 요청을 사용 중지하려면 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_ENABLE1로 정의합니다.

#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
기본값
129초
설명
상위 요소가 사용하는 감독 간격(초)을 지정합니다. 부모의 감독 절차를 사용 중지하려면 0으로 설정합니다.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
기본값
190초
설명
하위 상태의 기기에서 사용하는 감독 기능 확인 제한 시간(초)을 지정합니다. 하위 요소의 감독 기능 확인 프로세스를 사용 중지하려면 0으로 설정합니다.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
기본값
0 (ACK 요청 사용 설정됨)
설명
감독 메시지의 MAC 헤더에서 802.15.4 ACK 요청을 지우거나 사용 중지하려면 1로 설정합니다.

API

Child Supervision API를 사용하여 OpenThread 애플리케이션에서 직접 감독 기능을 관리하고 시간 제한 간격을 확인합니다.

CLI

이 기능과 관련된 CLI 명령어가 없습니다.