טווח: רצף הודעות מחוץ לפס ומפרט מטען ייעודי (payload)

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

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

הטמעה של המפרט הזה ב-Packet Description Language (PDL) של Google זמינה ב-GitHub. מההטמעה הזו, קומפיילר ה-PDL יכול ליצור קוד סריאליזציה ודה-סריאליזציה להודעות שמוגדרות במפרט הזה. הוא תומך במגוון שפות יעד, כולל C++‎, ‏ Rust ו-Java.

הודעות ורצף הודעות

בקטע הזה מתוארות ההודעות ורצף חילופי ההודעות.

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

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

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

בערוצי תקשורת שמבוססים על חיבור, כמו Bluetooth Low Energy‏ (BLE) ופרופיל מאפיינים כללי (GATT), חילופי ההודעות מתחילים כשהמכשיר היוזם שולח Ranging Capability Request למכשיר המשיב. המכשיר המשיב שולח בתגובה Ranging Capability Response, כמו שמוצג באיור 1:

זרימת נתונים בערוץ תקשורת מבוסס-חיבור

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

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

תהליך של ערוץ תקשורת שמבוסס על פרסום

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

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

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

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

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

בקטע הזה מפורטים המזהים של טכנולוגיות הטווח: Ultra Wideband (UWB)‎,‏ Bluetooth Low Energy (BLE) Channel Sounding (CS)‎,‏ Wi-Fi Neighbor Awareness Networking (NAN) Round-Trip Time (RTT)‎ ו-Received Signal Strength Indicator (RSSI)‎.

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

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

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

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

פורמט הודעה

כל הודעה מורכבת מכותרת וממטען ייעודי.

פורמט הודעה

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

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

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

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

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

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

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

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

מטען ייעודי (payload) של הודעה לבקשת יכולת טווח

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

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

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

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

מטען ייעודי (payload) של הודעת תגובה עם יכולת מדידה

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

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

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

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

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

Octet סוג נתונים תיאור ערך
0 uint8 מזהה טכנולוגיית טווח 0x0 – UWB
1 uint8 גודל גודל היכולות של UWB בבייטים (כולל השדות מזהה הטכנולוגיה וגודל) בבייטים.
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 – תפקיד המשיב נתמך

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

Octet סוג נתונים תיאור ערך
0 uint8 מזהה טכנולוגיית טווח 0x1 – BLE CS
1 uint8 גודל גודל היכולות של BLE CS בבייטים (כולל השדות מזהה הטכנולוגיה וגודל) בבייטים.
2 uint8 שדה סיביות של סוג אבטחה נתמך שדה סיביות של סוגי אבטחה נתמכים עבור BLE CS.
  • 0x01CS_SECURITY_LEVEL_UNKNOWN
  • 0x02CS_SECURITY_LEVEL_ONE
  • 0x04CS_SECURITY_LEVEL_TWO
  • 0x08CS_SECURITY_LEVEL_THREE
  • 0x10CS_SECURITY_LEVEL_FOUR
3 uint8*6 כתובת המכשיר הכתובת של המכשיר שמשמש ל-BLE CS, בסדר Big Endian.

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

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

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

Octet סוג נתונים תיאור ערך
0 uint8 מזהה טכנולוגיית טווח 0x3 – BLE RSSI
1 uint8 גודל הגודל בבייטים של יכולות BLE RSSI (כולל השדות מזהה טכנולוגיה וגודל)
2 uint8*6 כתובת המכשיר הכתובת של המכשיר שמשמש ל-RSSI של BLE; בסדר Big Endian

מטען ייעודי (payload) של הודעת הגדרה של טווח

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

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

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

Octet סוג נתונים תיאור ערך
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 מערך בייטים בייטים של הגדרות טכנולוגיות לחישוב מרחקים בלוקים חוזרים של מבנים שמוגדרים לפי טכנולוגיה

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

Octet סוג נתונים תיאור ערך
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, שני הבייטים הראשונים הם VENDOR ID (מזהה הספק) וששת הבייטים הבאים הם STATIC STS IV (ווקטור אתחול סטטי של STS). אם נעשה שימוש ב-P-STS, זהו מפתח סשן של 16 או 32 בייט. סוג האבטחה שבו נעשה שימוש נקבע לפי מזהה ההגדרה.
משתנה uint8*2 קוד המדינה קוד מדינה לפי תקן ISO 3166-1 alpha-2, שמיוצג על ידי שני תווים ב-ASCII
משתנה uint8 התפקיד של המכשיר שנבחר
  • 0x01 – מאתחל
  • 0x02 – משיב
משתנה uint8 מצב המכשיר שנבחר
  • 0x01 – בקר
  • 0x02 – Controlee

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

Octet סוג נתונים תיאור ערך
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

בטבלה הבאה מפורט מטען הייעודי (payload) של הודעת ה-RTT של Wi-Fi NAN:Ranging Configuration

Octet סוג נתונים תיאור ערך
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 – הפעלה של טווח תקופתי

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

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

מטען ייעודי (payload) של הודעת תגובה להגדרת טווח

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

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

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

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

הפסקת המטען הייעודי (payload) של הודעת הטווח

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

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

בטבלה הבאה מפורט מטען הנתונים של ההודעה Stop Ranging:

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

הפסקת יצירת מטען ייעודי (payload) של הודעת תגובה לטווח

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

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

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

Octet סוג נתונים תיאור ערך
0 uint8*2 Ranging technologies stopped successfully 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 תואם לאחור, כל השדות החדשים שנוספים למטען הייעודי (payload) של ההודעה Ranging Capability Response בגרסה הבאה של המפרט הזה צריכים להופיע בסוף המטען הייעודי, ואסור לשנות אף אחד מהשדות הקיימים. כשמנתחים את ההגדרה, אם הגודל שצוין גדול מהצפוי, כל מכשיר שיכול להבין רק את הגרסה הישנה של המפרט צריך להתעלם משדות נוספים.

פרגמנטציה

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

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

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

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

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

מזהי הגדרות

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

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

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

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

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

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

הקשר הנדרש בין המכשירים

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

נדרשת פעולה במכשיר המשיב עבור CS

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