Aby skonfigurować mechanizm wykrywania zacinania się sygnałów w dowolnym węźle OpenThread, włącz funkcję wykrywania Jamów.
Ta funkcja przydaje się do certyfikacji urządzeń, które wymagają wykrywania zakłóceń w dostępie do kanału. Możesz go skonfigurować tak, aby spełniał wymagania każdego typu certyfikacji.
Jak to działa
Wykrywanie Jamów monitoruje RSSI (wskaźnik siły odbieranego sygnału) węzła w określonych przedziałach czasu, aby określić, czy kanał został wyciszony.
Gdy wykrywanie Jamów jest włączone:
- Stan wykrywania Jamów jest ustawiony na
false
. - Węzeł próbkuje RSSI wiele razy w ciągu jednej sekundy.
- Jeśli w całym przedziale czasu wartość RSSI pozostanie w granicach ustawionego progu RSSI dla każdej próbki, zostanie ona uznana za zaciętą.
- Jeśli łączna liczba zaciętych jednosekundowych interwałów jest większa lub równa całkowitej liczbie skonfigurowanych okresów zastępowania sekund skonfigurowanych w okresie wykrywania w dowolnym momencie, stan wykrywania Jamu w danym momencie jest ustawiony na
true
. - Jeśli łączna liczba zaciętych sekund z zaciętymi sekundami jest krótsza niż łączna liczba skonfigurowanych okresów zajętości w sekundach skonfigurowanego wcześniej okna wykrywania w dowolnym momencie, stan wykrywania Jamu w danym momencie jest ustawiony na
false
.
Mapa bitowa historii
W interfejsach API OpenThread i wpantund
możliwe jest pobranie bitmapy z ostatnich 63 sekund. Ta mapa bitowa wskazuje, czy RSSI przekroczył skonfigurowany próg RSSI w każdym z wcześniejszych 63 sekund.
Możesz na przykład pobrać tę bitmapę:
0xC248068C416E7FF0
Konwersja do formatu binarnego powoduje utworzenie każdego wystąpienia RSSI, które przekroczyło skonfigurowany próg RSS 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 zmienia się na true
w 51 sekundzie, ponieważ jest to pierwsze wystąpienie, w którym próg RSSI przekroczył co najmniej 8 sekund w ciągu ostatnich 16 sekund. W tym przykładzie stan wykrywania Jamu pozostaje 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 był skonfigurowanym progiem RSSI:

Jak włączyć
Ta funkcja jest domyślnie wyłączona.
Według definicji
Zanim włączysz wykrywanie Jamów, zdefiniuj OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
jako 1
w pliku openthread/src/core/config/openthread-core-default-config.h
przed tworzeniem 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 Jamów można skonfigurować tylko za pomocą interfejsu API OpenThread, protokołu Spiner lub wpanctl
, narzędzia wiersza poleceń wpantund
do zarządzania siecią współprocesorem (NCP). Wartości domyślne są stosowane, jeśli funkcja jest włączona bez późniejszej konfiguracji.
Dostosuj tę funkcję za pomocą tych parametrów:
Parametry | |||||
---|---|---|---|---|---|
Próg RSSI |
|
||||
Okres wykrywania |
|
||||
Okres przejściowy |
|
API
OpenThread
Użyj interfejsu Jam Detection API do zarządzania funkcją Jam Jam bezpośrednio w aplikacji OpenThread. Interfejs API OpenThread ma następujące funkcje:
- Uruchamianie i zatrzymywanie funkcji
- Wyświetlanie stanu wykrywania Jamów
- Zarządzaj wszystkimi parametrami
- Pobieranie bieżącej bitmapy historii wykrywania Jamów
- Zarejestruj funkcję wywołania zwrotnego w przypadku wykrycia Jamu
Wir
Protokół Spinel umożliwia komunikację hosta z urządzeniem NCP.
Ten protokół udostępnia funkcje wykrywania Jamów w openthread/src/lib/spinel/spinel.h
, które oferują następujące funkcje:
- Uruchamianie i zatrzymywanie funkcji
- Wyświetlanie stanu wykrywania Jamów
- Zarządzaj wszystkimi parametrami
- Pobieranie bieżącej bitmapy historii wykrywania Jamów
interfejs CLI
OpenThread
Brak poleceń wiersza poleceń OpenThread powiązanych z tą funkcją.
Wpantund
Użyj interfejsu wiersza poleceń wpanctl
, aby zarządzać funkcją wykrywania Jamów na potrzeby konfiguracji NCP OpenThread. 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 sprawdzić stan Jamu w przypadku NCP:
sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false
Aby ustawić próg RSSI wykrywania Jamu na -45 dBm na 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 GitHub wpantund
.