Kanal İzleme

Bu modül, kanal izleme özelliğiyle ilgili işlevler içerir.

Özet

Bu modüldeki işlevler, kanal izleme özelliği (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE) etkinleştirildiğinde kullanılabilir.

Kanal izleme, daha temiz kanalların (daha az parazitli kanallar) belirlenmesine yardımcı olmak için tüm kanalları düzenli olarak izler.

Kanal izleme etkinken, örnek aralığı başına her kanalda tek bir RSSI örneği toplayan sıfır süreli Enerji Taraması gerçekleştirilir. RSSI örnekleri, önceden belirlenmiş bir RSSI eşiğiyle karşılaştırılır. Kanal izleme modülü, kanal kalitesinin bir göstergesi olarak belirli bir örnek penceresinde (yaklaşık olarak) kanal eşiğinin üzerinde olan RSSI örneklerinin ortalama oranını ve yüzdesini sağlar.

İşlevler

otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
uint16_t
Belirli bir kanalın mevcut kanal doluluğunu alır.
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
int8_t
Kanal izleme RSSI eşiğini dBm olarak alın.
otChannelMonitorGetSampleCount(otInstance *aInstance)
uint32_t
Kanal izleme toplam RSSI örneği sayısını alın (kanal başına).
otChannelMonitorGetSampleInterval(otInstance *aInstance)
uint32_t
Milisaniye cinsinden kanal izleme örnek aralığı alın.
otChannelMonitorGetSampleWindow(otInstance *aInstance)
uint32_t
Örnek pencere uzunluğunun ortalamasını (kanal sayısı) alarak kanal izleme özelliğinden yararlanın.
otChannelMonitorIsEnabled(otInstance *aInstance)
bool
Kanal İzleme işleminin etkin ve çalışır durumda olup olmadığını belirtir.
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
Kanal İzleme işlemini etkinleştirir veya devre dışı bırakır.

İşlevler

otChannelMonitorGetChannelKanal Doluluğu

uint16_t otChannelMonitorGetChannelOccupancy(
  otInstance *aInstance,
  uint8_t aChannel
)

Belirli bir kanalın mevcut kanal doluluğunu alır.

Kanalın doluluk değeri, RSSI örneklerinin RSSI eşiğinin üzerinde yer aldığı ortalama oranı/yüzdeyi belirtir ("kötü" RSSI örnekleri).

İlk "örnek pencere" örneklerinde ortalama, gerçek yüzde olarak tutulur (yani, "kötü" örnek sayısının toplam örnek sayısına oranı). "Pencere" numunelerinden sonra ortalama değer, üstel ağırlıklı bir hareketli ortalama kullanır. Pratik olarak bu, ortalamanın son kSampleWindow örneğe verilen en yüksek ağırlığa sahip en fazla 3 * window son örneği temsil ettiği anlamına gelir.

0xffff değerinin maksimum değeri, tüm RSSI örneklerinin RSSI eşiğinin üzerinde olduğunu gösterir (yani örneklerin% 100'ü "kötü").

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aChannel
Bağlantının dolu olduğu kanal.
İadeler
Belirli bir kanalın mevcut doluluk oranı.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

Kanal izleme RSSI eşiğini dBm olarak alın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
İadeler
dBm cinsinden RSSI eşiği.

otChannelMonitorGetSampleCount

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

Kanal izleme toplam RSSI örneği sayısını alın (kanal başına).

Bu sayı, başladığından beri kanal izleme modülüne göre kanal başına toplam örnek sayısını gösterir (Thread ağ arayüzü etkin olduğundan).

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
İadeler
Şu ana kadar alınan RSSI örneklerinin toplam sayısı (kanal başına).

otChannelMonitorGetÖrnekInterval

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

Milisaniye cinsinden kanal izleme örnek aralığı alın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
İadeler
Milisaniye cinsinden kanal izleme örnek aralığı.

otChannelMonitorGetÖrnekPencere

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

Örnek pencere uzunluğunun ortalamasını (kanal sayısı) alarak kanal izleme özelliğinden yararlanın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
İadeler
Ortalama örnek penceresi.

otChannelMonitorIsEtkin

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

Kanal İzleme işleminin etkin ve çalışır durumda olup olmadığını belirtir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
İadeler
Kanal İzleme işlemi etkinse DOĞRU, aksi takdirde YANLIŞ değerini girin.

otChannelMonitorSetEtkin

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Kanal İzleme işlemini etkinleştirir veya devre dışı bırakır.

İşlem başlatıldığında daha önce toplanan tüm veriler temizlenir. Ancak işlem devre dışı bırakıldıktan sonra, önceden toplanan veriler hâlâ geçerli olur ve okunabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aEnabled
Kanal İzleme işlemini etkinleştirmek/başlatmak için DOĞRU, devre dışı bırakmak/durdurmak için YANLIŞ değerini girin.
Döndürülen Değerler
OT_ERROR_NONE
Kanal İzleme durumu başarıyla değiştirildi
OT_ERROR_ALREADY
Kanal İzleme zaten aynı durumda.

Kaynaklar

OpenThread API Referans konuları, GitHub'da bulunan kaynak koddan gelir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar sayfasına göz atın.