Monitoraggio del canale
Questo modulo include funzioni per la funzionalità di monitoraggio del canale.
Riepilogo
Le funzioni in questo modulo sono disponibili quando la funzionalità di monitoraggio del canale (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
) è abilitata.
Il monitoraggio dei canali monitora periodicamente tutti i canali per determinare quelli più puliti (i canali con meno interferenze).
Quando il monitoraggio del canale è attivo, viene eseguita una scansione dell'energia di durata zero, raccogliendo un singolo campione RSSI su ogni canale per intervallo di campionamento. Gli esempi 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/percentuale media di campioni RSSI che superano la soglia (approssimativamente) per una specifica finestra campione (denominata "occupazione del canale").
Funzioni |
|
---|---|
otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
|
uint16_t
Conosce il numero di persone attuale di un determinato canale.
|
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
|
int8_t
Ottieni la soglia RSSI di monitoraggio del canale in dBm.
|
otChannelMonitorGetSampleCount(otInstance *aInstance)
|
uint32_t
Ricevi il numero totale di esempi RSSI di monitoraggio del canale (per canale).
|
otChannelMonitorGetSampleInterval(otInstance *aInstance)
|
uint32_t
Ottieni un intervallo di campionamento del monitoraggio dei canali in millisecondi.
|
otChannelMonitorGetSampleWindow(otInstance *aInstance)
|
uint32_t
Ottieni il monitoraggio del canale con una media di durata della finestra di esempio (numero di campioni).
|
otChannelMonitorIsEnabled(otInstance *aInstance)
|
bool
Indica se l'operazione di monitoraggio del canale è abilitata e in esecuzione.
|
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
|
Abilita o disabilita l'operazione di monitoraggio del canale.
|
Funzioni
otChannelMonitorGetChannelOccupancy
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
Conosce il numero di persone attuale di un determinato canale.
Il valore di occupazione del canale rappresenta la percentuale/percentuale media di campioni RSSI superiori alla soglia RSSI (campioni RSSI "non validi").
Per i primi campioni della "finestra di esempio", la media viene mantenuta come percentuale effettiva (ovvero il rapporto tra il numero di campioni "non validi" e il numero totale di campioni). Dopo campioni di "finestra", il mediano utilizza una media mobile ponderata in modo esponenziale. In pratica, ciò significa che la media è rappresentativa di un massimo di 3 * window
ultimi campioni con il peso più elevato dato agli ultimi kSampleWindow
campioni.
Il valore massimo 0xffff
indica che tutti i campioni RSSI erano al di sopra della soglia RSSI (ovvero il 100% dei campioni era "cattivo").
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
L'occupazione attuale del canale.
|
otChannelMonitorGetRssiThreshold
int8_t otChannelMonitorGetRssiThreshold( otInstance *aInstance )
Ottieni la soglia RSSI di monitoraggio del canale in dBm.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La soglia RSSI in dBm.
|
otChannelMonitorGetSampleCount
uint32_t otChannelMonitorGetSampleCount( otInstance *aInstance )
Ricevi il numero totale di esempi RSSI di monitoraggio del canale (per canale).
Il conteggio indica il numero totale di esempi per canale in base al modulo di monitoraggio del canale dall'inizio (da quando l'interfaccia di rete Thread è stata attivata).
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Numero totale di esempi RSSI (per canale) effettuati finora.
|
otChannelMonitorGetSampleInterval
uint32_t otChannelMonitorGetSampleInterval( otInstance *aInstance )
Ottieni un intervallo di campionamento del monitoraggio dei canali in millisecondi.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
L'intervallo di esempio per il monitoraggio del canale, in millisecondi.
|
OtChannelMonitorGetSampleWindow
uint32_t otChannelMonitorGetSampleWindow( otInstance *aInstance )
Ottieni il monitoraggio del canale con una media di durata della finestra di esempio (numero di campioni).
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La finestra media di esempio.
|
OtChannelMonitorIsEnabled
bool otChannelMonitorIsEnabled( otInstance *aInstance )
Indica se l'operazione di monitoraggio del canale è abilitata e in esecuzione.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se l'operazione di monitoraggio del canale è abilitata, FALSE in caso contrario.
|
OtChannelMonitorSetEnabled
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
Abilita o disabilita l'operazione di monitoraggio del canale.
Una volta avviata l'operazione, tutti i dati raccolti in precedenza vengono cancellati. Tuttavia, una volta disabilitata l'operazione, i dati raccolti in precedenza sono ancora validi e possono essere letti.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
Risorse
Gli argomenti di riferimento per l'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per maggiori informazioni o per contribuire alla nostra documentazione, consulta Risorse.