Aby skonfigurować konfigurowalny mechanizm wykrywania zagnieżdżania sygnałów w dowolnym węźle OpenThread, włącz funkcję wykrywania Jamów.
Ta funkcja przydaje się do certyfikatów urządzenia, które wymagają wykrycia sygnału na konkretnym kanale. Możesz go skonfigurować tak, aby spełniał wymagania każdego typu certyfikatów.
Jak to działa
Wykrywanie Jamów monitoruje RSSI (wskaźnik siły sygnału odbieranego przez węzeł) w określonych oknach w celu określenia, czy kanał nie został przełączony.
Gdy wykrywanie Jamów jest włączone:
- Stan wykrywania Jamu to
false
. - Węzeł próbkuje RSSI wiele razy w każdym sekundzie.
- Jeśli RSSI w trakcie tego całego sekundy przekracza ustawiony próg progu RSS dla każdej próbki, to 1-sekundowa interwał jest uznawany za przeciążony.
- Jeśli łączna liczba zablokowanych interwałów sekundowych w danym momencie łączy się lub jest równa łącznej liczbie skonfigurowanych okresów wykrywania w poprzednim oknie wykrywania w dowolnym momencie, stan wykrywania Jamu w tym momencie jest ustawiony na
true
. - Jeśli łączna liczba zablokowanych interwałów sekundowych w konkretnym czasie jest mniejsza niż łączna liczba skonfigurowanych okresów zajętych w poprzednim skonfigurowanym oknie wykrywania w dowolnym momencie, stan wykrywania Jamów jest ustawiony na
false
.
Historia bitwy
W interfejsach OpenThread API i wpantund
można pobierać mapy bitowe obejmujące ostatnie 63 sekundy. Ta mapa bitowa wskazuje, czy RSSI przekracza skonfigurowany próg RSS w każdym z poprzedzających 63 sekund.
Możesz na przykład pobrać tę mapę bitową:
0xC248068C416E7FF0
Konwersja na plik binarny daje każdą instancję, która przekroczyła skonfigurowany próg RSSI w ciągu ostatnich 63 sekund:
11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000
Jeśli okno wykrywania jest ustawione na 16 sekund, a okres aktywności jest ustawiony na 8 sekund, stan wykrywania Jamu zmieni się na true
po 51 sekundach, ponieważ to pierwszy przypadek, w którym próg RSSI został przekroczony o co najmniej 8 całych sekund w ciągu poprzednich 16 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 ten wykres, jeśli -45 dBm był skonfigurowanym progiem RSSI:

Jak włączyć
Ta funkcja jest domyślnie wyłączona.
Według definicji
Aby włączyć wykrywanie Jamów, określ plik OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
jako 1
w pliku openthread/src/core/config/openthread-core-default-config.h
, a potem 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 kompilowania OpenThread:
./script/build -DOT_JAM_DETECTION=ON
Parametry
Parametry wykrywania Jamów można skonfigurować tylko za pomocą interfejsu OpenThread API, protokołu Spinel lub wpanctl
– narzędzia wiersza poleceń wpantund
używanego do zarządzania współprocesorami sieciowymi (NCP). Jeśli funkcja jest włączona bez konieczności konfigurowania, stosowane są wartości domyślne.
Dostosuj tę funkcję za pomocą tych parametrów:
Parametry | |||||
---|---|---|---|---|---|
Próg RSSI |
|
||||
Okno wykrywania |
|
||||
Okres intensywności |
|
API
OpenThread
Użyj interfejsu Jam Detection API do zarządzania funkcją Jam Jam bezpośrednio w aplikacji OpenThread. Interfejs OpenThread API udostępnia te funkcje:
- Włączanie i wyłączanie funkcji
- Wyświetlanie stanu wykrywania Jamów
- Zarządzaj wszystkimi parametrami
- Pobieranie bieżącej mapy bitowej historii wykrywania Jamu
- Zarejestruj funkcję wywołania zwrotnego dla wykrycia Jamu
Wirowanie
Protokół Spinel umożliwia urządzeniu komunikującemu się bezpośrednio z NCP.
Ten protokół udostępnia właściwości wykrywania Jamu w openthread/src/lib/spinel/spinel.h
, które udostępniają te funkcje:
- Włączanie i wyłączanie funkcji
- Wyświetlanie stanu wykrywania Jamów
- Zarządzaj wszystkimi parametrami
- Pobieranie bieżącej mapy bitowej historii wykrywania Jamu
interfejs CLI
OpenThread
Brak poleceń interfejsu 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 OpenThread. wpantund
zachowuje konfigurację konfiguracji wykrywania Jamu po zresetowaniu NCP.
wpanctl
zapewnia dostęp do tych właściwości wpantund
:
Usługi | |||||
---|---|---|---|---|---|
JamDetection:Status |
|
||||
JamDetection:Enable |
|
||||
JamDetection:RssiThreshold |
|
||||
JamDetection:Window |
|
||||
JamDetection:BusyPeriod |
|
||||
JamDetection:Debug:HistoryBitmap |
|
Aby na przykład pobrać stan wykrywania Jamów dla NCP:
sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false
Aby ustawić próg RSSI wykrywania przez Jam na poziomie -45 dBm:
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 GitHub wpantund
w języku angielskim.