절전 모드의 최종 기기(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_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 명령어는 없습니다.