Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Détection de bourrage

Pour fournir un mécanisme configurable pour la détection de brouillage de signal sur n'importe quel nœud OpenThread, activez la fonction de détection de bourrage.

Cette fonction est utile pour les certifications de périphérique qui nécessitent la capacité de détecter le brouillage du signal sur un canal spécifique. Il peut être configuré pour répondre aux exigences de chaque type de certification.

Comment ça fonctionne

La détection de brouillage surveille le RSSI (indicateur de force du signal reçu) d'un nœud pendant des fenêtres de temps spécifiées pour déterminer si le canal a été brouillé.

Lorsque la détection de bourrage est activée:

  1. L'état de détection de bourrage est défini sur false .
  2. Le nœud échantillonne le RSSI plusieurs fois sur chaque intervalle d'une seconde.
  3. Si le RSSI pendant tout cet intervalle d'une seconde reste au-dessus du seuil RSSI configuré pour chaque échantillon, cet intervalle d'une seconde est considéré comme brouillé.
  4. Si un nombre cumulé d'intervalles d'une seconde bloqués est supérieur ou égal au nombre cumulé de secondes de la période d'occupation configurée dans les secondes de la fenêtre de détection configurée précédente à tout moment, l'état de détection de bourrage à ce moment-là est défini sur true .
  5. Si un nombre cumulé d'intervalles d'une seconde bloqués est inférieur au nombre cumulé de secondes de la période d'occupation configurée dans les secondes de la fenêtre de détection configurée précédente à tout moment, l'état de détection de bourrage à ce moment-là est défini sur false .

Bitmap historique

Dans l' API OpenThread et les propriétés wpantund , une image bitmap des 63 secondes précédentes est disponible pour la récupération. Ce bitmap indique si le RSSI a franchi le seuil RSSI configuré à chacune des 63 secondes précédentes.

Par exemple, vous pouvez récupérer le bitmap suivant:

0xC248068C416E7FF0

La conversion en binaire produit chaque instance où RSSI a dépassé le seuil RSSI configuré au cours des 63 secondes précédentes:

11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000

Si la fenêtre de détection est définie sur 16 secondes et que la période d'occupation est définie sur 8 secondes, l'état de détection de bourrage devient true à 51 secondes, car il s'agit de la première instance où le seuil RSSI a été dépassé d'au moins 8 secondes entières au cours de la précédente. 16 secondes. Dans cet exemple, l'état de détection de bourrage reste true pendant les 13 secondes suivantes.

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

Ce bitmap peut être représenté par le graphique suivant, si -45 dBm était le seuil RSSI configuré:

Détection de bourrage OT

Comment activer

Cette fonctionnalité est désactivée par défaut.

Par définir

Pour activer la détection de OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE , définissez OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE comme 1 dans le fichier /src/core/config/openthread-core-default-config.h , avant de créer OpenThread :

#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 1
#endif

Par interrupteur

Vous pouvez également utiliser le commutateur de construction JAM_DETECTION=1 lors de la construction d'OpenThread :

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

Paramètres

Les paramètres de détection de bourrage ne peuvent être configurés que via l'API OpenThread, le protocole Spinel ou wpanctl , l'outil de ligne de commande wpantund la wpantund co-processeurs réseau (NCP). Les valeurs par défaut sont appliquées si la fonction est activée sans configuration ultérieure.

Personnalisez cette fonctionnalité à l'aide des paramètres suivants:

Paramètres
Seuil RSSI
Valeur par défaut
0 dBm
La description
Spécifie le niveau de seuil RSSI en dBm au-dessus duquel considérer le canal brouillé.
Fenêtre de détection
Valeur par défaut
63 secondes
La description
Spécifie la fenêtre en secondes dans laquelle vérifier le brouillage du signal. Plage: 1-63.
Période occupée
Valeur par défaut
63 secondes
La description
Spécifie le nombre de secondes agrégées dans la fenêtre de détection dans lequel le RSSI doit être au-dessus du seuil RSSI pour déclencher la détection de bourrage. Doit être plus petit que la fenêtre de détection. Plage: 1-63.

API

OpenThread

Utilisez l' API Jam Detection pour gérer la fonction Jam Detection directement dans votre application OpenThread. L'API OpenThread fournit les fonctionnalités suivantes:

  • Démarrer et arrêter la fonction
  • Afficher l'état de détection de bourrage
  • Gérer tous les paramètres
  • Récupérer le bitmap actuel de l'historique de détection des bourrages
  • Enregistrer une fonction de rappel lorsqu'un bourrage est détecté

Spinelle

Le protocole Spinel permet à un appareil hôte de communiquer directement avec un NCP. Ce protocole expose les propriétés de détection de /src/lib/spinel/spinel.h dans /src/lib/spinel/spinel.h qui fournissent les fonctionnalités suivantes:

  • Démarrer et arrêter la fonction
  • Afficher l'état de détection de bourrage
  • Gérer tous les paramètres
  • Récupérer le bitmap actuel de l'historique de détection des bourrages

CLI

OpenThread

Il n'y a pas de commandes CLI OpenThread liées à cette fonctionnalité.

wpantund

Utilisez la CLI wpanctl pour gérer la fonction de détection de bourrage pour une configuration OpenThread NCP. wpantund conserve toute la configuration de détection de wpantund lors de la réinitialisation du NCP.

wpanctl permet d'accéder aux propriétés wpantund suivantes:

Propriétés
JamDetection:Status
Format
booléen
La description
Lecture seulement. État de détection de bourrage. Indique si un brouillage de signal est actuellement détecté.
JamDetection:Enable
Format
booléen
La description
Activez ou désactivez la fonction de détection de bourrage.
JamDetection:RssiThreshold
Format
dBm
La description
Spécifie le niveau de seuil RSSI en dBm au-dessus duquel considérer le canal bloqué.
JamDetection:Window
Format
secondes
La description
Spécifie la fenêtre en secondes dans laquelle vérifier le brouillage du signal. Plage: 1-63.
JamDetection:BusyPeriod
Format
secondes
La description
Spécifie le nombre de secondes agrégées dans JamDetection:Window dans lequel le RSSI doit être supérieur à JamDetection:RssiThreshold pour déclencher la détection de JamDetection:RssiThreshold . Doit être plus petit que JamDetection:Window . Plage: 1-63.
JamDetection:Debug:HistoryBitmap
Format
Valeur 64 bits
La description
Fournit des informations sur l'historique de l'état de détection des bourrages à des fins de surveillance et de débogage.

Par exemple, pour obtenir l'état de détection de bourrage pour un NCP:

sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false

Pour régler le seuil RSSI de détection de brouillage à -45 dBm sur un NCP:

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

Pour plus d'informations sur les propriétés wpantund , consultez le référentiel wpantund GitHub .