מדידת מרחק: רצף הודעות מחוץ למסגרת ומפרט של עומס שימושי

ב-Android 16 הושק מודול למדידת מרחק. המפרט הזה של הפרוטוקול והמטען הייעודי מגדיר את רצף ההודעות ואת המטען הייעודי של תקשורת מחוץ לפס (OOB) שמשמשת להחלפת הגדרות למדידת המרחק, ולהפעלה ולעצירה של מדידת המרחק בין המכשיר המבצע את הקריאה לבין המכשיר המגיב שמבצע את התשובה.

המטרה העיקרית של הדף הזה היא לאפשר לספקי מכשירים שאינם Android להטמיע את המפרט הזה כדי שהמכשירים שלהם יהיו תואמים למדידת המרחק ממכשירי Android.

הודעות וסדר ההודעות

בקטע הזה מתוארות ההודעות והסדר של החלפת ההודעות.

בטבלה הבאה מוצגות כל ההודעות שמופיעות בחילופי הנתונים מחוץ ל-Outlook:

הודעה מזהה ההודעה
Ranging Capability Request 0x0
Ranging Capability Response 0x1
Ranging Configuration 0x2
Ranging Configuration Response (אופציונלי) 0x3
Stop Ranging 0x6
Stop Ranging Response (אופציונלי) 0x7

כפי שמוצג בתרשים 1 ובתרשים 2, האופן שבו מתבצעת החלפת ההודעות תלוי בערוץ התקשורת.

בערוצי תקשורת שמבוססים על חיבור, כמו BLE GATT, החלפת ההודעות מתחילה במכשיר המבצע את ההתחלה, ששולח את Ranging Capability Request למכשיר המגיב. המכשיר של המשתמש המגיב משיב על ידי שליחת Ranging Capability Response, כפי שמוצג באיור 1:

תהליך יצירת קשר בערוץ תקשורת

איור 1. החלפת הודעות מחוץ ל-UI באמצעות ערוץ תקשורת מבוסס-חיבור.

בערוצי תקשורת שמבוססים על פרסום, מכשיר המשתמש המגיב מתחיל לפרסם את Ranging Capability. במקרה כזה, הערך Ranging Capability Request לא נשלח מהמכשיר שמתחיל את הקריאה. במקום זאת, אחרי זיהוי המודעה, כשהמכשיר המבצע את הקריאה (הסורק הראשוני) מוכן, הוא מגיב על ידי פרסום Ranging Configuration כהודעה הראשונה שלו, כפי שמוצג באיור 2:

תהליך יצירת קשר בערוץ תקשורת שמבוסס על מודעות

איור 2. החלפת הודעות מחוץ ל-Outlook באמצעות תקשורת מבוססת-מודעות.

שאר החלפת ההודעות זהה בשני המקרים. מכשיר התגובה מתחיל לבצע מדידות מרחק מיד אחרי שהוא מקבל את ההודעה Ranging Configuration. מכשיר התגובה מפסיק את מדידת המרחק אחרי שהוא מקבל או מזהה את ההודעה Stop Ranging.

בתהליך שמבוסס על חיבור, מכשיר התגובה מאכלס את היכולות רק של טכנולוגיות הטווח שנשלחה עבורן בקשה בהודעה Ranging Capability Request. לעומת זאת, בתהליך שמבוסס על פרסום, מכשיר התגובה צריך לרשום את כל היכולות שלו כי אין הודעה קודמת של בקשת יכולות.

המכשיר שמתחיל את התהליך מניח שהוא יקבל רק תשובה אחת לכל הודעת בקשה שהוא שולח. מכשיר התגובה לא יכול להניח דבר כזה, כדי שיוכל להגיב לכל בקשה בסדר כלשהו. כך אפשר להבטיח שמכשיר התגובה יוכל להגיב למספר הודעות Ranging Capability Request רצופות או לכל הודעה אחרת שלא נשלחה בסדר מהמכשיר שהתחיל את הקריאה.

מזהים של טכנולוגיות למדידת מרחק

המזהים של טכנולוגיות המדידה מפורטים בטבלה הבאה:

טכנולוגיית מדידת המרחק מזהה
UWB 0x0
CS 0x1
Wi-Fi NAN RTT 0x2
RSSI 0x3
RFU 0x4 עד 0xFF

המזהים האלה משמשים בטבלאות הבאות, שבהן נדרש מזהה טכנולוגיית הטווח. בשדות שמכילים שדה ביט של טכנולוגיית טווח, הביט שתואם למזהה הטכנולוגיה מוגדר כשהטכנולוגיה הזו נכללת בשדה הביט.

לדוגמה, ל-RSSI יש ערך מזהה 3, אבל אם ה-RSSI נכלל בשדה הביט של טכנולוגיית הטווח, צריך להפעיל את הביט שמתאים למיקום המזהה (3) (הביט הראשון נמצא במיקום 0), וכך הערך שיתקבל בשדה הביט הוא 0x8. אם גם UWB וגם RSSI כלולים, הערך של bitfield הוא 0x0A (שני הביטים 0 ו-3 מופעלים).

פורמט הודעה

כל הודעה מורכבת מכותרת ומעמס נתונים.

פורמט הודעה

איור 3. פורמט ההודעה.

גודל: 2 בייטים

תיאור: הכותרת היא החלק הראשון שמופיע בכל ההודעות. הכותרת מכילה גרסה ומזהה של סוג ההודעה. השדה version מציין את הגרסה של המפרט הזה שאליה תוכן ההודעה תואם. הגרסה הנוכחית של המפרט הזה היא 1. למידע נוסף על האופן שבו נעשה שימוש בגרסאות בין מכשירים בגרסאות שונות, ראו ניהול גרסאות. הכותרת תמיד תואמת לאחור לגרסאות שונות, כך שאפשר תמיד לנתח אותה כדי לקבוע את הגרסה ואת המזהה של ההודעה.

הכותרת מסכמת בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8 גרסה 0x1 – הגרסה הנוכחית
1 unit8 מזהה ההודעה
  • 0x0 – הודעת Ranging Capability Request
  • 0x1 – הודעה Ranging Capability Response
  • 0x2 – הודעה Ranging Configuration
  • 0x3 – הודעת Ranging Configuration Response (אופציונלי)
  • 0x6 – הודעת Stop Ranging
  • 0x7 – הודעת Stop Ranging Response (אופציונלי)
  • 0x4-0x5, 0x80xFF RFU

מטען ייעודי (payload)

גודל: משתנה (תלוי בסוג ההודעה)

תיאור: תוכן טעינה פעיל הוא החלק האחרון של ההודעה, אחרי הכותרת. עומס העבודה תלוי בסוג ההודעה. הפורמט של המטען הייעודי (Payload) של כל סוג הודעה מוגדר בקטעים הבאים.

מטען נתונים של הודעה לבקשת יכולת למדידת טווח

גודל (לא כולל גודל הכותרת): 2 בייטים

תיאור: נשלח על ידי המכשיר המבצע את ההתחלה כדי להתחיל את החלפת ההודעות. ההודעה הזו היא אופציונלית כשערוץ התקשורת מבוסס על פרסום. במקרה כזה, מכשיר התגובה נדרש לפרסם הודעה מסוג Ranging Capability בשלב הראשון. מכשיר ההתחלה (הסורק הראשוני) קורא את המודעה ומגיב ישירות בהודעת Ranging Capability, כך שאין צורך בהודעה הזו.

תוכן ההודעה Ranging Capability Request מסכם בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8*2 ביט פילד של טכנולוגיות הטווח המבוקשות
  • 0x01 – UWB
  • 0x02 – צלצול בערוץ BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU

עומס העבודה של הודעת התגובה ליכולת למדידת טווח

גודל (לא כולל גודל הכותרת): משתנה (חלק משותף של 2 בייטים ועוד הגודל של כל בייט של טכנולוגיית הטווח הכלולה)

תיאור: נשלחת על ידי המשתמש שתגובה להודעה Ranging Capability Request. עומס העבודה של ההודעה הזו מורכב מהחלק המשותף ומחלקים ספציפיים לטכנולוגיית הטווח (BLE CS,‏ Wi-Fi NAN RTT CS,‏ BLE RSSI), כפי שמתואר בטבלאות הבאות. צריך להוסיף כל חלק ספציפי לטכנולוגיית הטווח רק אם טכנולוגיית הטווח הזו נתמכת במכשיר המגיב ומופיעה בבקשה בהודעה Ranging Capability Request. במקרה של ערוץ תקשורת של מודעה, צריך לכלול את כל טכנולוגיות המדידה הנתמכות.

תוכן העומס הנפוץ של הודעות Ranging Capability Response מפורט בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8*2 ביט-מַקס של טכנולוגיות למדידת מרחק נתמכות. מציין את קבוצת היכולות של טכנולוגיות המדידה שמופיעות בהמשך המטען הייעודי.
  • 0x01 – UWB
  • 0x02 – צלצול בערוץ BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU
2 מערך בייטים בייטים של יכולת הטכנולוגיה למדידת טווח. בלוקים חוזרים של מבנים מוגדרים לכל טכנולוגיה.

נתוני העומס של ההודעה Ranging Capability Response ב-UWB מפורטים בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8 מזהה טכנולוגיית הטווח 0x0 – UWB
1 uint8 גודל גודל הבייטים של יכולות UWB (כולל השדות Technology ID ו-Size) בבייטים.
2 uint8*2 כתובת UWB כתובת UWB של מכשיר באורך 2 בייטים.
4 uint8*4 ביט-מידע של ערוצים נתמכים שדה ביט של הערוצים הנתמכים. ביט שמוגדר כ-0 מציין שהתכונה לא נתמכת, ו-1 מציין שהתכונה נתמכת. ביט 0 תואם לערוץ 0.
LSB == channel 0
MSB == channel 31
8 uint8*4 ביט פילד נתמך של אינדקס הקדמה שדה ביט של אינדקסים נתמכים של כותרת. ביט שמוגדר כ-0 מציין שהתכונה לא נתמכת, ו-1 מציין שהתכונה נתמכת. הבייט 0 תואם לאינדקס הקדמה 1.
LSB == preamble index 1
MSB == preamble index 32
12 uint8*4 ביט פול של מזהי תצורה נתמכים שדה ביט של מזהי תצורה נתמכים של UWB. ביט שמוגדר כ-0 מציין שאין תמיכה, וביט שמוגדר כ-1 מציין שיש תמיכה.
LSB == config Id 0
>MSB == config Id 31
16 uint8*2 מרווח הזמן המינימלי שנתמך למדידת המרחק הערך הזה מציין את מרווח הזמן המהיר ביותר שנתמך למדידת המרחק, באלפיות השנייה. הערכים המותרים (במילי-שניות):
  • 96
  • 120
  • 240
  • 600
18 uint8 משך הזמן המינימלי שנתמך לחלון הערך הזה מציין את משך הזמן הקצר ביותר של חריץ נתמך, באלפיות השנייה. לדוגמה, אם המכשיר מחזיר 1ms, ההנחה היא שהוא תומך גם באורך זמן של 2ms ואילך. הערכים המותרים (במילי-שניות):
  • 1
  • 2
19 ביט פילד נתמך של תפקיד מכשיר UWB שדה ביט של התפקידים הנתמכים ב-UWB. לדוגמה, אם שניהם נתמכים, הערך הסופי בשדה הוא 0x3.
  • 0x1 – תפקיד היזם נתמך
  • 0x2 – תפקיד התגובה נתמך

תוכן הודעה Ranging Capability Request של BLE CS מסכם בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8 מזהה טכנולוגיית הטווח 0x1 – BLE CS
1 uint8 גודל גודל הבייטים של יכולות BLE CS (כולל השדות Technology ID ו-Size) בבייטים.
2 uint8 ביט פילד של סוגי האבטחה הנתמכים שדה ביט של סוגי האבטחה הנתמכים ב-BLE CS.
  • 0x01CS_SECURITY_LEVEL_UNKNOWN
  • 0x02CS_SECURITY_LEVEL_ONE
  • 0x04CS_SECURITY_LEVEL_TWO
  • 0x08CS_SECURITY_LEVEL_THREE
  • CS_SECURITY_LEVEL_FOUR0x10
3 uint8*6 כתובת המכשיר הכתובת של המכשיר שמשמש ל-BLE CS, בסדר big endian.

תוכן העל של ההודעה Ranging Capability Request ב-Wi-Fi NAN RTT CS מסכם את הפרטים הבאים:

אוקטט סוג נתונים תיאור ערך
0 uint8 מזהה טכנולוגיית הטווח 0x2 – Wi-Fi NAN RTT
1 uint8 גודל גודל הבייטים של יכולות ה-RSSI של BLE (כולל השדות Technology ID ו-Size) בבייטים.
2 uint8 מחרוזת בייט של התכונות הנתמכות שדה ביט של התכונות הנתמכות.
  • 0x01 – תמיכה ב-11mc
  • 0x02 – תמיכה ב-11az
3 uint8 תמיכה בטווח תקופתי
  • 0x0 – אין תמיכה בטווח מדידה תקופתי
  • 0x1 – תמיכה בטווח תקופות
4 uint8 רוחב הפס הנתמך המידע הזה עוזר להסיק את רמת הדיוק האפשרית למדידת המרחק באמצעות Wi-Fi NAN, ויכול לעזור לאפליקציות לקבוע אם להשתמש ב-UWB, ב-BLE CS, ב-BLE RSSI או ב-Wi-Fi NAN למדידת המרחק.
  • 0x00 – 20MHz
  • 0x01 – 40MHz
  • 0x02 – 80MHz
  • 0x03 – 160MHz
  • 0x04 – 80+80MHz
  • 0x05 – 320MHz
  • RFU
5 uint8 מספר שרשרות הקבלה הנתמכות המידע הזה עוזר להסיק את רמת הדיוק האפשרית למדידת המרחק באמצעות Wi-Fi NAN, ויכול לעזור לאפליקציות לקבוע אם להשתמש ב-UWB, ב-BLE CS, ב-BLE RSSI או ב-Wi-Fi NAN למדידת המרחק.
  • 0x00 – לא מוגדר
  • 0x01 – שרשרת RX אחת
  • 0x02 – 2 רשתות RX
  • 0x03 – 3 רשתות RX
  • 0x04 – 4 רשתות RX

תוכן העלון של הודעת ה-RSSI של BLE‏ Ranging Capability Request מפורט בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8 מזהה טכנולוגיית הטווח 0x3 – BLE CS
1 uint8 גודל הגודל בבייטים של הבייטים של יכולות ה-RSSI ב-BLE (כולל השדות Technology ID ו-Size)
2 uint8*6 כתובת המכשיר הכתובת של המכשיר שמשמש ל-BLE RSSI, בסדר big endian

עומס העבודה של הודעת תצורת הטווח

גודל (לא כולל גודל הכותרת): משתנה (החלק המשותף הוא 4 בייטים, בתוספת הגודל של כל בייט של טכנולוגיית הטווח הכלולה).

תיאור: ההודעה הזו נשלחת על ידי הגורם שמתחיל את הבדיקה, והיא מכילה את ההגדרות שבהן כל טכנולוגיית מדידת המרחק יכולה להתחיל את מדידת המרחק. כשהמכשיר המגיב מקבל את ההודעה הזו, הוא צריך לנסות להתחיל למדוד את המרחק באמצעות כל טכנולוגיית מדידה שצוינה. עומס העבודה של ההודעה הזו מורכב מהחלק המשותף וחלקים ספציפיים לטכנולוגיית הטווח (UWB,‏ BLE CS,‏ Wi-Fi NAN RTT,‏ BLE RSSI), כפי שמוצג בטבלאות הבאות.

תוכן העומס הנפוץ של הודעות Ranging Configuration מפורט בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8*2 ביט פילד של קבוצת ההגדרות של טכנולוגיות למדידת מרחק שדה ביט של טכנולוגיות למדידת מרחק, שההודעה הזו מכילה נתוני תצורה עבורן, ויש להגדיר את פרמטרים התצורה שלהן.
  • 0x01 – UWB
  • 0x02 – צלצול בערוץ BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU
2 uint8*2 שדה ביט RFU. צריך להגדיר אותו לאותו ערך כמו השדה Ranging technologies configuration set bitfield.
4 מערך בייטים בייטים של הגדרות טכנולוגיות למדידת טווח בלוקים חוזרים של מבנים מוגדרים לכל טכנולוגיה

תוכן ההודעה Ranging Configuration ב-UWB מתומצת בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8 מזהה טכנולוגיית הטווח 0x0 – UWB
1 uint8 גודל הגודל של הגדרת UWB (כולל השדות Technology ID ו-Size) בבייטים
2 uint8*2 כתובת UWB כתובת UWB של מכשיר באורך 2 בייטים
4 uint8*4 מזהה הפעילות מזהה הסשן שנוצר. מזהה הסשן הוא מזהה ייחודי של סשן המדידת המרחק בין הטלפון לבין ההתקן ההיקפי.
8 uint8 מזהה התצורה שנבחר מספר מזהה התצורה שנבחר כמספר שלם. מזהה התצורה מציין את פרמטרי התזמון ואת סוג האבטחה שצריך להשתמש בהם בסשן למדידת המרחק ב-UWB.
9 uint8 הערוץ שנבחר הערוץ שנבחר לסשן למדידת המרחק ב-UWB
10 uint8 אינדקס הכותרת הפותחת שנבחר אינדקס הפתיח שנבחר לסשן למדידת המרחק ב-UWB
11 uint8*2 מרווח הסריקה שנבחר שיעור מרווח הזמן שנבחר למדידת המרחק באלפיות השנייה. הערכים המותרים (במילי-שניות):
  • 96
  • 120
  • 240
  • 600
13 uint8 משך הזמן שנבחר למשבצת משך הזמן של המשבצת שנבחרה באלפיות שנייה. הערכים המותרים (במילי-שניות):
  • 1
  • 2
14 uint8 אורך מפתח הסשן האורך של מפתח הסשן בבייטים
15 מערך בייטים מפתח סשן מפתח סשן. אם נעשה שימוש ב-S-STS, שני הבייטים הראשונים הם מזהה הספק וששת הבייטים הבאים הם STATIC STS IV. אם נעשה שימוש ב-P-STS, זהו מפתח סשן באורך 16 או 32 בייטים. סוג האבטחה שבו נעשה שימוש נקבע לפי מזהה התצורה.
משתנה uint8*2 קוד המדינה קוד מדינה לפי תקן ISO 3166-1 alpha-2, שמיוצג על ידי שני תווים של ASCII
משתנה uint8 התפקיד של המכשיר שנבחר
  • 0x01 – מאתחל
  • 0x02 – משיב
משתנה uint8 מצב המכשיר שנבחר
  • 0x01 – בקר
  • 0x02 – קבוצת הבקרה

תוכן הודעה Ranging Configuration של BLE CS מסכם בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8 מזהה טכנולוגיית הטווח 0x1 – BLE CS
1 uint8 גודל הגודל בבייטים של הגדרת BLE CS (כולל השדות Technology ID ו-Size)
2 uint8 סוג האבטחה שנבחר סוג האבטחה שנבחר. הערכים המותרים:
  • 0x0CS_SECURITY_LEVEL_UNKNOWN
  • 0x1CS_SECURITY_LEVEL_ONE
  • 0x2CS_SECURITY_LEVEL_TWO
  • 0x3CS_SECURITY_LEVEL_THREE
  • 0x4CS_SECURITY_LEVEL_FOUR
3 uint8*6 כתובת המכשיר הכתובת של המכשיר שמשמש ל-BLE CS, לפי סדר big endian

תוכן העומס של הודעת Ranging Configuration ב-Wi-Fi NAN RTT מפורט בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8 מזהה טכנולוגיית הטווח 0x2 – Wi-Fi NAN RTT
1 uint8 גודל הגודל בבייטים של הגדרת RTT של Wi-Fi NAN (כולל השדות Technology ID ו-Size)
2 uint8 האורך של שם השירות האורך של השדה Service name בבייטים. אפשר לעיין במפרט של Wi-Fi Aware גרסה 4.0, קטע 1.3.3 טבלה 1. הגדרות.
3 מערך בייטים שם שירות שם השירות. אפשר לעיין במפרט של Wi-Fi Aware גרסה 4.0, קטע 1.3.3 טבלה 1. הגדרות.
משתנה uint8 תפקיד המכשיר
  • 0x0 – תשובה (בעל תוכן דיגיטלי של שירות NAN)
  • 0x1 – מאתחל (מנוי לשירות NAN)
משתנה uint8 שימוש במדידה תקופתית
  • 0x0 – מדידת המרחק התקופתית מושבתת
  • 0x1 – מדידת טווח תקופתית מופעלת

תוכן העלון של הודעת ה-RSSI של BLE‏ Ranging Configuration מפורט בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8 מזהה טכנולוגיית הטווח 0x3 – BLE RSSI
1 uint8 גודל הגודל בבייטים של הגדרת ה-RSSI של BLE (כולל השדות Technology ID ו-Size)
2 uint8*6 כתובת המכשיר הכתובת של המכשיר שמשמש ל-BLE RSSI, בסדר big endian

עומס העבודה של הודעת התגובה לתצורת הטווח

גודל (לא כולל גודל הכותרת): 2 בייטים

תיאור: ההודעה הזו נשלחת על ידי מי שהשיב על הטופס בתגובה להודעה Ranging Configuration. ההודעה הזו היא אופציונלית, והיא נדרשת רק אם בערוץ התקשורת שבו משתמשים נדרש לשלוח תשובה מפורשת לכל בקשה.

תוכן ההודעה של Ranging Configuration Response מפורט בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8*2 הגדרת טכנולוגיות למדידת מרחק הושלמה בהצלחה bitfield שדה ביט של טכנולוגיות למדידת מרחק שהוגדרו בהצלחה. בשדה ה-bitfield, הביט של טכנולוגיית הטווח מוגדר ל-1 אם הבקשה לטכנולוגיה בוצעה והיא הוגדרה בהצלחה, ו-0 במקרים אחרים.
  • 0x01 – UWB
  • 0x02 – צלצול בערוץ BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU

נתוני העומס של הודעת Stop Ranging

גודל (לא כולל גודל הכותרת): 2 בייטים

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

תוכן ההודעה Stop Ranging מפורט בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8*2 טכנולוגיות למדידת מרחק כדי לעצור את ביט פילד שדה ביטים של טכנולוגיות למדידת מרחק שצריכות להפסיק את המדידה. ביט שמוגדר כ-1 מציין שטכנולוגיית הטווח חייבת להפסיק את מדידת הטווח, ו-0 מציין שטכנולוגיית הטווח לא הייתה בכלל במדידה, או שהיא חייבת להמשיך במדידה אם היא כבר הייתה במדידה. בטכנולוגיות מסוימות של מדידת מרחק (כמו CS), הפעולה הזו לא משמעותית כי מדידת המרחק מופעלת ומפסיקה לפעול רק בצד המפעיל.
  • 0x01 – UWB
  • 0x02 – צלצול בערוץ BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU

עומס העבודה של הודעת התגובה להפסקת הסריקה

גודל (לא כולל גודל הכותרת): 2 בייטים

תיאור: ההודעה הזו נשלחת על ידי מי שהשיב על הטופס בתגובה להודעה Stop Ranging. ההודעה הזו היא אופציונלית, והיא נדרשת רק אם בערוץ התקשורת שבו נעשה שימוש נדרש לשלוח תשובה מפורשת לכל בקשה.

תוכן ההודעה Stop Ranging Response מסכם בטבלה הבאה:

אוקטט סוג נתונים תיאור ערך
0 uint8*2 טכנולוגיות למדידת מרחק הופסק בהצלחה bitfield שדה ביט של טכנולוגיות למדידת מרחק שהפסיקו למדוד מרחק בהצלחה. בשדה ה-bitfield, הביט של טכנולוגיית הטווח מוגדר ל-1 אם הבקשה להפסקת הטכנולוגיה בוצעה והיא הופסקה בהצלחה, ו-0 במקרים אחרים.
  • 0x01 – UWB
  • 0x02 – צלצול בערוץ BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU

ניהול גרסאות

גרסת המפרט נכללת בכותרת של כל הודעה. בקטע הזה מוסבר איך מתנהלת התקשורת כשאחד מהמכשירים (המבצע או המגיב) פועל בגרסה ישנה יותר מהמכשיר השני.

מקרה 1: ערוץ תקשורת שמבוסס על חיבור

בקטע הזה מתוארים מקרים שבהם נעשה שימוש בערוץ תקשורת שמבוסס על חיבור, שבו Ranging Capability Request היא ההודעה הראשונה שנשלחת על ידי מכשיר ההתחלה.

מקרה 1.א: הגורם שמתחיל את הקריאה תומך בגרסה חדשה יותר, והגורם שמגיב תומך בגרסה ישנה יותר של המפרט.

מכשיר ההתחלה שולח את ההודעה Ranging Capability Request עם הגרסה החדשה יותר. מכשיר המשתמש המגיב תומך רק בגרסה הישנה יותר, ולכן הוא מגיב באמצעותה, ולאחר מכן הגרסה הישנה יותר של המשתמש המגיב משמשת לשאר חילופי ההודעות. כלומר, ההודעה Ranging Capability Request צריכה להיות תואמת לאחור.

מקרה 1.ב: הגורם שמתחיל את הקריאה תומך בגרסה ישנה יותר, והגורם שמגיב תומך בגרסה חדשה יותר של המפרט.

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

מקרה 2: ערוץ תקשורת שמבוסס על מודעות

בקטע הזה מתוארים מקרים שבהם נעשה שימוש בערוץ תקשורת שמבוסס על פרסום, שבו מכשיר התגובה מפרסם את Ranging Capability Request ישירות, בלי בקשה ראשונית.

מקרה 2.א: הגורם המבצע תומך בגרסה חדשה יותר, והגורם המגיב תומך בגרסה ישנה יותר של המפרט.

הגרסה הישנה יותר שמוגדרת במודעה Ranging Capability Response משמשת לשאר התקשורת.

מקרה 2.ב: הגורם שמתחיל את הקריאה תומך בגרסה ישנה יותר, והגורם שמגיב תומך בגרסה חדשה יותר של המפרט.

הגרסה החדשה של המודעה Ranging Capability Response חייבת להיות תואמת לאחור כדי שמכשיר היזום יוכל לקרוא את ההודעה, גם אם הוא משתמש בגרסה חדשה יותר. לאחר מכן, מכשיר ההתחלה שולח את ההודעה Ranging Configuration באמצעות הגרסה הישנה יותר שהוא תומך בה. זוהי הגרסה שבה נעשה שימוש בשאר התקשורת.

כדי לוודא ש-Ranging Capability Response תואם לאחור, כל שדה חדש שיתווסף לגרסה הבאה של המפרט הזה בתוכן של ההודעה Ranging Capability Response חייב להתווסף לסוף התוכן, ואי אפשר לשנות אף אחד מהשדות הקיימים. כשמבצעים ניתוח של ההגדרה, אם הגודל שצוין גדול מהצפוי, כל מכשיר שיכול להבין רק את הגרסה הקודמת של המפרט צריך להתעלם משדות נוספים.

פרגמנטציה

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

פרטים ספציפיים לטכנולוגיית הטווח

הקטע הזה מכיל פרטים ספציפיים לטכנולוגיית מדידת המרחק.

פרטים על Ultra Wideband‏ (UWB)

בקטע הזה מפורטים פרטים ספציפיים לגבי Ultra-Wideband.

מזהי תצורה

נתוני ההגדרה האישיים שמחולי המערכת (OOB) שמתחלפים ב-UWB לא מכילים קבוצה מלאה של הפרמטרים הניתנים להתאמה שדרושים ל-UWB כדי להתחיל סשן של מדידת מרחק ב-UWB. הסיבה לכך היא שחלק מהפרמטרים נבחרים באופן משתמע על ידי מזהה התצורה שנבחר.

כל מזהה תצורה הוא קבוצה של פרמטרים מוגדרים מראש של תצורת UWB, שמתועדים במסמך UwbRangingParams. המכשיר המגיב שולח רשימה של כל מזהי התצורה שהוא תומך בהם כחלק מההודעה בתגובה לבקשת היכולות, והגורם שמתחיל את הבקשה בוחר אחד ממזהי התצורה הנתמכים שבהם נעשה שימוש. כך אפשר להחליף קבוצה קטנה יותר של פרמטרים של הגדרות במהלך OOB. הוא גם מגביל את כמות השילובים האפשריים של הפרמטרים שאפשר להשתמש בהם למדידת המרחק באמצעות UWB, וכך מאפשר לבדוק רק שילובים מותרים של פרמטרים.

שליחת בקשה ליכולות אחרי כל סשן UWB

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

פרטים על יצירת צליל בערוץ BLE (CS)

בקטע הזה מתוארים פרטים ספציפיים לגבי הקול של הערוץ.

חיבור נדרש בין המכשירים

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

הפעולה הנדרשת מצוות התמיכה של הצד המגיב בנושא שירות לקוחות

ב-UWB, שני המכשירים נדרשים לבצע קריאה מפורשת ל-API של UWB כדי להתחיל ולעצור את הטווח. לעומת זאת, ב-CS, רק המכשיר המבצע את הקריאה צריך להתחיל את הטווח של ה-CS על ידי קריאה ל-Bluetooth (BT) stack. שאר תהליך האיפוס בצד המגיב מתבצע בפס דרך BT. כלומר, אם BT מופעל, בצד המגיב לא צריך לעשות שום דבר אחרי קבלת ההודעה Ranging Configuration או ההודעה Stop Ranging ל-CS. המכשיר המגיב יכול להשתמש בהודעות האלה כטריגר לעדכון ממשק המשתמש, או למשל להבהב בנורות ה-LED של המכשיר.