Monitoramento do canal
Este módulo inclui funções para o recurso de monitoramento de canais.
Resumo
As funções deste módulo estão disponíveis quando o recurso de monitoramento de canais (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
) está ativado.
O monitoramento de canal verificará periodicamente todos os canais para ajudar a determinar os canais mais limpos (canais com menos interferência).
Quando o monitoramento de canais está ativo, uma verificação de energia de duração zero é realizada, coletando uma única amostra RSSI em cada canal por intervalo de amostra. As amostras de RSSI são comparadas com um limite de RSSI pré-especificado. Como indicador da qualidade do canal, o módulo de monitoramento de canal mantém e fornece a taxa/porcentagem média de amostras de RSSI que estão acima do limite (aproximadamente) de uma janela de amostra especificada (chamado de ocupação do canal).
Funções |
|
---|---|
otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
|
uint16_t
Recebe a ocupação atual de um determinado canal.
|
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
|
int8_t
Obtenha o limite de RSSI de monitoramento de canal em dBm.
|
otChannelMonitorGetSampleCount(otInstance *aInstance)
|
uint32_t
Obtém o número total de amostras de RSSI (por canal) de monitoramento do canal.
|
otChannelMonitorGetSampleInterval(otInstance *aInstance)
|
uint32_t
Obtém o intervalo de amostra de monitoramento de canal em milissegundos.
|
otChannelMonitorGetSampleWindow(otInstance *aInstance)
|
uint32_t
Obtenha o monitoramento do canal calcula a média da duração da janela de amostras (número de amostras).
|
otChannelMonitorIsEnabled(otInstance *aInstance)
|
bool
Indica se a operação do monitoramento de canais está ativada e em execução.
|
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
|
Ativa ou desativa a operação de monitoramento do canal.
|
Funções
OtChannelMonitorGetChannelOccupancy
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
Recebe a ocupação atual de um determinado canal.
O valor de ocupação do canal representa a taxa/porcentagem média de amostras de RSSI que estavam acima do limite de RSSI ("amostras RSSI ruins").
Para as primeiras amostras de "janela de amostra", a média é mantida como a porcentagem real, ou seja, a proporção entre o número de amostras "ruins" e o número total de amostras. Após as amostras de "janela", a média usa uma média móvel exponencialmente. Na prática, isso significa que a média representa até 3 * window
últimas amostras com o maior peso, dadas as kSampleWindow
amostras mais recentes.
O valor máximo de 0xffff
indica que todas as amostras de RSSI estavam acima do limite de RSSI (ou seja, 100% das amostras estavam "ruins").
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
A ocupação atual do canal fornecido.
|
OtChannelMonitorGetRssiThreshold
int8_t otChannelMonitorGetRssiThreshold( otInstance *aInstance )
Obtenha o limite de RSSI de monitoramento de canal em dBm.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
O limite de RSSI em dBm.
|
OtChannelMonitorGetSampleCount
uint32_t otChannelMonitorGetSampleCount( otInstance *aInstance )
Obtém o número total de amostras de RSSI (por canal) de monitoramento do canal.
A contagem indica o número total de amostras por canal por módulo de monitoramento de canal desde o início (desde que a interface da rede Thread foi ativada).
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
Número total de amostras de RSSI (por canal) coletadas até agora.
|
OtChannelMonitorGetSampleInterval
uint32_t otChannelMonitorGetSampleInterval( otInstance *aInstance )
Obtém o intervalo de amostra de monitoramento de canal em milissegundos.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
O intervalo de amostra de monitoramento de canal em milissegundos.
|
OtChannelMonitorGetSampleWindow
uint32_t otChannelMonitorGetSampleWindow( otInstance *aInstance )
Obtenha o monitoramento do canal calcula a média da duração da janela de amostras (número de amostras).
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
A janela de amostra de média.
|
OtChannelMonitorIsEnabled
bool otChannelMonitorIsEnabled( otInstance *aInstance )
Indica se a operação do monitoramento de canais está ativada e em execução.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
TRUE se a operação de monitoramento de canal estiver ativada. Caso contrário, FALSE.
|
OtChannelMonitorSetEnabled
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
Ativa ou desativa a operação de monitoramento do canal.
Após o início da operação, todos os dados coletados anteriormente são apagados. No entanto, depois que a operação for desativada, os dados coletados anteriormente continuarão válidos e poderão ser lidos.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
Recursos
Os tópicos de referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para mais informações ou para contribuir com nossa documentação, consulte Recursos.