Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Monitoraggio del canale

Questo modulo include funzioni per la funzione di monitoraggio del canale.

Sommario

Le funzioni in questo modulo sono disponibili quando la funzione di monitoraggio del canale ( OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE ) è abilitata.

Il monitoraggio dei canali monitorerà periodicamente tutti i canali per aiutare a determinare i canali più puliti (canali con meno interferenze).

Quando il monitoraggio del canale è attivo, viene eseguita una scansione energetica di durata zero, raccogliendo un singolo campione RSSI su ogni canale per intervallo di campionamento. I campioni RSSI vengono confrontati con una soglia RSSI pre-specificata. Come indicatore della qualità del canale, il modulo di monitoraggio del canale mantiene e fornisce il tasso / percentuale medio di campioni RSSI che sono al di sopra della soglia entro (approssimativamente) una finestra di campionamento specificata (indicata come occupazione del canale).

Funzioni

otChannelMonitorGetChannelOccupancy ( otInstance *aInstance, uint8_t aChannel)
uint16_t
Ottiene l'occupazione del canale corrente per un determinato canale.
otChannelMonitorGetRssiThreshold ( otInstance *aInstance)
int8_t
Ottieni la soglia RSSI di monitoraggio del canale in dBm.
otChannelMonitorGetSampleCount ( otInstance *aInstance)
uint32_t
Ottieni il monitoraggio del canale del numero totale di campioni RSSI (per canale).
otChannelMonitorGetSampleInterval ( otInstance *aInstance)
uint32_t
Ottieni l'intervallo di campionamento del monitoraggio del canale in millisecondi.
otChannelMonitorGetSampleWindow ( otInstance *aInstance)
uint32_t
Ottieni la lunghezza media della finestra campione di monitoraggio del canale (numero di campioni).
otChannelMonitorIsEnabled ( otInstance *aInstance)
bool
Questa funzione indica se l'operazione di monitoraggio del canale è abilitata e in esecuzione.
otChannelMonitorSetEnabled ( otInstance *aInstance, bool aEnabled)
Questa funzione abilita / disabilita l'operazione di monitoraggio del canale.

Funzioni

otChannelMonitorGetChannelOccupancy

uint16_t otChannelMonitorGetChannelOccupancy(
  otInstance *aInstance,
  uint8_t aChannel
)

Ottiene l'occupazione del canale corrente per un determinato canale.

Il valore di occupazione del canale rappresenta il tasso / percentuale medio di campioni RSSI che erano al di sopra della soglia RSSI (campioni RSSI "cattivi").

Per i primi campioni "finestra campione", la media viene mantenuta come percentuale effettiva (ovvero, rapporto tra il numero di campioni "cattivi" e il numero totale di campioni). Dopo i campioni "finestra", la media utilizza una media mobile ponderata esponenzialmente. In pratica, questo significa che la media è rappresentativa fino a 3 * window ultimi campioni 3 * window con il peso più alto dato agli ultimi campioni kSampleWindow .

Il valore massimo di 0xffff indica che tutti i campioni RSSI erano al di sopra della soglia RSSI (ovvero il 100% dei campioni era "cattivo").

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aChannel
Il canale per il quale ottenere l'occupazione del collegamento.
ritorna
L'occupazione del canale corrente per il canale specificato.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

Ottieni la soglia RSSI di monitoraggio del canale in dBm.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
ritorna
La soglia RSSI in dBm.

otChannelMonitorGetSampleCount

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

Ottieni il monitoraggio del canale del numero totale di campioni RSSI (per canale).

Il conteggio indica il numero totale di campioni per canale in base al modulo di monitoraggio del canale dal suo avvio (poiché l'interfaccia di rete Thread era abilitata).

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
ritorna
Numero totale di campioni RSSI (per canale) presi finora.

otChannelMonitorGetSampleInterval

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

Ottieni l'intervallo di campionamento del monitoraggio del canale in millisecondi.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
ritorna
L'intervallo di campionamento del monitoraggio del canale in millisecondi.

otChannelMonitorGetSampleWindow

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

Ottieni la lunghezza media della finestra campione di monitoraggio del canale (numero di campioni).

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
ritorna
La finestra del campione medio.

otChannelMonitorIsEnabled

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

Questa funzione indica se l'operazione di monitoraggio del canale è abilitata e in esecuzione.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
ritorna
TRUE se l'operazione di monitoraggio del canale è abilitata, FALSE in caso contrario.

otChannelMonitorSetEnabled

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Questa funzione abilita / disabilita l'operazione di monitoraggio del canale.

Una volta avviata l'operazione, tutti i dati raccolti in precedenza vengono cancellati. Tuttavia, dopo che l'operazione è stata disabilitata, i dati raccolti in precedenza sono ancora validi e possono essere letti.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aEnabled
TRUE per abilitare / avviare l'operazione di monitoraggio del canale, FALSE per disabilitarla / interromperla.
Valori restituiti
OT_ERROR_NONE
Lo stato di monitoraggio del canale è stato modificato correttamente
OT_ERROR_ALREADY
Il monitoraggio del canale è già nello stesso stato.