아동 감독

GitHub에서 소스 보기

절전 모드 엔드 기기(SED)가 상위 게시자의 하위 테이블에 나열된 상위 게시자에 계속 연결되어 있는지 확인할 수 있는 에너지 효율적인 메커니즘을 제공하려면 하위 감독 기능을 사용 설정하세요.

Thread 사양에서는 연결을 확인하기 위해 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 연결 프로세스를 시작하여 네트워크에 다시 연결합니다.

사용 설정 방법

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

정의별

하위 감독을 사용 설정하려면 OpenThread를 빌드하기 전에 OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE1에 있는 openthread/src/core/config/child_supervision.h 파일로 정의합니다.

#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

하위 감독 API를 사용하여 OpenThread 애플리케이션에서 감독 및 시간 제한 간격을 직접 관리합니다.

CLI

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