Google is committed to advancing racial equity for Black communities. See how.
דף זה תורגם על ידי Cloud Translation API.
Switch to English

זיהוי ריבה

כדי לספק מנגנון הניתן להגדרה לזיהוי שיבוש אותות בכל צומת OpenThread, הפעל את התכונה לזיהוי ריבה.

תכונה זו שימושית לאישורי התקנים הדורשים יכולת לזהות שיבוש אותות בערוץ ספציפי. ניתן להגדיר את זה כך שיעמוד בדרישות של כל סוג של הסמכה.

איך זה עובד

זיהוי ריבה עוקב אחר ה- RSSI (מחוון עוצמת האות המתקבל) של צומת במהלך חלונות זמן מוגדרים כדי לקבוע אם הערוץ נתקע.

כאשר זיהוי ריבה מופעל:

  1. המדינה לזיהוי ריבה מוגדרת כ- false .
  2. הצומת מדגם את ה- RSSI מספר פעמים בכל מרווח של שנייה אחת.
  3. אם ה- RSSI לאורך אותו מרווח שנייה אחד נשאר מעל סף ה- RSSI שהוגדר עבור כל דגימה, מרווח שנייה אחד זה נחשב לתקוע.
  4. אם מספר מצטבר של מרווחי שנייה שנתקעה הוא יותר או שווה למספר המצטבר של שניות תקופת העסקה שהוגדרו בתוך שניות חלון האיתור שהוגדרו לפני כן בכל נקודת זמן, מצב זיהוי החסימה באותה נקודת זמן מוגדר כ- true .
  5. אם מספר מצטבר של מרווחים שנייה שנתקעה קטן מהמספר המצטבר של שניות תקופת העסקה שהוגדרו בתוך שניות חלון האיתור שהוגדרו לפני כן בכל נקודת זמן, מצב זיהוי החסימה באותה נקודת זמן מוגדר כ- false .

מפת סיביות להיסטוריה

במאפייני ה- API של OpenThread ו- wpantund , מפת סיביות של 63 השניות הקודמות זמינה לאחזור. מפת סיביות זו מציינת אם ה- RSSI חצה את סף ה- RSSI שהוגדר בכל אחת מ -63 השניות הקודמות.

לדוגמה, תוכל לאחזר את מפת הסיביות הבאה:

0xC248068C416E7FF0

המרה לבינארית מייצרת כל מקרה ש- RSSI עבר מעל סף ה- RSSI שהוגדר במהלך 63 השניות הקודמות:

11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000

אם חלון האיתור מוגדר ל- 16 שניות והתקופה העמוסה מוגדרת ל- 8 שניות, מצב איתור החסימה הופך true ב- 51 שניות, שכן זהו המקרה הראשון בו סף ה- RSSI חרג מ- 8 שניות שלמות לפחות לפני 16 שניות. בדוגמה זו, מצב זיהוי ריבה נותר true במשך 13 השניות הבאות.

11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000
                                      [00001 01101110 011] = 8 in 16

מפת סיביות זו עשויה להיות מיוצגת על ידי הגרף הבא, אם -45 dBm היה סף ה- RSSI שהוגדר:

זיהוי ריבה ב- OT

כיצד להפעיל

תכונה זו מושבתת כברירת מחדל.

לפי הגדר

כדי לאפשר זיהוי ריבה, הגדר את OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE כ- 1 בקובץ /src/core/config/openthread-core-default-config.h , לפני בניית OpenThread :

#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 1
#endif

באמצעות מתג

לחלופין, השתמש JAM_DETECTION=1 בעת בניית OpenThread :

make -f examples/Makefile-<platform> JAM_DETECTION=1

פרמטרים

ניתן להגדיר פרמטרים לזיהוי ריבה באמצעות ממשק ה- API של OpenThread, פרוטוקול Spinel או wpanctl , כלי שורת הפקודה wpantund לניהול מעבד רשת (NCP). ערכי ברירת מחדל מוחלים אם התכונה מופעלת ללא תצורה עוקבת.

התאם אישית תכונה זו באמצעות הפרמטרים הבאים:

פרמטרים
סף RSSI
ערך ברירת מחדל
0 dBm
תיאור
מציין את רמת ה- RSSI של הסף ב- dBm שמעליה יש לראות את הערוץ תקוע.
חלון איתור
ערך ברירת מחדל
63 שניות
תיאור
מציין את החלון תוך שניות לבדיקת תקיעת האות. טווח: 1-63.
תקופה עמוסה
ערך ברירת מחדל
63 שניות
תיאור
מציין את מספר השניות המצטברות בתוך חלון האיתור שבו ה- RSSI חייב להיות מעל סף ה- RSSI כדי להפעיל זיהוי Jam. חייב להיות קטן יותר מחלון הגילוי. טווח: 1-63.

ממשק API

OpenThread

השתמש ב- API לזיהוי Jam כדי לנהל את תכונת ה- Jam Detection ישירות ביישום OpenThread שלך. ממשק ה- API של OpenThread מספק את הפונקציונליות הבאה:

  • התחל והפסיק את התכונה
  • צפו במדינה לזיהוי ריבה
  • נהל את כל הפרמטרים
  • אחזר את מפת הסיביות של היסטוריית זיהוי Jam
  • רשום פונקציית התקשרות חוזרת לזיהוי חסימה

ספינל

פרוטוקול Spinel מאפשר למכשיר מארח לתקשר ישירות עם NCP. פרוטוקול זה חושף מאפייני זיהוי ריבה ב- /src/lib/spinel/spinel.h המספקים את הפונקציונליות הבאה:

  • התחל והפסיק את התכונה
  • צפו במדינה לזיהוי ריבה
  • נהל את כל הפרמטרים
  • אחזר את מפת הסיביות של היסטוריית זיהוי Jam

CLI

OpenThread

אין פקודות CLI של OpenThread הקשורות לתכונה זו.

wpantund

השתמש ב- wpanctl CLI לניהול תכונת זיהוי Jam עבור תצורת NCP של OpenThread. wpantund שומרת על כל תצורת זיהוי Jam לאחר איפוס NCP.

wpanctl מספק גישה למאפייני wpantund הבאים:

נכסים
JamDetection:Status
פוּרמָט
בוליאני
תיאור
לקריאה בלבד. מצב זיהוי ריבה. מציין אם זוהה חסימת איתות כרגע.
JamDetection:Enable
פוּרמָט
בוליאני
תיאור
הפעל או השבת את התכונה זיהוי ריבה.
JamDetection:RssiThreshold
פוּרמָט
dBm
תיאור
מציין את רמת ה- RSSI של הסף ב- dBm שמעליה יש לראות את הערוץ חסום.
JamDetection:Window
פוּרמָט
שניות
תיאור
מציין את החלון תוך שניות לבדיקת תקיעת האות. טווח: 1-63.
JamDetection:BusyPeriod
פוּרמָט
שניות
תיאור
מציין את מספר השניות המצטברות בתוך JamDetection:Window שבו ה- RSSI חייב להיות מעל JamDetection:RssiThreshold כדי להפעיל זיהוי Jam. חייב להיות קטן יותר מ- JamDetection:Window . טווח: 1-63.
JamDetection:Debug:HistoryBitmap
פוּרמָט
ערך 64 סיביות
תיאור
מספק מידע על ההיסטוריה של גילוי ריבה למטרות ניטור וניקוי באגים.

לדוגמה, כדי להשיג את מצב זיהוי ריבה עבור NCP:

sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false

כדי להגדיר את סף ה- RSSI לזיהוי ריבה ל- -45 dBm ב- NCP:

sudo wpanctl setprop JamDetection:RssiThreshold -45
sudo wpanctl getprop JamDetection:RssiThreshold
JamDetection:RssiThreshold = -45

למידע נוסף על מאפייני wpantund , עיין במאגר wpantund GitHub .