Untuk menyediakan mekanisme yang dapat dikonfigurasi untuk deteksi gangguan sinyal di setiap node OpenThread, aktifkan fitur Deteksi Jam.
Fitur ini berguna untuk sertifikasi perangkat yang memerlukan kemampuan untuk mendeteksi gangguan sinyal di saluran tertentu. Setelan ini dapat dikonfigurasi untuk memenuhi persyaratan setiap jenis sertifikasi.
Cara kerja
Deteksi Jam memantau RSSI (indikator kekuatan sinyal yang diterima) node selama periode waktu tertentu untuk menentukan apakah saluran telah diblokir.
Saat Deteksi Jam diaktifkan:
- Status Deteksi Jam disetel ke
false
. - Node mengambil RSSI beberapa kali dalam setiap interval satu detik.
- Jika RSSI selama seluruh interval satu detik tersebut tetap berada di atas Nilai Minimum RSSI yang dikonfigurasi untuk setiap sampel, interval satu detik tersebut dianggap macet.
- Jika jumlah gabungan interval satu detik yang macet lebih dari atau
sama dengan jumlah agregat Periode Sibuk
yang dikonfigurasi dalam Periode Deteksi detik yang dikonfigurasi sebelumnya
pada titik waktu tertentu, Status Deteksi Jam pada waktu tersebut ditetapkan
ke
true
. - Jika jumlah gabungan interval satu detik yang macet adalah kurang dari jumlah gabungan Periode Sibuk yang dikonfigurasi dalam Periode Deteksi detik yang dikonfigurasi sebelumnya pada titik waktu mana pun, Status Deteksi Jam pada waktu tersebut ditetapkan ke
false
.
Bitmap Histori
Di OpenThread API dan properti wpantund
,
bitmap dari 63 detik sebelumnya tersedia untuk pengambilan. Bitmap ini menunjukkan apakah RSSI melewati Nilai Minimum RSSI yang dikonfigurasi pada setiap 63 detik sebelumnya.
Misalnya, Anda dapat mengambil bitmap berikut:
0xC248068C416E7FF0
Mengonversi ke biner menghasilkan setiap instance RSSI yang melampaui Nilai Minimum RSS yang dikonfigurasi selama 63 detik sebelumnya:
11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000
Jika Periode Deteksi ditetapkan ke 16 detik, dan Periode Sibuk ditetapkan ke 8 detik, Status Deteksi Jam akan menjadi true
pada 51 detik, karena itu adalah instance pertama di mana Nilai Minimum RSSI terlampaui setidaknya 8 detik penuh dalam 16 detik sebelumnya. Dalam contoh ini, Status Deteksi Jam tetap
true
selama 13 detik ke depan.
11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000 [00001 01101110 011] = 8 in 16
Bitmap ini dapat direpresentasikan oleh grafik berikut, jika -45 dBm adalah Nilai Minimum RSSI yang dikonfigurasi:
Cara mengaktifkan
Fitur ini dinonaktifkan secara default.
Menurut definisi
Untuk mengaktifkan Deteksi Jam, tentukan OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
sebagai 1
dalam file openthread/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
Berdasarkan opsi
Atau, gunakan opsi build -DOT_JAM_DETECTION=ON
saat mem-build OpenThread:
./script/build -DOT_JAM_DETECTION=ON
Parameter
Parameter Deteksi Jam hanya dapat dikonfigurasi melalui OpenThread API, protokol Spinel, atau wpanctl
, alat command line wpantund
untuk pengelolaan Network Co-Processor (NCP). Nilai default diterapkan jika fitur ini diaktifkan tanpa konfigurasi berikutnya.
Sesuaikan fitur ini menggunakan parameter berikut:
Parameter | |||||
---|---|---|---|---|---|
Nilai Minimum RSS |
|
||||
Jendela Deteksi |
|
||||
Periode Sibuk |
|
API
OpenThread
Gunakan Jam Detection API untuk mengelola fitur Deteksi Jam secara langsung di aplikasi OpenThread Anda. OpenThread API menyediakan fungsi berikut:
- Memulai dan menghentikan fitur
- Melihat Status Deteksi Jam
- Kelola semua parameter
- Mengambil bitmap histori Deteksi Jam saat ini
- Mendaftarkan fungsi callback untuk saat Jam terdeteksi
Tulang belakang
Protokol Spinel memungkinkan perangkat host berkomunikasi langsung dengan NCP.
Protokol ini menampilkan properti Deteksi Jam di
openthread/src/lib/spinel/spinel.h
yang menyediakan fungsi berikut:
- Memulai dan menghentikan fitur
- Melihat Status Deteksi Jam
- Kelola semua parameter
- Mengambil bitmap histori Deteksi Jam saat ini
CLI
OpenThread
Tidak ada perintah OpenThread CLI yang terkait dengan fitur ini.
Wpantund
Gunakan CLI wpanctl
untuk mengelola fitur Deteksi Jam untuk konfigurasi NCP OpenThread. wpantund
mempertahankan semua konfigurasi Deteksi Jam setelah reset
NCP.
wpanctl
memberikan akses ke properti wpantund
berikut:
Properti | |||||
---|---|---|---|---|---|
JamDetection:Status |
|
||||
JamDetection:Enable |
|
||||
JamDetection:RssiThreshold |
|
||||
JamDetection:Window |
|
||||
JamDetection:BusyPeriod |
|
||||
JamDetection:Debug:HistoryBitmap |
|
Misalnya, untuk mendapatkan Status Deteksi Jam untuk NCP:
sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false
Untuk menetapkan Nilai Minimum RSSI Deteksi Jam ke -45 dBm di NCP:
sudo wpanctl setprop JamDetection:RssiThreshold -45
sudo wpanctl getprop JamDetection:RssiThreshold
JamDetection:RssiThreshold = -45
Untuk mengetahui informasi selengkapnya tentang properti wpantund
, lihat repositori GitHub wpantund
.