Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Stauerkennung

Aktivieren Sie die Stauerkennungsfunktion, um einen konfigurierbaren Mechanismus für die Erkennung von Signalstörungen auf einem beliebigen OpenThread-Knoten bereitzustellen.

Diese Funktion ist nützlich für Gerätezertifizierungen, bei denen Signalstörungen auf einem bestimmten Kanal erkannt werden müssen. Es kann so konfiguriert werden, dass es die Anforderungen der einzelnen Zertifizierungsarten erfüllt.

Wie es funktioniert

Die Stauerkennung überwacht den RSSI (Received Signal Strength Indicator) eines Knotens während bestimmter Zeitfenster, um festzustellen, ob der Kanal gestaut wurde.

Wenn die Stauerkennung aktiviert ist:

  1. Der Stauerkennungsstatus ist auf false .
  2. Der Knoten tastet den RSSI mehrmals in jedem Intervall von einer Sekunde ab.
  3. Wenn der RSSI über das gesamte Intervall von einer Sekunde für jede Probe über dem konfigurierten RSSI-Schwellenwert bleibt, wird dieses Intervall von einer Sekunde als gestört betrachtet.
  4. Wenn eine Gesamtzahl von gestauten Intervallen von einer Sekunde mehr als oder bis die Gesamtzahl der konfigurierten gleich Besetztzeit innerhalb der vorangegangenen konfigurierten Sekunden Detektionsfenster in der Zeit an einem beliebigen Stelle Sekunden wird der Stauerfassungszustand zu diesem Zeitpunkt gesetzt true .
  5. Wenn eine Gesamtzahl von gestauten Intervallen von einer Sekunde geringer ist als die Gesamtzahl der konfigurierten Besetztzeit Sekunden innerhalb der vorhergehenden konfigurierte Erkennung Fenster Sekunden bei jedem beliebigen Zeitpunkt wird der Stauerfassungszustand zu diesem Zeitpunkt gesetzt false .

Verlaufs-Bitmap

In den Eigenschaften OpenThread API und wpantund steht eine Bitmap der letzten 63 Sekunden zum Abrufen zur Verfügung. Diese Bitmap gibt an, ob der RSSI in jeder der vorhergehenden 63 Sekunden den konfigurierten RSSI-Schwellenwert überschritten hat.

Beispielsweise können Sie die folgende Bitmap abrufen:

0xC248068C416E7FF0

Bei der Konvertierung in eine Binärdatei wird jede Instanz erzeugt, bei der der RSSI in den letzten 63 Sekunden den konfigurierten RSSI-Schwellenwert überschritten hat:

11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000

Wenn das Erkennungsfenster auf 16 Sekunden und die Besetztzeit auf 8 Sekunden eingestellt ist, wird der Stauerkennungsstatus nach 51 Sekunden true , da dies die erste Instanz ist, in der der RSSI-Schwellenwert in den vorhergehenden Schritten mindestens 8 ganze Sekunden überschritten wurde 16 Sekunden. In diesem Beispiel bleibt der true für die nächsten 13 Sekunden true .

11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000
                                      [00001 01101110 011] = 8 in 16

Diese Bitmap kann durch das folgende Diagramm dargestellt werden, wenn -45 dBm der konfigurierte RSSI-Schwellenwert war:

OT Jam Detection

So aktivieren Sie

Diese Funktion ist standardmäßig deaktiviert.

Durch definieren

Um die OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE zu aktivieren, definieren Sie OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE als 1 in der Datei /src/core/config/openthread-core-default-config.h , bevor Sie OpenThread erstellen :

#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 1
#endif

Durch Schalter

Alternativ können Sie beim JAM_DETECTION=1 Build-Schalter JAM_DETECTION=1 verwenden :

make -f examples/Makefile-<platform> JAM_DETECTION=1

Parameter

Stauerkennungsparameter können nur über die OpenThread-API, das Spinell-Protokoll oder wpanctl , das wpantund Befehlszeilentool für die NCP-Verwaltung (Network Co-Processor), wpantund werden. Standardwerte werden angewendet, wenn die Funktion ohne nachfolgende Konfiguration aktiviert wird.

Passen Sie diese Funktion mit den folgenden Parametern an:

Parameter
RSSI-Schwellenwert
Standardwert
0 dBm
Beschreibung
Gibt den RSSI-Schwellenwert in dBm an, über dem der gestaute Kanal berücksichtigt werden soll.
Erkennungsfenster
Standardwert
63 Sekunden
Beschreibung
Gibt das Fenster in Sekunden an, in dem nach Signalstörungen gesucht werden soll. Bereich: 1-63.
Beschäftigte Zeit
Standardwert
63 Sekunden
Beschreibung
Gibt die Anzahl der Gesamtsekunden im Erkennungsfenster an, in denen der RSSI über dem RSSI-Schwellenwert liegen muss, um die Stauerkennung auszulösen. Muss kleiner als das Erkennungsfenster sein. Bereich: 1-63.

API

OpenThread

Verwenden Sie die Jam Detection-API , um die Jam Detection-Funktion direkt in Ihrer OpenThread-Anwendung zu verwalten. Die OpenThread-API bietet die folgenden Funktionen:

  • Starten und stoppen Sie die Funktion
  • Zeigen Sie den Stauerkennungsstatus an
  • Verwalten Sie alle Parameter
  • Rufen Sie die aktuelle Bitmap für den Stauerkennungsverlauf ab
  • Registrieren Sie eine Rückruffunktion, wenn ein Stau erkannt wird

Spinell

Das Spinell-Protokoll ermöglicht es einem Host-Gerät, direkt mit einem NCP zu kommunizieren. Dieses Protokoll stellt die Jam Detection-Eigenschaften in /src/lib/spinel/spinel.h , die die folgenden Funktionen bereitstellen:

  • Starten und stoppen Sie die Funktion
  • Zeigen Sie den Stauerkennungsstatus an
  • Verwalten Sie alle Parameter
  • Rufen Sie die aktuelle Bitmap für den Stauerkennungsverlauf ab

CLI

OpenThread

Es gibt keine OpenThread-CLI-Befehle für diese Funktion.

wpantund

Verwenden Sie die wpanctl CLI, um die Stauerkennungsfunktion für eine OpenThread NCP-Konfiguration zu verwalten. wpantund behält die gesamte Jam Detection-Konfiguration beim NCP-Reset bei.

wpanctl bietet Zugriff auf die folgenden wpantund Eigenschaften:

Eigenschaften
JamDetection:Status
Format
Boolescher Wert
Beschreibung
Schreibgeschützt. Stauerkennungsstatus. Zeigt an, ob gerade ein Signalstau erkannt wird.
JamDetection:Enable
Format
Boolescher Wert
Beschreibung
Aktivieren oder deaktivieren Sie die Stauerkennungsfunktion.
JamDetection:RssiThreshold
Format
dBm
Beschreibung
Gibt den RSSI-Schwellenwert in dBm an, über dem der Kanal als blockiert betrachtet werden soll.
JamDetection:Window
Format
Sekunden
Beschreibung
Gibt das Fenster in Sekunden an, in dem nach Signalstörungen gesucht werden soll. Bereich: 1-63.
JamDetection:BusyPeriod
Format
Sekunden
Beschreibung
Gibt die Anzahl der JamDetection:Window in JamDetection:Window in denen sich der RSSI über JamDetection:RssiThreshold , um die Jam Detection auszulösen. Muss kleiner sein als JamDetection:Window . Bereich: 1-63.
JamDetection:Debug:HistoryBitmap
Format
64-Bit-Wert
Beschreibung
Bietet Informationen zum Jam Detection State-Verlauf für Überwachungs- und Debugging-Zwecke.

So erhalten Sie beispielsweise den Stauerkennungsstatus für einen NCP:

sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false

So stellen Sie den RSSI-Schwellenwert für die Stauerkennung bei einem NCP auf -45 dBm ein:

sudo wpanctl setprop JamDetection:RssiThreshold -45
sudo wpanctl getprop JamDetection:RssiThreshold
JamDetection:RssiThreshold = -45

Weitere Informationen zu den wpantund Eigenschaften finden Sie im wpantund GitHub-Repository .