איתור מדויק באמצעות "מרכז המכשירים שלי"
המפרט של תכונת האיתור המדויק של מרכז המכשירים שלי (FHPF) כולל דרישות להטמעה של הפעלת מכשירים שתומכים בטכנולוגיות לחישוב מרחק, כדי לתמוך בתכונת האיתור המדויק באמצעות אפליקציית 'איפה המכשיר שלי' של Google.
סוג האיתור המדויק תלוי בסוג טכנולוגיות המרחק שנתמכות במכשירים שמשתתפים באיתור המדויק. טכנולוגיות נתמכות למדידת מרחק מפורטות במפרט מדידת מרחק: רצף הודעות ומטען ייעודי (payload) מחוץ לפס. בקטעים הבאים מוסבר איזו חוויית חיפוש מדויקת אפשר לצפות לה בהתאם לטכנולוגיית הטווח שבה נעשה שימוש.
אביזר לרשת "מרכז המכשירים שלי"
המפרט הזה הוא הרחבה של מפרט האביזרים לרשת 'מרכז המכשירים שלי' (FHNA). אותם כללים שחלים על מאפיין GATT ועל אימות חלים גם כאן, כפי שמוגדר במסמך FHNA. במסמך הזה מוגדרים סוגים חדשים של פעולות, בנוסף לפעולות שכבר קיימות במפרט FHNA.
מטען ייעודי (payload) של טכנולוגיות לחישוב מרחקים
במפרט הזה יש גם הפניה למפרט הטווח: רצף הודעות מחוץ לפס ומטען ייעודי (payload) כדי להגדיר מטען ייעודי (payload) ספציפי לטכנולוגיית מדידת טווח, שמופיע בשדות Additional Data של פעולות ספציפיות.
תהליך האיתור המדויק
בקטע הזה מוסבר על זרימת ההודעות של FHNA לצורך חיפוש מדויק. באיור 1 מוצגת זרימת ההודעות, ובפסקאות מוסברות כל ההודעות בפירוט רב יותר.
איור 1: תהליך אופייני של הודעות לחיפוש מדויק
המכשיר היוזם הוא המכשיר שמותקנת בו האפליקציה "מרכז המכשירים שלי", ושהופעלה בו התכונה 'איתור מדויק'. המכשיר היוזם הוא המכשיר שמנסה לאתר את המכשיר השני.
מכשיר המשיב הוא המכשיר שמכשיר היוזם מנסה לאתר.
המכשיר היוזם שולח הודעת בקשה לקביעת מרחק למכשיר המשיב, שבה הוא מפרט את הטכנולוגיות לקביעת מרחק שהוא רוצה לקבל מידע לגביהן מהמכשיר המשיב. המכשיר המשיב ישלח בחזרה את ההתראה Ranging Capability Response (תגובה לגבי יכולת מדידת מרחק), שתכיל מידע לגבי טכנולוגיות מדידת המרחק הנתמכות והיכולות שלהן. התשובה תכלול רק מידע שהתבקש על ידי מי שיזם את הבקשה. רשימת היכולות תמוין לפי העדיפות של טכנולוגיית מדידת המרחק שהמכשיר המשיב מעדיף, כשהיכולת הראשונה ברשימה היא בעדיפות הגבוהה ביותר.
לאחר מכן, המכשיר היוזם ישלח הודעת הגדרת טווח, שבה הוא יגדיר את ההגדרה לכל טכנולוגיית מדידת טווח שהוא רוצה למדוד איתה את הטווח. כשמכשיר המשיב מקבל את ההודעה הזו, הוא צריך להתחיל למדוד את המרחק באמצעות הטכנולוגיות הרלוונטיות, בהתאם להגדרות שסופקו. המכשיר המשיב ישלח בחזרה הודעת תגובה של הגדרת טווח, שתכיל את התוצאות של כל טכנולוגיית מדידת טווח שהופעלה בהצלחה. כדי להפעיל טכנולוגיות מסוימות למדידת מרחק, צריך להפעיל אותן גם במכשיר היוזם וגם במכשיר המשיב. בטכנולוגיות אחרות, מספיק להפעיל אותן במכשיר היוזם, אבל עדיין, מכשיר המשיב צריך להשיב עם תוצאה של הצלחה. מידע נוסף על ההתנהגות של טכנולוגיות ספציפיות לטווח מופיע בקטעים הבאים.
כשהמכשיר היוזם מוכן להפסיק את הפעלת התכונה 'איתור מדויק', הוא שולח הודעה על הפסקת מדידת המרחק למכשיר המגיב, ומציין אילו טכנולוגיות למדידת מרחק צריכות להפסיק את מדידת המרחק. מכשיר המשיב יגיב בהתראה על הפסקת מדידת המרחק, שתציין שהוא הפסיק בהצלחה את מדידת המרחק באמצעות טכנולוגיות מדידת המרחק המבוקשות.
במקרה של ניתוק ערוץ התקשורת FHNA BLE GATT באמצע סשן של חיפוש מדויק, אבל בזמן שחלק מטכנולוגיות המדידה עדיין פועלות, מכשיר המשיב יפעיל מנגנון פסק זמן כדי לוודא שהוא לא ימדוד טווח ללא הגבלת זמן. הפרטים משתנים בהתאם לתרחיש לדוגמה.
הערה: המכשיר שמגיב לא יכול להניח שסדר הפעולות תמיד יהיה זהה. לדוגמה, המכשיר המשיב צריך להיות מסוגל לטפל בכמה פעולות של בקשות לזיהוי טווח ברצף, או אפילו בפעולה ישירה של הגדרת טווח בלי בקשת היכולת הקודמת.
תפעול
בטבלה 1 מוצגות פעולות FHNA שמוגדרות במסמך הזה ונדרשות לחיפוש מדויק. כל חלק משנה מגדיר את הודעת ה-FHNA לכל אחת מהפעולות, בעוד שתוכן השדה Additional Data מתייחס למפרט Ranging: Out-of-band message sequence and payload.
טבלה 1: פעולות
פעולה | מזהה נתונים | תיאור |
---|---|---|
בקשה ליכולת טווח | 0x0A | פעולת בקשת היכולת שתשלח ממכשיר היוזם למכשיר המשיב. בתוכן הנתונים של הפעולה הזו יפורטו כל טכנולוגיות המדידה שהמכשיר היוזם רוצה לדעת עליהן מהמכשיר המגיב. |
תגובה של יכולת מדידת מרחק | 0x0A | זוהי תגובת ההתראה לפעולה Ranging Capability Request. הוא מכיל מידע על היכולות של כל טכנולוגיית טווח נתמכת שהמפעיל ביקש. |
הגדרת טווח | 0x0B | פעולת הגדרת טווח מכילה את ההגדרות של טכנולוגיות לקביעת טווח שהמכשיר היוזם רוצה להתחיל לקבוע את הטווח שלהן עם המכשיר המשיב. |
תגובה להגדרת טווח | 0x0B | זוהי תגובת ההתראה לפעולה Ranging Configuration. הוא מכיל נתונים לגבי התחלת מדידת הטווח במכשיר המשיב באמצעות טכנולוגיות מדידת הטווח המבוקשות, על סמך ההגדרה שסופקה. |
RFU | 0x0C | הפעולה עם מזהה הנתונים הזה לא נמצאת בשימוש והיא שמורה לשימוש עתידי. |
הפסקת מדידת הטווח | 0x0D | פעולת עצירת המדידה שנשלחת מהמכשיר היוזם מכילה מידע על טכנולוגיות המדידה שהמכשיר המגיב צריך להפסיק למדוד איתן. |
הפסקת התשובה של טווח התאים | 0x0D | זוהי תגובת ההתראה לפעולה Stop Ranging. הוא מכיל נתונים לגבי הצלחת הפסקת הפעולה של טכנולוגיית מדידת מרחק ספציפית. |
הודעת בקשה ליכולת טווח
טבלה 2 מגדירה את הודעת הבקשה של יכולת הטווח.
טבלה 2: בקשה להגדרת טווח
Octet | סוג הנתונים | תיאור | ערך |
---|---|---|---|
0 | uint8 | מזהה נתונים | 0x0A – פעולת בקשת יכולת מדידת מרחק |
1 | uint8 | אורך הנתונים | משתנה |
2 | מערך בייטים | מפתח אימות חד-פעמי | 8 הבייטים הראשונים של HMAC-SHA256(מפתח החשבון, מספר הגרסה הראשית של הפרוטוקול || הערך האחרון של ה-nonce שנקרא מהמאפיין || מזהה הנתונים || אורך הנתונים || נתונים נוספים). |
10 | מערך בייטים | נתונים נוספים | הודעת בקשה ליכולת מדידת מרחק כפי שמוגדר במפרט מדידת מרחק: רצף הודעות ומטען ייעודי (payload) מחוץ לתחום (גם הכותרת וגם המטען הייעודי) |
הודעת תגובה של Ranging Capability
בטבלה 3 מוגדרת הודעת התגובה של יכולת הטווח.
טבלה 3: תגובה של יכולת טווח
Octet | סוג הנתונים | תיאור | ערך |
---|---|---|---|
0 | uint8 | מזהה נתונים | 0x0A: תגובה על יכולת מדידת מרחק |
1 | uint8 | אורך הנתונים | משתנה |
2 | מערך בייטים | מפתח אימות חד-פעמי | 8 הבייטים הראשונים של HMAC-SHA256(מפתח החשבון, מספר הגרסה הראשית של הפרוטוקול || הערך האחרון של ה-nonce שנקרא מהמאפיין || מזהה הנתונים || אורך הנתונים || נתונים נוספים || 0x01). |
10 | מערך בייטים | נתונים נוספים | הודעת תגובה על יכולת מדידת מרחק כפי שמוגדר במפרט מדידת מרחק: רצף הודעות ומטען ייעודי (payload) מחוץ לפס (גם הכותרת וגם המטען הייעודי) |
הודעת הגדרת טווח
בטבלה 4 מוגדרת ההודעה Ranging Configuration.
טבלה 4: הגדרת טווח
Octet | סוג הנתונים | תיאור | ערך |
---|---|---|---|
0 | uint8 | מזהה נתונים | 0x0B – הגדרת טווח |
1 | uint8 | אורך הנתונים | משתנה |
2 | מערך בייטים | מפתח אימות חד-פעמי | 8 הבייטים הראשונים של HMAC-SHA256(מפתח החשבון, מספר הגרסה הראשית של הפרוטוקול || הערך האחרון של ה-nonce שנקרא מהמאפיין || מזהה הנתונים || אורך הנתונים || נתונים נוספים). |
10 | מערך בייטים | נתונים נוספים | ההודעה Ranging Configuration (הגדרת טווח) כפי שמוגדר במפרט Ranging: Out-of-band message sequence and payload (גם הכותרת וגם מטען הייעודי) |
הודעת תגובה להגדרת טווח
בטבלה 5 מוגדרת הודעת התגובה של הגדרת הטווח.
טבלה 5: תגובה להגדרת טווח
Octet | סוג הנתונים | תיאור | ערך |
---|---|---|---|
0 | uint8 | מזהה נתונים | 0x0B – הגדרת תגובה להגדרת טווח |
1 | uint8 | אורך הנתונים | משתנה |
2 | מערך בייטים | מפתח אימות חד-פעמי | 8 הבייטים הראשונים של HMAC-SHA256(מפתח החשבון, מספר הגרסה הראשית של הפרוטוקול || הערך האחרון של ה-nonce שנקרא מהמאפיין || מזהה הנתונים || אורך הנתונים || נתונים נוספים || 0x01). |
10 | מערך בייטים | נתונים נוספים | הודעת Ranging Configuration Response (תגובה להגדרת טווח) כפי שמוגדר במפרט Ranging: Out-of-band message sequence and payload (גם הכותרת וגם מטען הייעודי). |
הודעה על הפסקת הטווח
בטבלה 6 מוגדרת ההודעה Stop Ranging.
טבלה 6: הפסקת השימוש בטווח
Octet | סוג הנתונים | תיאור | ערך |
---|---|---|---|
0 | uint8 | מזהה נתונים | 0x0D – עצירה של מדידת טווח |
1 | uint8 | אורך הנתונים | משתנה |
2 | מערך בייטים | מפתח אימות חד-פעמי | 8 הבייטים הראשונים של HMAC-SHA256(מפתח החשבון, מספר הגרסה הראשית של הפרוטוקול || הערך האחרון של ה-nonce שנקרא מהמאפיין || מזהה הנתונים || אורך הנתונים). |
10 | מערך בייטים | נתונים נוספים | הודעת Stop Ranging כפי שמוגדר במפרט Ranging: Out-of-band message sequence and payload (גם הכותרת וגם המטען הייעודי). |
הודעה על הפסקת מדידת המרחק
בטבלה 7 מוגדרת ההודעה Stop Ranging Response.
טבלה 7: Stop Ranging Response
Octet | סוג הנתונים | תיאור | ערך |
---|---|---|---|
0 | uint8 | מזהה נתונים | 0x0D – תגובה לעצירת טווח |
1 | uint8 | אורך הנתונים | משתנה |
2 | מערך בייטים | מפתח אימות חד-פעמי | 8 הבייטים הראשונים של HMAC-SHA256(מפתח החשבון, מספר הגרסה הראשית של הפרוטוקול || הערך האחרון של ה-nonce שנקרא מהמאפיין || מזהה הנתונים || אורך הנתונים || נתונים נוספים || 0x01). |
10 | מערך בייטים | נתונים נוספים | ההודעה Stop Ranging Response כפי שמוגדר במפרט Ranging: Out-of-band message sequence and payload (גם הכותרת וגם המטען הייעודי). |
הגנה מפני מעקב לא רצוי
כשמצב ההגנה מפני מעקב לא רצוי מופעל, כמו שמתואר במפרט FHNA, אותו התהליך שחל על דילוג על בדיקות אימות להודעות שיחה נכנסת חל גם על כל ההודעות של איתור מיקום מדויק שמוגדרות במסמך הזה למכשירים שרוצים לתמוך בתכונה הזו.
מתוך המפרט של FHNA:
אם הספק לא הוקצה כאות FHNA או שהאימות נכשל, המערכת מחזירה שגיאה לא מאומתת. עם זאת, אם לספק יש הגנה לא רצויה מפני מעקב והבקשה להפעלת ההגנה הלא רצויה מפני מעקב כללה את הדגל skip ringing authentication, הספק צריך לדלג על הבדיקה הזו. הנתונים לאימות עדיין צריכים להישלח על ידי המבקש, אבל אפשר להגדיר אותם לערך שרירותי.
פרטים ספציפיים על טכנולוגיית מדידת מרחק
בקטע הזה מפורטים פרטים שספציפיים לטכנולוגיית הטווח.
פרטים על Ultra Wideband (UWB)
פרטים ספציפיים לגבי UWB.
רמת הדיוק של התכונה 'איתור מדויק'
במהלך סשנים של איתור מדויק באמצעות UWB כטכנולוגיית מדידת הטווח, אפשר לצפות לראות מידע על המרחק ועל הכיוון. מרווח המדידה צריך להיות לפחות 240ms, אבל מומלץ להשתמש ב-96ms כדי לקבל הדרכה אופטימלית.
מזהי הגדרות
נתוני ההגדרה מחוץ לתחום התדרים שמוחלפים ב-UWB לא מכילים קבוצה מלאה של פרמטרים זמינים להגדרה שנדרשים ל-UWB כדי להתחיל סשן של מדידת מרחק ב-UWB. חלק מהפרמטרים נבחרים באופן מרומז על ידי מזהה ההגדרה שנבחר.
כל מזהה הגדרה הוא קבוצה של פרמטרים מוגדרים מראש של UWB שמתועדים באופן פומבי. למקרה השימוש של איתור מדויק, מכשיר המשיב צריך לתמוך במזהה הגדרה 6, ובאופן אופציונלי במזהה הגדרה 3.
מאותת UWB ומגיב UWB
בתרחיש השימוש של חיפוש מדויק, המכשיר שמצוין כמכשיר היוזם במסמך הזה יהיה המכשיר המגיב ב-UWB, והמכשיר שמצוין כמכשיר המגיב במסמך הזה יהיה המכשיר היוזם ב-UWB. הסיבה לכך היא שמכשיר יוזם UWB צורך פחות חשמל ממכשיר מגיב UWB, וברוב המקרים מכשיר המגיב יהיה ציוד היקפי עם סוללה מוגבלת.
המשמעות היא שמכשיר המשיב צריך לציין שהוא תומך בתפקיד של יוזם UWB בהודעת התגובה של יכולת מדידת הטווח.
פרמטרים אחרים שקשורים ל-UWB
- צריך לתמוך בערוץ 9
- כדי לקבל הנחיות אופטימליות, מומלץ להשתמש במרווח מדידה של 96ms. אחרת, צריך לתמוך במרווח של 240ms.
- מומלץ להשתמש במשך זמן של 1ms לכל משבצת כדי לחסוך בסוללה, אבל גם משך זמן של 2ms נתמך.
- השבב ל-UWB צריך להיות תואם לפחות ל-FIRA v1.2 + P-STS.
- המאפיין BPRF הוא חובה, והמאפיין HPRF הוא אופציונלי אבל מומלץ. המצב הנתמך או הנבחר נקבע לפי אינדקס הפתיח הנתמך או הנבחר.
- סוג האבטחה של הסשן: P-STS
פרטים על בדיקת תקינות הערוץ (CS) ב-BLE
פרטים ספציפיים ל-BLE CS.
רמת הדיוק של התכונה 'איתור מדויק'
במהלך סשנים של איתור מדויק שבהם נעשה שימוש ב-CS כטכנולוגיית טווח, יתבצעו מדידות של מרחק בלבד. בשלב הזה לא מסופק מידע על כיוון.
הקשר הנדרש בין המכשירים
הפעלת חיפוש מדויק באמצעות בדיקת ערוצים לא תפעל אם המכשירים לא מקושרים. נדרש קשר קיים בין המכשיר שיוזם את ההתאמה לבין המכשיר שמגיב. המפרט הזה לא מספק דרך ליצירת קשר בין המכשירים. במקום זאת, מפתח תרחיש השימוש צריך ליצור את הקשר הזה בין המכשירים.
נדרשת פעולה מצד המשיב ב-CS
בניגוד ל-UWB, שבו שני המכשירים נדרשים לקרוא ל-API של UWB כדי להתחיל ולסיים את מדידת המרחק, ב-CS נדרש רק המכשיר היוזם כדי להתחיל את מדידת המרחק ב-CS באמצעות קריאה למערך הפרוטוקולים של Bluetooth. שאר ההפעלה בצד המכשיר המגיב מתבצעת בתוך הפס באמצעות Bluetooth (BT). המשמעות היא שכאשר מתקבלת הודעת הגדרת טווח או הודעת עצירת טווח עבור CS, הצד המשיב לא צריך לעשות כלום אם Bluetooth מופעל, מלבד להשיב עם הודעת ההתראה על תגובת הגדרת הטווח. המכשיר המשיב יכול להשתמש בהודעות האלה כטריגר לעדכון ממשק המשתמש אם יש מסך, או ללא קשר למסך, כדי לספק משוב חזותי על מצב המכשיר, למשל להבהב את נוריות ה-LED של המכשיר.
Wi-Fi NAN RTT
פרטים ספציפיים על Wi-Fi NAN RTT.
רמת הדיוק של התכונה 'איתור מדויק'
במהלך סשנים של חיפוש מדויק באמצעות Wi-Fi NAN RTT כטכנולוגיית הטווח, יתבצעו מדידות של המרחק בלבד. בשלב הזה לא מסופק מידע על הכיוון.
BLE RSSI
פרטים ספציפיים של BLE RSSI.
רמת הדיוק של התכונה 'איתור מדויק'
בסשנים של חיפוש מדויק שבהם נעשה שימוש רק ב-BLE RSSI כטכנולוגיית מדידת הטווח, לא ניתן לקבל את פרטי המרחק או הכיוון, כי BLE RSSI היא לא טכנולוגיה מדויקת למדידת טווח. במקום זאת, המשתמש יראה הנחיות שמציינות שהמכשיר קרוב או שהמכשיר רחוק.