Surveillance des canaux
Ce module contient des fonctions de surveillance des canaux.
Résumé
Les fonctions de ce module sont disponibles lorsque la fonctionnalité de surveillance de chaîne (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
) est activée.
La fonctionnalité de surveillance des canaux surveille régulièrement tous les canaux pour vous aider à identifier les canaux les plus propres (moins canaux).
Lorsque la surveillance des canaux est active, une analyse énergétique de durée zéro est effectuée afin de collecter un seul échantillon RSSI sur chaque canal par intervalle d'échantillon. Les échantillons RSSI sont comparés à un seuil RSSI spécifié. Pour assurer la qualité de la chaîne, le module de surveillance de la chaîne conserve et fournit le taux/pourcentage moyen d'échantillons RSSI qui sont supérieurs au seuil (dans un intervalle approximatif) d'une fenêtre d'échantillonnage spécifiée (appelée "occupation de la chaîne").
Fonctions |
|
---|---|
otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
|
uint16_t
Récupère l'occupation actuelle d'une chaîne donnée.
|
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
|
int8_t
Permet d'obtenir le seuil RSSI de surveillance du canal en DBM.
|
otChannelMonitorGetSampleCount(otInstance *aInstance)
|
uint32_t
Permet d'obtenir le nombre total d'échantillons RSSI (par canal).
|
otChannelMonitorGetSampleInterval(otInstance *aInstance)
|
uint32_t
Obtenez un intervalle d'échantillonnage de surveillance du canal en millisecondes.
|
otChannelMonitorGetSampleWindow(otInstance *aInstance)
|
uint32_t
Obtenez la surveillance de la moyenne à partir de la durée moyenne de l'échantillon (nombre d'échantillons).
|
otChannelMonitorIsEnabled(otInstance *aInstance)
|
bool
Indique si l'opération de surveillance du canal est activée et en cours d'exécution.
|
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
|
Active ou désactive le contrôle des canaux.
|
Fonctions
otChannelMonitorGetChannelOccupancy
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
Récupère l'occupation actuelle d'une chaîne donnée.
La valeur d'occupation du canal représente le taux/pourcentage moyen d'échantillons RSSI qui étaient supérieurs au seuil RSSI (échantillons RSSI incorrects).
Pour les premiers échantillons de "fenêtre d'échantillonnage", la moyenne est conservée sous la forme d'un pourcentage réel (c'est-à-dire, un ratio entre le nombre d'échantillons "mauvais" et le nombre total d'échantillons). Après des échantillons de "fenêtre", la moyenne utilise une moyenne mobile avec une pondération exponentielle. En pratique, cela signifie que la moyenne est représentative de 3 * window
échantillons maximum, avec la pondération la plus élevée attribuée aux kSampleWindow
derniers échantillons.
La valeur maximale de 0xffff
indique que tous les échantillons RSSI étaient supérieurs au seuil RSSI (autrement dit, 100% des échantillons étaient "mauvais").
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Renvoie |
Occupation actuelle de la chaîne.
|
otChannelMonitorGetRssiThreshold
int8_t otChannelMonitorGetRssiThreshold( otInstance *aInstance )
Permet d'obtenir le seuil RSSI de surveillance du canal en DBM.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Seuil de RSSI en DBM.
|
otChannelMonitorGetSampleCount
uint32_t otChannelMonitorGetSampleCount( otInstance *aInstance )
Permet d'obtenir le nombre total d'échantillons RSSI (par canal).
Depuis le début, le nombre total d'échantillons par canal par module de surveillance des canaux s'affiche (depuis l'interface réseau Thread activée).
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Nombre total d'échantillons RSSI (par canal) pris jusqu'à présent.
|
otChannelMonitorGetSampleInterval
uint32_t otChannelMonitorGetSampleInterval( otInstance *aInstance )
Obtenez un intervalle d'échantillonnage de surveillance du canal en millisecondes.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
L'intervalle de surveillance du canal est exprimé en millisecondes.
|
otChannelMonitorGetSampleWindow
uint32_t otChannelMonitorGetSampleWindow( otInstance *aInstance )
Obtenez la surveillance de la moyenne à partir de la durée moyenne de l'échantillon (nombre d'échantillons).
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Fenêtre d'échantillon moyenne.
|
otChannelMonitorIsEnabled
bool otChannelMonitorIsEnabled( otInstance *aInstance )
Indique si l'opération de surveillance du canal est activée et en cours d'exécution.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
TRUE si l'opération de surveillance du canal est activée, FALSE dans le cas contraire.
|
otChannelMonitorSetEnabled
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
Active ou désactive le contrôle des canaux.
Une fois l'opération lancée, toutes les données précédemment collectées sont effacées. Cependant, une fois l'opération désactivée, les données collectées précédemment restent valides et peuvent être lues.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs renvoyées |
|
Ressources
Les sujets de référence de l'API OpenThread proviennent du code source, disponible sur GitHub. Pour en savoir plus ou pour contribuer à notre documentation, consultez Ressources.