Kanalüberwachung
Dieses Modul enthält Funktionen zur Kanalüberwachung.
Zusammenfassung
Die Funktionen dieses Moduls sind verfügbar, wenn die Funktion „Kanalmonitor“ (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
) aktiviert ist.
Dabei werden regelmäßig alle Kanäle berücksichtigt, um Kanäle mit weniger Störungen zu ermitteln.
Wenn die Kanalüberwachung aktiv ist, wird ein Energiescan von null Dauer durchgeführt. Dabei wird auf jedem Kanal pro Stichprobenintervall eine RSSI-Stichprobe erhoben. Die RSSI-Stichproben werden mit einem vordefinierten RSSI-Schwellenwert verglichen. Als Indikator für die Kanalqualität sorgt das Modul für die Kanalüberwachung dafür, dass die durchschnittliche Rate/der prozentuale Anteil von RSSI-Stichproben, die über dem Grenzwert liegen, innerhalb eines (annähernd) festgelegten Probezeitraums beibehalten wird (auch als Kanalbelegung bezeichnet).
Functions |
|
---|---|
otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
|
uint16_t
Ruft die aktuelle Kanalbelegung für einen bestimmten Kanal ab.
|
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
|
int8_t
Rufen Sie den RSSI-Schwellenwert für das Kanalmonitoring in DBM ab.
|
otChannelMonitorGetSampleCount(otInstance *aInstance)
|
uint32_t
Gesamtzahl der RSSI-Stichproben pro Kanal abrufen.
|
otChannelMonitorGetSampleInterval(otInstance *aInstance)
|
uint32_t
Beispielintervall für Kanalmonitoring in Millisekunden abrufen
|
otChannelMonitorGetSampleWindow(otInstance *aInstance)
|
uint32_t
Durchschnittliche Länge des Beispielfensters für die Kanalüberwachung abrufen (Anzahl der Stichproben).
|
otChannelMonitorIsEnabled(otInstance *aInstance)
|
bool
Gibt an, ob der Kanalüberwachungsvorgang aktiviert ist und ausgeführt wird.
|
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
|
Aktiviert oder deaktiviert den Kanalüberwachungsvorgang.
|
Functions
OTChannelMonitorGetChannelOccupancy
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
Ruft die aktuelle Kanalbelegung für einen bestimmten Kanal ab.
Der Wert für die Kanalbelegung stellt die durchschnittliche Rate bzw. den Prozentsatz der RSSI-Stichproben dar, die über dem RSSI-Schwellenwert liegen („schlechte“ RSSI-Stichproben).
Bei den ersten Stichprobenstichproben wird der Durchschnitt als tatsächlicher Prozentsatz beibehalten, d.h. als Verhältnis zwischen der Anzahl der „schlechten“ Stichproben und der Gesamtzahl der Stichproben. Nach den „Window“-Stichproben wird der durchschnittliche gleitende Durchschnitt verwendet. In der Praxis bedeutet das, dass der Durchschnitt bei bis zu 3 * window
letzten Stichproben mit der höchsten Gewichtung für die letzten kSampleWindow
Stichproben repräsentativ ist.
Der Höchstwert von 0xffff
gibt an, dass alle RSSI-Proben über dem RSSI-Schwellenwert lagen. Das heißt, 100% der Proben waren „schlecht“.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Die aktuelle Kanalbelegung für den angegebenen Kanal.
|
otChannelMonitorGetRssiThreshold
int8_t otChannelMonitorGetRssiThreshold( otInstance *aInstance )
Rufen Sie den RSSI-Schwellenwert für das Kanalmonitoring in DBM ab.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der RSSI-Schwellenwert in DBM.
|
otChannelMonitorGetSampleCount
uint32_t otChannelMonitorGetSampleCount( otInstance *aInstance )
Gesamtzahl der RSSI-Stichproben pro Kanal abrufen.
Die Anzahl gibt seit dem Start die Gesamtzahl der Stichproben pro Kanal nach Kanalüberwachungsmodul an, da die Thread-Netzwerkschnittstelle aktiviert war.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Gesamtzahl der bislang aufgenommenen RSSI-Stichproben (pro Kanal).
|
otChannelMonitorGetSampleInterval
uint32_t otChannelMonitorGetSampleInterval( otInstance *aInstance )
Beispielintervall für Kanalmonitoring in Millisekunden abrufen
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Das Kanalintervall zum Beobachten des Musters in Millisekunden.
|
otChannelMonitorGetSampleWindow
uint32_t otChannelMonitorGetSampleWindow( otInstance *aInstance )
Durchschnittliche Länge des Beispielfensters für die Kanalüberwachung abrufen (Anzahl der Stichproben).
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Das Fenster mit Durchschnittsbeispielen
|
nicht aktiviert
bool otChannelMonitorIsEnabled( otInstance *aInstance )
Gibt an, ob der Kanalüberwachungsvorgang aktiviert ist und ausgeführt wird.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
WAHR, wenn die Kanalüberwachung aktiviert ist, andernfalls FALSCH.
|
otChannelMonitorSetEnabled
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
Aktiviert oder deaktiviert den Kanalüberwachungsvorgang.
Sobald der Vorgang gestartet wird, werden alle zuvor erhobenen Daten gelöscht. Nach dem Deaktivieren des Vorgangs sind die zuvor erhobenen Daten weiterhin gültig und können gelesen werden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
Ressourcen
Die Themen der OpenThread API-Referenz stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen oder als Ergänzung zu unserer Dokumentation finden Sie unter Ressourcen.