Monitoraggio del canale
Questo modulo include funzioni per il monitoraggio dei canali.
Riepilogo
Le funzioni in questo modulo sono disponibili quando è abilitata la funzionalità di monitoraggio del canale (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
).
Il monitoraggio dei canali monitorerà periodicamente tutti i canali per poter determinare i canali più puliti (canali con meno interferenze).
Quando il monitoraggio del canale è attivo, viene eseguita una scansione dell'energia a durata zero, raccogliendo un singolo campione RSSI su ogni canale per intervallo di campioni. I campioni RSSI vengono confrontati con una soglia RSSI prespecificata. Come indicatore della qualità del canale, il modulo di monitoraggio del canale mantiene e fornisce la percentuale o la percentuale media dei campioni RSSI che superano la soglia entro un intervallo di tempo approssimativo (indicato come occupazione del canale).
Functions |
|
---|---|
otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
|
uint16_t
Visualizza l'attuale occupazione del canale per un determinato canale.
|
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
|
int8_t
Ottieni la soglia RSSI per il monitoraggio dei canali in dBm.
|
otChannelMonitorGetSampleCount(otInstance *aInstance)
|
uint32_t
Recupera il numero totale di campioni RSSI del monitoraggio del canale (per canale).
|
otChannelMonitorGetSampleInterval(otInstance *aInstance)
|
uint32_t
Recupera l'intervallo di campionamento del monitoraggio del canale in millisecondi.
|
otChannelMonitorGetSampleWindow(otInstance *aInstance)
|
uint32_t
Ottieni il monitoraggio medio della finestra di esempio in media (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/disattiva l'operazione di monitoraggio del canale.
|
Functions
otChannelMonitorGetChannelOccupancy
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
Visualizza l'attuale occupazione del canale per un determinato canale.
Il valore relativo all'occupazione del canale rappresenta la percentuale/percentuale media di campioni RSSI superiori alla soglia RSSI ("bad" campioni RSSI).
Per la prima "finestra di esempio", la media viene mantenuta come percentuale effettiva (ovvero il rapporto del numero di campioni "non validi" per il numero totale di campioni). Dopo "campi": la mediana utilizza una media mobile esponenzialemente ponderata. In pratica, ciò significa che la media è rappresentativa di un massimo di 3 * window
campioni con la ponderazione più elevata data agli ultimi kSampleWindow
campioni.
Il valore massimo di 0xffff
indica che tutti i campioni RSSI hanno superato la soglia RSSI (ovvero, il 100% dei campioni era "bad").
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Occupazione del canale corrente per il canale specificato.
|
otChannelMonitorGetRssiThreshold
int8_t otChannelMonitorGetRssiThreshold( otInstance *aInstance )
Ottieni la soglia RSSI per il monitoraggio dei canali in dBm.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La soglia RSSI in dBm.
|
otChannelMonitorGetSampleCount
uint32_t otChannelMonitorGetSampleCount( otInstance *aInstance )
Recupera il numero totale di campioni RSSI del monitoraggio del canale (per canale).
Il conteggio indica il numero totale di campioni per canale da parte del modulo di monitoraggio del canale dall'inizio (da quando è stata attivata l'interfaccia di rete Thread).
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Numero totale di campioni RSSI (per canale) ottenuti finora.
|
otChannelMonitorGetSampleInterval
uint32_t otChannelMonitorGetSampleInterval( otInstance *aInstance )
Recupera l'intervallo di campionamento del monitoraggio del canale in millisecondi.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
L'intervallo di campionamento del monitoraggio del canale in millisecondi.
|
otChannelMonitorGetSampleWindow
uint32_t otChannelMonitorGetSampleWindow( otInstance *aInstance )
Ottieni il monitoraggio medio della finestra di esempio in media (numero di campioni).
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La finestra di esempio in media.
|
otChannelMonitorIsEnabled
bool otChannelMonitorIsEnabled( otInstance *aInstance )
Questa funzione indica se l'operazione di monitoraggio del canale è abilitata e in esecuzione.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se l'operazione Monitoring del canale è abilitata, FALSE in caso contrario.
|
otChannelMonitorSetEnabled
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
Questa funzione abilita/disattiva l'operazione di monitoraggio del canale.
Una volta avviata l'operazione, tutti i dati raccolti in precedenza vengono cancellati. Tuttavia, dopo aver disattivato l'operazione, i dati raccolti in precedenza sono ancora validi e possono essere letti.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori di ritorno |
|
Risorse
Gli argomenti di riferimento per l'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per ulteriori informazioni o per contribuire alla nostra documentazione, consulta la sezione Risorse.