שינוי יכולות בזמן ריצה

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

השם של קבוצת ההודעות תמורה לכסף
אירוע מידע מהמכשירים שלך 0x03
שם קוד ההודעה תמורה לכסף
שכתוב קושחה 0x09

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

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

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

השם של קבוצת ההודעות תמורה לכסף
אירוע של סנכרון יכולת המכשיר 0x06
שם קוד ההודעה תמורה לכסף
בקשת עדכון של היכולת (נשלחה מהמחפש) 0x01
מעקב FMDN 0x03

לאחר קבלת 0x0601,

  • אם הספק הפעיל תמיכה במעקב FMDN, הוא אמור להגיב כך:
8 תווים סוג הנתונים תיאור תמורה לכסף
0 uint8 אירוע של סנכרון יכולת המכשיר 0x06
1 uint8 מעקב FMDN 0x03
3 - 2 uint16 אורך הנתונים הנוסף 0x0007
4 uint8 מצב הקצאת FMDN 0x00 אם לא הוקצה 0x01, אם הוקצה 0x01 על ידי חשבון כלשהו
5 - 10 uint8[] כתובת ה-BLE MAC הנוכחית של המכשיר משתנה