Google is committed to advancing racial equity for Black communities. See how.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Deteksi Kemacetan

Untuk menyediakan mekanisme yang dapat dikonfigurasi untuk deteksi gangguan sinyal pada node OpenThread, aktifkan fitur Deteksi Kemacetan.

Fitur ini berguna untuk sertifikasi perangkat yang membutuhkan kemampuan untuk mendeteksi gangguan sinyal pada saluran tertentu. Ini dapat dikonfigurasi untuk memenuhi persyaratan setiap jenis sertifikasi.

Bagaimana itu bekerja

Deteksi Kemacetan memantau RSSI (indikator kekuatan sinyal yang diterima) dari sebuah node selama jendela waktu tertentu untuk menentukan apakah saluran telah macet.

Saat Deteksi Kemacetan diaktifkan:

  1. Status Deteksi Kemacetan disetel ke false .
  2. Node mengambil sampel RSSI beberapa kali selama setiap interval satu detik.
  3. Jika RSSI selama seluruh interval satu detik tetap di atas Ambang RSSI yang dikonfigurasi untuk setiap sampel, interval satu detik tersebut dianggap macet.
  4. Jika jumlah agregat dari interval satu detik yang macet lebih dari atau sama dengan jumlah agregat dari detik Periode Sibuk yang dikonfigurasi dalam detik Jendela Deteksi yang dikonfigurasi sebelumnya pada titik waktu mana pun, Status Deteksi Kemacetan pada titik waktu tersebut akan disetel ke true .
  5. Jika jumlah agregat dari interval satu detik yang macet kurang dari jumlah agregat detik Periode Sibuk yang dikonfigurasi dalam detik Jendela Deteksi yang dikonfigurasi sebelumnya pada titik waktu mana pun, Status Deteksi Kemacetan pada titik waktu tersebut disetel ke false .

Sejarah Bitmap

Di OpenThread API dan properti wpantund , bitmap dari 63 detik sebelumnya tersedia untuk diambil. Bitmap ini menunjukkan apakah RSSI melewati Ambang RSSI yang dikonfigurasi pada setiap 63 detik sebelumnya.

Misalnya, Anda mungkin mengambil bitmap berikut:

0xC248068C416E7FF0

Mengonversi ke biner menghasilkan setiap instance RSSI melampaui Ambang RSSI yang dikonfigurasi selama 63 detik sebelumnya:

11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000
.dll

Jika Jendela Deteksi diatur ke 16 detik, dan Periode Sibuk diatur ke 8 detik, Status Deteksi Kemacetan menjadi true pada 51 detik, karena itu adalah kejadian pertama di mana Ambang RSSI melebihi setidaknya 8 detik penuh di sebelumnya 16 detik. Dalam contoh ini, Status Deteksi Kemacetan tetap true selama 13 detik berikutnya.

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

Bitmap ini mungkin diwakili oleh grafik berikut, jika -45 dBm adalah RSSI Threshold yang dikonfigurasi:

Deteksi OT Jam

Cara mengaktifkan

Fitur ini dinonaktifkan secara default.

Dengan mendefinisikan

Untuk mengaktifkan Deteksi Jam, tentukan OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE sebagai 1 di file /src/core/config/openthread-core-default-config.h , sebelum membuat OpenThread :

#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 1
#endif

Dengan sakelar

Atau, gunakan JAM_DETECTION=1 build JAM_DETECTION=1 saat membuat OpenThread :

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

Parameter

Parameter Deteksi Kemacetan hanya dapat dikonfigurasi melalui OpenThread API, protokol Spinel, atau wpanctl , alat baris perintah wpantund untuk manajemen Network Co-Processor (NCP). Nilai default diterapkan jika fitur diaktifkan tanpa konfigurasi selanjutnya.

Sesuaikan fitur ini menggunakan parameter berikut:

Parameter
Ambang RSSI
Nilai default
0 dBm
Deskripsi
Menentukan level RSSI ambang dalam dBm di atasnya yang dianggap saluran macet.
Jendela Deteksi
Nilai default
63 detik
Deskripsi
Menentukan jendela dalam hitungan detik untuk memeriksa gangguan sinyal. Rentang: 1-63.
Periode Sibuk
Nilai default
63 detik
Deskripsi
Menentukan jumlah detik gabungan dalam Jendela Deteksi di mana RSSI harus di atas Ambang RSSI untuk memicu Deteksi Kemacetan. Harus lebih kecil dari Jendela Deteksi. Rentang: 1-63.

API

OpenThread

Gunakan API Deteksi Kemacetan untuk mengelola fitur Deteksi Kemacetan langsung di aplikasi OpenThread Anda. OpenThread API menyediakan fungsionalitas berikut:

  • Mulai dan hentikan fitur tersebut
  • Lihat Status Deteksi Kemacetan
  • Kelola semua parameter
  • Ambil bitmap riwayat Deteksi Kemacetan saat ini
  • Daftarkan fungsi panggilan balik saat kemacetan terdeteksi

Spinel

Protokol Spinel memungkinkan perangkat host untuk berkomunikasi secara langsung dengan NCP. Protokol ini memperlihatkan properti Deteksi Jam di /src/lib/spinel/spinel.h yang menyediakan fungsionalitas berikut:

  • Mulai dan hentikan fitur tersebut
  • Lihat Status Deteksi Kemacetan
  • Kelola semua parameter
  • Ambil bitmap riwayat Deteksi Kemacetan saat ini

CLI

OpenThread

Tidak ada perintah CLI OpenThread terkait dengan fitur ini.

wpantund.dll

Gunakan CLI wpanctl untuk mengelola fitur Deteksi Kemacetan untuk konfigurasi NCP OpenThread. wpantund mempertahankan semua konfigurasi Deteksi Kemacetan setelah reset NCP.

wpanctl menyediakan akses ke properti wpantund berikut:

Properti
JamDetection:Status
Format
boolean
Deskripsi
Baca saja. Status Deteksi Kemacetan. Menunjukkan jika sinyal macet saat ini terdeteksi.
JamDetection:Enable
Format
boolean
Deskripsi
Mengaktifkan atau menonaktifkan fitur Deteksi Kemacetan.
JamDetection:RssiThreshold
Format
dBm
Deskripsi
Menentukan level RSSI ambang dalam dBm di atasnya yang dianggap saluran diblokir.
JamDetection:Window
Format
detik
Deskripsi
Menentukan jendela dalam hitungan detik untuk memeriksa gangguan sinyal. Rentang: 1-63.
JamDetection:BusyPeriod
Format
detik
Deskripsi
Menentukan jumlah detik gabungan dalam JamDetection:Window di mana RSSI harus di atas JamDetection:RssiThreshold untuk memicu Deteksi Jam. Harus lebih kecil dari JamDetection:Window . Rentang: 1-63.
JamDetection:Debug:HistoryBitmap
Format
Nilai 64-bit
Deskripsi
Memberikan informasi tentang riwayat Status Deteksi Kemacetan untuk tujuan pemantauan dan debugging.

Misalnya, untuk mendapatkan Status Deteksi Kemacetan untuk NCP:

sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false

Untuk mengatur Jam Detection RSSI Threshold ke -45 dBm pada NCP:

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

Untuk informasi lebih lanjut tentang properti wpantund , lihat repositori GitHub wpantund .