Untuk menyediakan mekanisme yang dapat dikonfigurasi untuk deteksi jamming sinyal di node OpenThread, aktifkan fitur Deteksi Jamming.
Fitur ini berguna untuk sertifikasi perangkat yang memerlukan kemampuan untuk mendeteksi gangguan sinyal di saluran tertentu. Sertifikat ini dapat dikonfigurasi untuk memenuhi persyaratan setiap jenis sertifikasi.
Cara kerjanya
Deteksi Jam memantau RSSI (indikator kekuatan sinyal yang diterima) node selama periode waktu tertentu untuk menentukan apakah saluran tersebut macet.
Jika Deteksi Jam diaktifkan:
- Status Deteksi Jam disetel ke
false
. - Node mengambil sampel RSSI beberapa kali selama setiap interval satu detik.
- Jika RSSI selama interval satu detik tetap di atas mengonfigurasi Batas RSSI untuk setiap sampel, selama satu detik dianggap macet.
- Jika jumlah gabungan interval satu detik yang macet lebih dari atau
sama dengan jumlah gabungan Periode Sibuk yang dikonfigurasi
detik dalam detik Periode Deteksi yang dikonfigurasi sebelumnya
Kapan pun, Status Deteksi Jam pada saat itu akan ditetapkan
ke
true
. - Jika jumlah gabungan interval satu detik yang macet kurang dari
jumlah gabungan detik Periode Sibuk yang dikonfigurasi dalam
Periode Deteksi detik yang dikonfigurasi sebelumnya pada setiap titik
status Deteksi Jam pada saat itu akan disetel ke
false
.
Bitmap Histori
Di OpenThread API dan properti wpantund
,
bitmap 63 detik sebelumnya tersedia untuk diambil. Bitmap ini
menunjukkan apakah RSSI melampaui Batas RSSI yang dikonfigurasi pada setiap
63 detik sebelumnya.
Misalnya, Anda dapat mengambil bitmap berikut:
0xC248068C416E7FF0
Konversi ke biner menghasilkan setiap instance yang RSSI berada di atas instance yang dikonfigurasi Nilai Minimum RSSI selama 63 detik sebelumnya:
11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000
Jika Periode Deteksi disetel ke 16 detik, dan Periode Sibuk disetel ke 8
detik, Status Deteksi Jam menjadi true
pada 51 detik, karena itulah
instance pertama saat Nilai Minimum RSSI terlampaui setidaknya 8 detik penuh
dalam 16 detik sebelumnya. Dalam contoh ini, Status Deteksi Jam tetap
true
untuk 13 detik ke depan.
11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000 [00001 01101110 011] = 8 in 16
Bitmap ini mungkin ditampilkan oleh grafik berikut, jika -45 dBm adalah Ambang Batas RSSI yang dikonfigurasi:
Cara mengaktifkan
Fitur ini dinonaktifkan secara default.
Menurut mendefinisikan
Untuk mengaktifkan Deteksi Jam, tentukan
OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
sebagai 1
dalam
openthread/src/core/config/openthread-core-default-config.h
sebelum membangun 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 membangun
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
Co-Processor Jaringan (NCP). Nilai default diterapkan jika fitur
diaktifkan tanpa konfigurasi berikutnya.
Sesuaikan fitur ini menggunakan parameter berikut:
Parameter | |||||
---|---|---|---|---|---|
Batas RSSI |
|
||||
Periode Deteksi |
|
||||
Waktu Sibuk |
|
API
OpenThread
Gunakan Jam Detection API untuk mengelola fitur Jam Detection 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 saat macet terdeteksi
Putar
Protokol Spinel memungkinkan perangkat host berkomunikasi langsung dengan NCP.
Protokol ini mengekspos 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 CLI OpenThread yang terkait dengan fitur ini.
Wpantund
Menggunakan CLI wpanctl
untuk mengelola fitur Deteksi Jam untuk OpenThread NCP
konfigurasi Anda. 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, guna mendapatkan Status Deteksi Jam untuk NCP:
sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false
Untuk menetapkan Nilai Minimum RSSI Deteksi Jam ke -45 dBm pada NCP:
sudo wpanctl setprop JamDetection:RssiThreshold -45
sudo wpanctl getprop JamDetection:RssiThreshold
JamDetection:RssiThreshold = -45
Untuk informasi selengkapnya tentang properti wpantund
, lihat wpantund
GitHub
repositori Anda sendiri.