아동 감독

GitHub에서 소스 보기

절전 모드의 최종 기기(SED)가 여전히 상위 라우터(상위 라우터의 하위 테이블에 나열됨)에 연결되어 있는지 확인하는 데 에너지 효율적인 메커니즘을 제공하려면 하위 라우터 감독 기능을 사용 설정하세요.

스레드 사양에 따라 SED는 주기적으로 상위 라우터와 MLE 하위 업데이트 요청 및 응답 교환을 수행하여 연결을 확인해야 합니다. 하위 감독은 SED-라우터 연결을 확인하기 위한 대체 솔루션으로, 에너지 제약이 있는 SED가 아닌 상위 라우터에 메시지 전송 부담을 전가합니다.

작동 방식

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

상위 요소에서

상위 라우터가 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 Attach 프로세스를 시작합니다.

사용 설정 방법

이 기능은 기본적으로 사용 중지되어 있습니다.

정의별

자녀 감독을 사용 설정하려면 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 명령어는 없습니다.