Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

채널 모니터링

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

요약

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

채널 모니터링은 모든 채널을 주기적으로 모니터링하여 보다 깔끔한 채널 (방해가 적은 채널)을 결정합니다.

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

함수

otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
uint16_t
특정 채널의 현재 채널 점유율을 가져옵니다.
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
int8_t
dBm 단위의 채널 모니터링 RSSI 임계값을 가져옵니다.
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
)

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

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
dBm 단위의 RSSI 임 threshold값

otChannelMonitorGetSampleCount

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 인스턴스 포인터.
반환
평균 샘플 창입니다.

otChannelMonitorIsEnabledEnabled

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

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

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
채널 모니터링 작업이 사용 설정되어 있으면 TRUE, 그렇지 않으면 FALSE입니다.

otChannelMonitorSetEnabledEnabled

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

이 함수는 채널 모니터링 작업을 사용 설정/사용 중지합니다.

작업이 시작되면 이전에 수집된 모든 데이터가 지워집니다. 그러나 작업이 중지된 후 이전에 수집된 데이터는 여전히 유효하며 읽을 수 있습니다.

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

리소스

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