채널 모니터링

이 모듈에는 채널 모니터링 기능을 위한 함수가 포함되어 있습니다.

요약

이 모듈의 기능은 채널 모니터링 기능 (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE)이 사용 설정된 경우에 사용할 수 있습니다.

채널 모니터링은 모든 채널을 정기적으로 모니터링하여 정리된 채널 (간섭이 적은 채널)을 파악합니다.

채널 모니터링이 활성화되면 제로 기간이 적용되는 에너지 스캔이 수행되고 샘플 간격마다 모든 채널에서 단일 RSSI 샘플이 수집됩니다. RSSI 샘플은 사전 지정된 RSSI 임곗값과 비교됩니다. 채널 모니터링 모듈은 채널 품질을 나타내는 지표로서 지정된 샘플 기간 (대략) 내에서 기준점을 초과하는 RSSI 샘플의 평균 비율/비율을 유지하고 제공합니다 (채널 점유율이라고 함).

함수

otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
uint16_t
지정된 채널의 현재 채널 점유율을 가져옵니다.
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
int8_t
채널 모니터링 RSSI 임계값을 dBm 단위로 가져옵니다.
otChannelMonitorGetSampleCount(otInstance *aInstance)
uint32_t
채널 모니터링 총 RSSI 샘플 수 (채널당)
otChannelMonitorGetSampleInterval(otInstance *aInstance)
uint32_t
채널 모니터링 샘플 간격(밀리초)을 가져옵니다.
otChannelMonitorGetSampleWindow(otInstance *aInstance)
uint32_t
평균 샘플 창 길이 (샘플 수)로 채널 모니터링을 수행합니다.
otChannelMonitorIsEnabled(otInstance *aInstance)
bool
채널 모니터링 작업이 사용 설정되어 실행 중인지 여부를 나타냅니다.
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
채널 모니터링 작업을 사용하거나 사용 중지합니다.

함수

otChannelMonitorGetChannelOccupancy

uint16_t otChannelMonitorGetChannelOccupancy(
  otInstance *aInstance,
  uint8_t aChannel
)

지정된 채널의 현재 채널 점유율을 가져옵니다.

채널 점유율 값은 RSSI 임곗값을 초과하는 RSSI 샘플의 평균 비율/비율을 나타냅니다 ('잘못된' RSSI 샘플).

첫 번째 '샘플 기간' 샘플의 경우 평균은 실제 비율 (즉, '나쁜' 샘플 수와 전체 샘플 수의 비율)로 유지됩니다. '기간' 샘플 다음에 평균자는 지수 이동 가중치를 적용한 이동 평균을 사용합니다. 실제로 평균은 최신 kSampleWindow 샘플에 주어진 가중치가 가장 높은 마지막 샘플 최대 3 * window개를 나타냅니다.

최댓값 0xffff은 모든 RSSI 샘플이 RSSI 기준점을 초과했음을 나타냅니다 (즉, 샘플의 100% 가 '좋지 않음').

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aChannel
링크 점유율을 가져올 채널입니다.
반환
특정 채널의 현재 점유율입니다.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

채널 모니터링 RSSI 임계값을 dBm 단위로 가져옵니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
반환
dBm 단위의 RSSI 기준.

채널 모니터링 가져오기 샘플 수

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

채널 모니터링 총 RSSI 샘플 수 (채널당)

이 개수는 스레드 네트워크 인터페이스가 사용 설정된 이후의 채널 모니터링 모듈별 채널당 총 샘플 수를 나타냅니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
반환
지금까지 가져온 총 RSSI 샘플 수 (채널당)입니다.

otChannelMonitorGetSampleInterval

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

채널 모니터링 샘플 간격(밀리초)을 가져옵니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
반환
채널은 밀리초 단위의 샘플 간격입니다.

otChannelMonitorGetSampleWindow

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

평균 샘플 창 길이 (샘플 수)로 채널 모니터링을 수행합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
반환
평균 샘플 창

otChannelMonitorIsEnabled

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

채널 모니터링 작업이 사용 설정되어 실행 중인지 여부를 나타냅니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
반환
채널 모니터링 작업이 사용 설정된 경우 TRUE, 그렇지 않은 경우 FALSE입니다.

otChannelMonitorSetEnabled

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

채널 모니터링 작업을 사용하거나 사용 중지합니다.

작업이 시작되면 이전에 수집된 데이터가 삭제됩니다. 하지만 작동이 중지된 후에도 이전에 수집된 데이터는 유효하며 읽을 수 있습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aEnabled
채널 모니터링 작업을 사용 설정/시작하려면 TRUE, 사용 중지/중지하려면 FALSE로 설정합니다.
반환 값
OT_ERROR_NONE
채널 모니터링 상태가 변경되었습니다.
OT_ERROR_ALREADY
채널 모니터링이 이미 동일한 상태입니다.

자료

OpenThread API 참조 주제는 GitHub에서 제공되는 소스 코드에서 비롯됩니다. 자세한 내용을 보거나 문서에 참여하려면 리소스를 참고하세요.