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

Surveillance des canaux

Ce module comprend des fonctions pour la fonction de surveillance des canaux.

Résumé

Les fonctions de ce module sont disponibles lorsque la fonction de surveillance de canal ( OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE ) est activée.

La surveillance des canaux surveillera périodiquement tous les canaux pour aider à déterminer les canaux plus propres (canaux avec moins d'interférences).

Lorsque la surveillance de canal est active, une analyse d'énergie de durée nulle est effectuée, collectant un seul échantillon RSSI sur chaque canal par intervalle d'échantillonnage. Les échantillons RSSI sont comparés à un seuil RSSI pré-spécifié. En tant qu'indicateur de la qualité du canal, le module de surveillance de canal maintient et fournit le taux / pourcentage moyen d'échantillons RSSI qui sont au-dessus du seuil dans (approximativement) une fenêtre d'échantillonnage spécifiée (appelée occupation du canal).

Les fonctions

otChannelMonitorGetChannelOccupancy ( otInstance *aInstance, uint8_t aChannel)
uint16_t
Obtient l'occupation actuelle du canal pour un canal donné.
otChannelMonitorGetRssiThreshold ( otInstance *aInstance)
int8_t
Obtenez le seuil RSSI de surveillance de canal en dBm.
otChannelMonitorGetSampleCount ( otInstance *aInstance)
uint32_t
Obtenez le nombre total d'échantillons RSSI de surveillance de canal (par canal).
otChannelMonitorGetSampleInterval ( otInstance *aInstance)
uint32_t
Obtenez l'intervalle d'échantillonnage de surveillance de canal en millisecondes.
otChannelMonitorGetSampleWindow ( otInstance *aInstance)
uint32_t
Obtenez le contrôle du canal en calculant la moyenne de la longueur de la fenêtre d'échantillonnage (nombre d'échantillons).
otChannelMonitorIsEnabled ( otInstance *aInstance)
bool
Cette fonction indique si l'opération de surveillance de canal est activée et en cours d'exécution.
otChannelMonitorSetEnabled ( otInstance *aInstance, bool aEnabled)
Cette fonction active / désactive l'opération de surveillance de canal.

Les fonctions

otChannelMonitorGetChannelOccupancy

uint16_t otChannelMonitorGetChannelOccupancy(
  otInstance *aInstance,
  uint8_t aChannel
)

Obtient l'occupation actuelle du canal pour un canal donné.

La valeur d'occupation du canal représente le taux / pourcentage moyen d'échantillons RSSI qui étaient au-dessus du seuil RSSI («mauvais» échantillons RSSI).

Pour les premiers échantillons de "fenêtre d'échantillonnage", la moyenne est maintenue comme le pourcentage réel (c'est-à-dire le rapport du nombre de "mauvais" échantillons par le nombre total d'échantillons). Après les échantillons "fenêtre", le moyenneur utilise une moyenne mobile pondérée de manière exponentielle. Pratiquement, cela signifie que la moyenne est représentative de jusqu'à 3 * window derniers échantillons de 3 * window avec le poids le plus élevé donné aux derniers échantillons de kSampleWindow .

La valeur maximale de 0xffff indique que tous les échantillons RSSI étaient au-dessus du seuil RSSI (c'est-à-dire que 100% des échantillons étaient «mauvais»).

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aChannel
Le canal pour lequel obtenir l'occupation du lien.
Retour
L'occupation actuelle du canal pour le canal donné.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

Obtenez le seuil RSSI de surveillance de canal en dBm.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Retour
Le seuil RSSI en dBm.

otChannelMonitorGetSampleCount

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

Obtenez le nombre total d'échantillons RSSI de surveillance de canal (par canal).

Le décompte indique le nombre total d'échantillons par voie et par module de surveillance de voie depuis son démarrage (depuis que l'interface réseau Thread a été activée).

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Retour
Nombre total d'échantillons RSSI (par canal) prélevés jusqu'à présent.

otChannelMonitorGetSampleInterval

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

Obtenez l'intervalle d'échantillonnage de surveillance de canal en millisecondes.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Retour
L'intervalle d'échantillonnage du moniteur de canal en millisecondes.

otChannelMonitorGetSampleWindow

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

Obtenez le contrôle du canal en calculant la moyenne de la longueur de la fenêtre d'échantillonnage (nombre d'échantillons).

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Retour
La fenêtre d'échantillonnage de moyenne.

otChannelMonitorIsEnabled

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

Cette fonction indique si l'opération de surveillance de canal est activée et en cours d'exécution.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Retour
TRUE si l'opération de surveillance de canal est activée, FALSE sinon.

otChannelMonitorSetEnabled

 otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Cette fonction active / désactive l'opération de surveillance de canal.

Une fois que l'opération démarre, toutes les données précédemment collectées sont effacées. Cependant, une fois le fonctionnement désactivé, les données collectées précédemment sont toujours valides et peuvent être lues.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aEnabled
TRUE pour activer / démarrer l'opération de surveillance de canal, FALSE pour la désactiver / l'arrêter.
Valeurs de retour
OT_ERROR_NONE
L'état de la surveillance des canaux a été modifié avec succès
OT_ERROR_ALREADY
La surveillance des canaux est déjà dans le même état.