Pemantauan Saluran

Modul ini mencakup fungsi untuk fitur pemantauan channel.

Ringkasan

Fungsi dalam modul ini tersedia saat fitur pemantau saluran (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE) diaktifkan.

Pemantauan saluran akan memantau semua saluran secara berkala untuk membantu menentukan saluran yang lebih bersih (saluran dengan lebih sedikit gangguan).

Saat pemantauan saluran aktif, Pemindaian Energi tanpa durasi akan dilakukan, dengan mengumpulkan satu sampel RSSI di setiap saluran per interval sampel. Sampel RSSI dibandingkan dengan nilai minimum RSSI yang telah ditentukan sebelumnya. Sebagai indikator kualitas saluran, modul pemantauan saluran mempertahankan dan memberikan rasio/persentase rata-rata sampel RSSI yang berada di atas nilai minimum dalam (sekitar) periode sampel yang ditentukan (disebut sebagai tingkat keterisian saluran).

Fungsi

otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
uint16_t
Mendapatkan tingkat keterisian channel saat ini untuk channel tertentu.
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
int8_t
Dapatkan nilai minimum RSSI pemantauan channel di dBm.
otChannelMonitorGetSampleCount(otInstance *aInstance)
uint32_t
Mendapatkan jumlah total sampel RSSI pemantauan channel per saluran.
otChannelMonitorGetSampleInterval(otInstance *aInstance)
uint32_t
Mendapatkan interval sampel pemantauan saluran dalam milidetik.
otChannelMonitorGetSampleWindow(otInstance *aInstance)
uint32_t
Mendapatkan pemantauan saluran rata-rata panjang jendela sampel (jumlah sampel).
otChannelMonitorIsEnabled(otInstance *aInstance)
bool
Menunjukkan apakah operasi Pemantauan Saluran diaktifkan dan berjalan.
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
Mengaktifkan atau menonaktifkan operasi Pemantauan Saluran.

Fungsi

otChannelMonitorGetChannelOccupancy

uint16_t otChannelMonitorGetChannelOccupancy(
  otInstance *aInstance,
  uint8_t aChannel
)

Mendapatkan tingkat keterisian channel saat ini untuk channel tertentu.

Nilai tingkat keterisian saluran mewakili tingkat/persentase sampel RSSI rata-rata yang berada di atas nilai minimum RSSI (sampel RSSI yang buruk).

Untuk sampel "jendela sampel" pertama, rata-rata dipertahankan sebagai persentase aktual (yaitu, rasio jumlah sampel "buruk" dengan jumlah total sampel). Setelah sampel "jendela", rata-rata akan menggunakan rata-rata gerakan yang dihitung secara eksponensial. Dalam praktiknya, ini berarti rata-rata mewakili hingga 3 * window sampel terakhir dengan bobot tertinggi diberikan ke sampel kSampleWindow terbaru.

Nilai maksimum 0xffff menunjukkan semua sampel RSSI berada di atas nilai minimum RSSI (yaitu, 100% sampel "buruk").

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aChannel
Saluran tempat mendapatkan link.
Pengembalian
Jumlah tamu channel saat ini.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

Dapatkan nilai minimum RSSI pemantauan channel di dBm.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
Nilai minimum RSSI dalam dBm.

otChannelMonitorGetSampleCount

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

Mendapatkan jumlah total sampel RSSI pemantauan channel per saluran.

Jumlah ini menunjukkan jumlah total sampel per saluran oleh modul pemantauan saluran sejak dimulai (sejak antarmuka jaringan Thread diaktifkan).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
Jumlah total sampel RSSI (per saluran) yang diambil sejauh ini.

OTChannelMonitorGetSampleInterval

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

Mendapatkan interval sampel pemantauan saluran dalam milidetik.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
Interval sampel saluran memantau dalam milidetik.

OTChannelMonitorGetSampleWindow

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

Mendapatkan pemantauan saluran rata-rata panjang jendela sampel (jumlah sampel).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
Jendela contoh rata-rata.

otChannelMonitorIsEnabled

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

Menunjukkan apakah operasi Pemantauan Saluran diaktifkan dan berjalan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
TRUE jika operasi Pemantauan Saluran diaktifkan, SALAH jika sebaliknya.

OTChannelMonitorSetEnabled

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Mengaktifkan atau menonaktifkan operasi Pemantauan Saluran.

Setelah operasi dimulai, semua data yang dikumpulkan sebelumnya akan dihapus. Namun, setelah operasi dinonaktifkan, data yang dikumpulkan sebelumnya masih valid dan dapat dibaca.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aEnabled
TRUE untuk mengaktifkan/memulai operasi Pemantauan Saluran, FALSE untuk menonaktifkan/menghentikannya.
Nilai yang Ditampilkan
OT_ERROR_NONE
Status Pemantauan Saluran berhasil diubah
OT_ERROR_ALREADY
Pemantauan Saluran sudah dalam status yang sama.

Referensi

Topik Referensi OpenThread API berasal dari kode sumber, yang tersedia di GitHub. Untuk informasi selengkapnya, atau untuk berkontribusi pada dokumentasi kami, lihat Referensi.