تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تغيير الإمكانات أثناء التشغيل
بما أنّه يمكن تفعيل الميزات الجديدة (مثل ضبط حجم المخزن المؤقت الديناميكي) من خلال ترقية برمجية الثابت في "موفِّر الخدمة"، نريد توفير طريقة للحصول على إمكانات "موفِّر الخدمة" أثناء التشغيل.
لتجنُّب الاستفسار عن الإمكانات بشكل متكرّر، على "المزوّد" أولاً إرسال تعديل الثابت إلى "المستخدِم" عبر بث الرسائل عند الاتصال. لذلك، نضيف رمز رسالة
جديدًا إلى مجموعة الرسائل الحالية، وهو حدث معلومات الجهاز.
اسم مجموعة الرسائل |
القيمة |
حدث معلومات الجهاز |
0x03 |
اسم رمز الرسالة |
القيمة |
نسخة البرامج الثابتة |
0x09 |
عند الحصول على رمز تحديث البرامج الثابتة، على "المستخدِم" التحقّق منه مقارنةً بالرمز المُخزَّن مؤقتًا. إذا تم تغيير إصدار البرامج الثابتة، سيعدّل "المستكشف"
إصدار البرامج الثابتة في ذاكرة التخزين المؤقت وسيستعلم عن الإمكانات من خلال Message
Stream.
نسمح أيضًا للموفّر بطرح الإمكانات مباشرةً إلى الباحث بدون
تقديم طلب أولاً، لأنّنا نتوقّع أن تُجري في المستقبل
الأجهزة الأكثر تعقيدًا (ربما المستندة إلى Android) عملية ضبط ديناميكية استنادًا إلى
العلامات لمراجعة البرامج الثابتة نفسها.
لذلك نضيف أدناه مجموعة رسائل ورموز رسائل جديدة.
اسم مجموعة الرسائل |
القيمة |
حدث مزامنة إمكانات الجهاز |
0x06 |
اسم رمز الرسالة |
القيمة |
طلب تعديل الإمكانات (تم إرساله من Seeker) |
0x01 |
تتبُّع FHN |
0x03 |
عند استلام 0x0601
،
- إذا فعّل مقدّم الخدمة ميزة تتبُّع FHN، من المفترض أن يستجيب على النحو التالي:
وحدة ثمانيّة البت |
نوع البيانات |
الوصف |
القيمة |
0 |
uint8 |
حدث مزامنة إمكانات الجهاز |
0x06 |
1 |
uint8 |
تتبُّع FHN |
0x03 |
من 2 إلى 3 |
uint16 |
طول البيانات الإضافية |
0x0007 |
4 |
uint8 |
حالة توفير FHN |
0x00 في حال عدم توفيرها، و0x01 في حال توفيرها من خلال أي حساب |
5 - 10 |
uint8[] |
عنوان MAC الحالي لتقنية BLE للجهاز |
تختلف |
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-13 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-13 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eFirmware revision is communicated from Provider to Seeker upon connection to allow for capability updates.\u003c/p\u003e\n"],["\u003cp\u003eSeeker triggers capability updates when a new firmware revision is detected or can request updates directly.\u003c/p\u003e\n"],["\u003cp\u003eProvider can proactively push capability updates to the Seeker without a prior request.\u003c/p\u003e\n"],["\u003cp\u003eA new message group and codes are introduced to support device capability synchronization and FMDN tracking.\u003c/p\u003e\n"],["\u003cp\u003eFMDN tracking capability allows the Seeker to know the provisioning status and BLE MAC address of the Provider.\u003c/p\u003e\n"]]],[],null,["Change Capabilities at Runtime\n------------------------------\n\nSince new features (e.g. dynamic buffer sizing) can be enabled by upgrading\nfirmware on the Provider, we want to provide a way to get the capabilities of\nthe Provider at runtime.\nTo avoid repeatedly querying capabilities, first, the Provider should send the\nfirmware revision to the Seeker via message stream when connected. So we add a\nnew message code to the existing message group, device information event.\n\n| Message Group Name | Value |\n|--------------------------|-------|\n| Device information event | 0x03 |\n\n| Message Code Name | Value |\n|-------------------|-------|\n| Firmware revision | 0x09 |\n\nUpon getting the firmware revision code, the Seeker shall check it against the\ncached one. If the firmware revision has been changed, the Seeker will update\nthe firmware revision of the cache and query the capabilities via Message\nStream.\n\nWe also allow the Provider to directly push capabilities to the Seeker without\na request first, because we imagine that, in the future, more sophisticated\ndevices (maybe Android-based) will do dynamic configuration based on\nflags for the same firmware revision.\n\nSo we add below a new message group and message codes.\n\n| Message Group Name | Value |\n|------------------------------|-------|\n| Device capability sync event | 0x06 |\n\n| Message Code Name | Value |\n|----------------------------------------------|-------|\n| Request capability update (sent from Seeker) | 0x01 |\n| FHN tracking | 0x03 |\n\nUpon receiving `0x0601`,\n\n- if the Provider has enabled support for FHN tracking, it should respond as below:\n\n| Octet | Data Type | Description | Value |\n|--------|-----------|-------------------------------------------|-----------------------------------------------------------|\n| 0 | uint8 | Device capability sync event | 0x06 |\n| 1 | uint8 | FHN tracking | 0x03 |\n| 2 - 3 | uint16 | Additional data length | 0x0007 |\n| 4 | uint8 | FHN provisioning state | 0x00 if unprovisioned; 0x01 if provisioned by any account |\n| 5 - 10 | uint8\\[\\] | The current BLE MAC address of the device | *varies* |"]]