פרטי המכשיר

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

השם של קבוצת ההודעות תמורה לכסף
אירוע מידע מהמכשירים שלך 0x03
שם הקוד של מידע מהמכשירים שלך תמורה לכסף
מזהה דגם 0x01
כתובת BLE עודכנה 0x02
הסוללה עודכנה 0x03
הזמן שנשאר לסוללה 0x04
בקשה לרכיבים פעילים 0x05
תגובת הרכיבים הפעילים 0x06
יכולות (הוצא משימוש) 0x07
סוג הפלטפורמה 0x08
גרסת הקושחה 0x09
מזהה זמני FMDN הנוכחי 0x0ב

מזהה דגם

צריך לשלוח למחפש את פרטי מזהה המודל (ל-Retroactively Write AccountKey) כאשר RFCOMM מתחבר. לדוגמה, 0x03010003AABBCC ייראה כך:

  • 0x03: אירוע של פרטי מכשיר
  • 0x01: ערך מזהה מודל
  • 0x0003: נתונים נוספים, אורך 3
  • 0xAABBCC: נתונים נוספים, מזהה מודל

כתובת BLE

יש לשלוח את פרטי הכתובת ב-BLE (ל-Retroactively Write AccountKey) , אם אפשר, גם למחפש כשמתחברים באמצעות RFCOMM ובכל פעם שמתבצע רוטציה של הכתובת. למשל, הערך של 0x03020006AABBCCDDEEFF יהיה:

  • 0x03: אירוע של פרטי מכשיר
  • 0x02: ערך כתובת BLE
  • 0x0006: נתונים נוספים, אורך 6
  • 0xAABBCCDDEEFF: נתונים נוספים, כתובת BLE

הסוללה עודכנה

לספקים שתומכים בהתראות לגבי הסוללה, אפשר לשלוח מידע על הסוללה גם דרך RFCOMM. כש-RFCOMM מתחבר או שערך הסוללה משתנה, צריך לשלוח עדכון. קטע הנתונים הנוספים בחבילה צריך להכיל נתונים זהים לבייטים s + 2, s + 3, s + 4 כשמפרסמים נתוני סוללה ב-BLE. למשל,הערך של 0x0303000357417F יהיה:

  • 0x03: אירוע של פרטי מכשיר
  • 0x03: ערך הסוללה
  • 0x0003: נתונים נוספים, אורך 3
  • 0x57417F: נתונים נוספים, ערכי סוללה
    • 0x57: ערך האוזנייה השמאלית, לא בטעינה, סוללה של 87%
    • 0x41: ערך האוזנייה הימנית, לא בטעינה, סוללה של 65%
    • 0x7F: ערך הנרתיק, לא נטען, הסוללה לא ידועה

הספקים יכולים גם לעדכן את זמן הסוללה שנותר (אם ידוע). לדוגמה, הערך של 0x03040001F0 ייראה כך:

  • 0x03: אירוע של פרטי מכשיר
  • 0x04: זמן הסוללה שנותר
  • 0x0001: נתונים נוספים, אורך 1 (עשוי להיות 2 עבור uint16 במקרה הצורך).
  • 0xF0: נתונים נוספים, זמן סוללה שנותר בדקות, 240 דקות

רכיבים פעילים

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

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

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

  • 0x00 (0b00000000): אף אוזנייה לא פעילה
  • 0x01 (0b00000001): אוזניית ימין פעילה, שמאל לא פעיל
  • 0x02 (0b00000010): האוזנייה השמאלית פעילה, הימנית לא פעילה
  • 0x03 (0b00000011): שתי האוזניות פעילות

סוג פלטפורמה

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

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

שם הפלטפורמה תמורה לכסף
Android 0x01

הבייט השני יותאם אישית לכל פלטפורמה. ב-Android, השם יתייחס לגרסת ה-SDK. לדוגמה, הערך של Android Pie יהיה 28 (0x1C).

גרסת הקושחה

גרסת הקושחה של הספק כמחרוזת בקידוד utf-8. זה אותו מידע שמופיע במאפיין גרסת הקושחה.

מזהה זמני FMDN הנוכחי

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

למשל:

  • 0x03: אירוע של פרטי מכשיר
  • 0x0B: הודעה נוכחית של מזהה זמני FMDN
  • 0x0018: נתונים נוספים, אורך 24 או 36 בייטים
  • 0x13F9EA80: נתונים נוספים (ערך השעון, 4 בייטים)
  • 0x1122334455667788990011223344556677889900: נתונים נוספים (EID הנוכחי, 20 או 32 בייטים)