Мониторинг канала

Этот модуль включает в себя функции для функции мониторинга канала.

Краткое содержание

Функции в этом модуле доступны, когда включена функция монитора канала ( OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE ).

Мониторинг каналов будет периодически контролировать все каналы, чтобы помочь определить более чистые каналы (каналы с меньшими помехами).

Когда мониторинг канала активен, выполняется энергетическое сканирование с нулевой продолжительностью, собирая одну выборку RSSI на каждом канале за интервал выборки. Образцы RSSI сравниваются с предварительно заданным порогом RSSI. В качестве индикатора качества канала модуль мониторинга канала поддерживает и предоставляет среднюю скорость/процент выборок RSSI, которые превышают пороговое значение в пределах (приблизительно) заданного окна выборки (называемого занятостью канала).

Функции

otChannelMonitorGetChannelOccupancy ( otInstance *aInstance, uint8_t aChannel)
uint16_t
Получает текущую занятость канала для данного канала.
otChannelMonitorGetRssiThreshold ( otInstance *aInstance)
int8_t
Получите пороговое значение 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).

Для первых выборок "окна выборки" среднее значение сохраняется как фактический процент (т. е. отношение числа "плохих" выборок к общему количеству выборок). После «оконных» выборок усреднитель использует экспоненциально взвешенное скользящее среднее. На практике это означает, что среднее значение является репрезентативным для 3 * window , при этом наибольший вес присваивается последним выборкам kSampleWindow .

Максимальное значение 0xffff указывает, что все выборки RSSI превышали пороговое значение RSSI (т. е. 100% выборок были «плохими»).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aChannel
Канал, для которого нужно получить занятость ссылки.
Возвращает
Текущая занятость канала для данного канала.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

Получите пороговое значение RSSI мониторинга канала в дБм.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращает
Порог RSSI в дБм.

otChannelMonitorGetSampleCount

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

Получите общее количество выборок RSSI для мониторинга канала (на канал).

Счетчик показывает общее количество выборок на канал по модулю мониторинга каналов с момента его запуска (поскольку сетевой интерфейс Thread был включен).

Подробности
Параметры
[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 в противном случае.

отчаннелмониторсетенаблед

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Включает или отключает операцию мониторинга канала.

После запуска операции все ранее собранные данные удаляются. Однако после отключения операции предыдущие собранные данные остаются действительными и могут быть прочитаны.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aEnabled
TRUE, чтобы включить/запустить операцию мониторинга канала, FALSE, чтобы отключить/остановить ее.
Возвращаемые значения
OT_ERROR_NONE
Состояние мониторинга канала успешно изменено
OT_ERROR_ALREADY
Мониторинг канала уже находится в том же состоянии.

Ресурсы

Разделы справочника по API OpenThread взяты из исходного кода, доступного на GitHub . Чтобы получить дополнительную информацию или внести свой вклад в нашу документацию, обратитесь к разделу Ресурсы .