Aby skonfigurować konfigurowalny mechanizm wykrywania zagłuszania sygnałów w dowolnym węźle OpenThread, włącz funkcję wykrywania Jamu.
Ta funkcja jest przydatna w przypadku certyfikatów urządzeń, które wymagają możliwości wykrycia zakłóceń w działaniu sygnału na poszczególnych kanałach. Można go skonfigurować w taki sposób, aby spełniał wymagania każdego rodzaju certyfikacji.
Jak to działa
Wykrywanie Jamu monitoruje wskaźnik RSSI (odbioru sygnału odbieranego) węzła w określonych przedziałach czasu, aby określić, czy w kanale został zablokowany.
Gdy wykrywanie Jamu jest włączone:
- Stan wykrywania Jamu jest ustawiony na
false
. - Węzeł próbkuje RSSI kilka razy w każdym sekundzie.
- Jeśli wskaźnik RSSI w całym sekundowym przedziale czasu będzie przekraczał skonfigurowany próg RSS dla każdej próbki, ten 1-sekundowy interwał jest uważany za zacięty.
- Jeśli łączna liczba zaciętych jednosekundowych interwałów wynosi więcej niż lub
równa się łączna liczba skonfigurowanych Okresu aktywności
sekund w skonfigurowanym wcześniej oknie wykrywania w dowolnym momencie, stan wykrywania Jamu w tym momencie jest ustawiony na
true
. - Jeśli łączna liczba zaciętych jednosekundowych przedziałów toma wartość mniejszą niż łączna liczbaOkres aktywności w sekundachOkno wykrywania sekund w dowolnym momencie, stan wykrywania Jamu w tym punkcie jest ustawiony na
false
danych
Historia bitów
Do pobrania znajdziesz we właściwościach OpenOpen API i wpantund
bitmapę z ostatnich 63 sekund. Ta mapa bitowa wskazuje, czy w przypadku co najmniej 63 sekund kanał RSSI przekroczył skonfigurowany próg RSSI.
Możesz na przykład pobrać tę bitmapę:
0xC248068C416E7FF0
Konwersja na plik binarny daje taki wynik, że w ciągu ostatnich 63 sekund ścieżka RSSI przekroczyła skonfigurowany próg kanału RSSI:
11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000
Jeśli okres wykrywania jest ustawiony na 16 sekund, a okres aktywności jest ustawiony na 8 sekund, stan wykrywania Jamu zmienia się na true
po 51 sekundach, ponieważ jest to pierwsze wystąpienie progu RSSI, w ciągu ostatnich 16 sekund przekroczyła co najmniej 8 sekund. W tym przykładzie stan wykrywania Jamu pozostanie true
przez następne 13 sekund.
11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000 [00001 01101110 011] = 8 in 16
Ta mapa bitowa może być reprezentowana przez następujący wykres, jeśli -45 dBm to skonfigurowany próg progu RSSI:

Jak włączyć
Domyślnie ta funkcja jest wyłączona.
Zgodnie z definicją
Aby włączyć wykrywanie Jamu, zdefiniuj OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
jako 1
w pliku openthread/src/core/config/openthread-core-default-config.h
przed utworzeniem OpenThread. :
#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 1
#endif
Według opcji
Możesz też użyć opcji kompilacji -DOT_JAM_DETECTION=ON
podczas budowania
OpenThread:
./script/build -DOT_JAM_DETECTION=ON
Parametry
Parametry wykrywania Jamu można skonfigurować tylko przez interfejs API OpenThread, protokół Spinel lub wpanctl
– narzędzie wiersza poleceń wpantund
przeznaczone do zarządzania współprocesorem sieciowym (NCP). Wartości domyślne są stosowane, jeśli funkcja jest włączona bez dalszej konfiguracji.
Dostosuj tę funkcję, korzystając z tych parametrów:
Parametry | |||||
---|---|---|---|---|---|
Próg RSS |
|
||||
Okno wykrywania |
|
||||
W tym czasie |
|
Interfejs API
OpenThread
Aby zarządzać funkcją wykrywania Jam bezpośrednio w aplikacji OpenThread, użyj interfejsu Jam Jam API. Interfejs OpenThread API oferuje następujące funkcje:
- Włączanie i wyłączanie funkcji
- Wyświetlanie stanu wykrywania Jamu
- Zarządzaj wszystkimi parametrami
- Pobierz bieżącą mapę bitową historii wykrywania Jamu
- Rejestrowanie funkcji wywołania zwrotnego w przypadku wykrycia Jamu
Spinningowa
Protokół Spinel umożliwia urządzeniu hosta komunikację z NCP.
Ten protokół udostępnia właściwości wykrywania Jamu w openthread/src/lib/spinel/spinel.h
, które zapewniają te funkcje:
- Włączanie i wyłączanie funkcji
- Wyświetlanie stanu wykrywania Jamu
- Zarządzaj wszystkimi parametrami
- Pobierz bieżącą mapę bitową historii wykrywania Jamu
interfejs CLI
OpenThread
Brak poleceń wiersza poleceń OpenThread związanych z tą funkcją.
Wpantund
Za pomocą interfejsu wiersza poleceń wpanctl
możesz zarządzać funkcją wykrywania Jamów w konfiguracji NCP OpenOpen. wpantund
zachowuje całą konfigurację wykrywania Jamów po zresetowaniu NCP.
wpanctl
zapewnia dostęp do tych właściwości wpantund
:
Właściwości | |||||
---|---|---|---|---|---|
JamDetection:Status |
|
||||
JamDetection:Enable |
|
||||
JamDetection:RssiThreshold |
|
||||
JamDetection:Window |
|
||||
JamDetection:BusyPeriod |
|
||||
JamDetection:Debug:HistoryBitmap |
|
Aby na przykład uzyskać stan wykrywania Jamu NCP:
sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false
Aby ustawić próg RSSI wykrywania Jamu na -45 dBm w NCP:
sudo wpanctl setprop JamDetection:RssiThreshold -45
sudo wpanctl getprop JamDetection:RssiThreshold
JamDetection:RssiThreshold = -45
Więcej informacji o właściwościach wpantund
znajdziesz w repozytorium wpantund
GitHub.