डिवाइस की जानकारी

सेवा देने वाली कंपनियां, डिवाइस की जानकारी के बारे में सूचना देने वाले व्यक्ति को मैसेज स्ट्रीम के ज़रिए सूचना दे सकती हैं.

मैसेज ग्रुप का नाम मान
डिवाइस की जानकारी का इवेंट 0x03
डिवाइस की जानकारी का कोड नेम मान
मॉडल आईडी 0x01
BLE पता अपडेट किया गया 0x02
बैटरी की जानकारी अपडेट की गई 0x03
बैटरी का बचा हुआ समय 0x04
चालू कॉम्पोनेंट का अनुरोध 0x05
चालू कॉम्पोनेंट के बारे में जानकारी 0x06
(अब सेवा में नहीं है)सुविधाएं 0x07
प्लैटफ़ॉर्म का टाइप 0x08
फ़र्मवेयर का वर्शन 0x09
मौजूदा FHN का कुछ समय के लिए इस्तेमाल होने वाला आइडेंटिफ़ायर 0x0B

मॉडल आईडी

मॉडल आईडी की जानकारी (AccountKey को पिछली तारीख से लिखने के लिए) को, मैसेज स्ट्रीम कनेक्ट होने पर Seeker को भेजा जाना चाहिए. उदाहरण के लिए, 0x03010003AABBCC इस तरह दिखेगा:

  • 0x03: डिवाइस की जानकारी का इवेंट
  • 0x01: मॉडल आईडी की वैल्यू
  • 0x0003: अतिरिक्त डेटा, लंबाई 3
  • 0xAABBCC: अतिरिक्त डेटा, मॉडल आईडी

BLE पता

अगर बीएलई पते की जानकारी उपलब्ध है, तो उसे भी Seeker को भेजा जाना चाहिए. ऐसा तब किया जाना चाहिए, जब Message Stream कनेक्ट हो और जब भी पता रोटेट किया जाए. यह जानकारी, Retroactively Writing AccountKey के लिए ज़रूरी है. उदाहरण के लिए, 0x03020006AABBCCDDEEFF यह होगा:

  • 0x03: डिवाइस की जानकारी का इवेंट
  • 0x02: बीएलई पते की वैल्यू
  • 0x0006: अतिरिक्त डेटा, लंबाई 6
  • 0xAABBCCDDEEFF: अतिरिक्त डेटा, बीएलई पता

बैटरी की जानकारी अपडेट की गई

बैटरी की सूचनाएं पाने की सुविधा देने वाली कंपनियों के लिए, बैटरी की जानकारी मैसेज स्ट्रीम के ज़रिए भी भेजी जा सकती है. जब मैसेज स्ट्रीम कनेक्ट हो जाती है या बैटरी की वैल्यू बदल जाती है, तब अपडेट भेजा जाना चाहिए. बीएलई पर बैटरी के डेटा का विज्ञापन दिखाते समय, पैकेट के अतिरिक्त डेटा सेक्शन में, बाइट s + 2, s + 3, s + 4 के जैसा ही डेटा होना चाहिए. उदाहरण के लिए, 0x0303000357417F यह होगा:

  • 0x03: डिवाइस की जानकारी का इवेंट
  • 0x03: बैटरी की वैल्यू
  • 0x0003: अतिरिक्त डेटा, लंबाई 3
  • 0x57417F: अतिरिक्त डेटा, बैटरी की वैल्यू
    • 0x57: बाएं बड की वैल्यू, चार्ज नहीं हो रहा है, 87% बैटरी
    • 0x41: दाएं बड की वैल्यू, चार्ज नहीं हो रहा है, 65% बैटरी
    • 0x7F: केस वैल्यू, बैटरी चार्ज नहीं हो रही है, बैटरी की जानकारी नहीं है

सेवा देने वाली कंपनियां, बैटरी के बचे हुए समय को भी अपडेट कर सकती हैं. उदाहरण के लिए, 0x03040001F0 इस तरह दिखेगा:

  • 0x03: डिवाइस की जानकारी का इवेंट
  • 0x04: बैटरी के चलने का बचा हुआ समय
  • 0x0001: अतिरिक्त डेटा, लंबाई 1 (ज़रूरत पड़ने पर uint16 के लिए 2 हो सकती है.)
  • 0xF0: अतिरिक्त डेटा, बैटरी का बचा हुआ समय मिनटों में, 240 मिनट

चालू कॉम्पोनेंट

कभी-कभी, डिवाइसों की जानकारी ढूंढने वाले लोगों को यह जानना होता है कि फ़िलहाल कौनसे कॉम्पोनेंट चालू हैं. इसका मतलब है कि उन पर कार्रवाई की जा सकती है (डिवाइस से जुड़ी कार्रवाइयां देखें). जब सेवा देने वाली कंपनी को चालू कॉम्पोनेंट का अनुरोध कोड (0x05) वाला अनुरोध मिलता है, तो उसे एक सेकंड के अंदर जवाब देना चाहिए. इससे सेवा देने वाली कंपनी की मौजूदा स्थिति के बारे में पता चलता है. जवाब में, चालू कॉम्पोनेंट के रिस्पॉन्स का कोड (0x06) इस्तेमाल किया जाएगा. साथ ही, इसमें यह बताने वाला अतिरिक्त डेटा भी शामिल होगा कि कौनसे कॉम्पोनेंट उपलब्ध हैं.

अगर किसी सेवा देने वाली कंपनी के पास सिर्फ़ एक कॉम्पोनेंट है और उसके लिए अतिरिक्त डेटा उपलब्ध नहीं है, तो उसे 0x00 पर सेट किया जाना चाहिए. इसका एक उदाहरण, बैटरी बचाने वाला मोड हो सकता है. इस मोड में, मीडिया नहीं चलाया जा सकेगा. इसके अलावा, अतिरिक्त डेटा को 0x01 पर सेट किया जाना चाहिए.

एक से ज़्यादा कॉम्पोनेंट वाले हेडसेट (उदाहरण के लिए, बायां और दायां बड) के लिए, अतिरिक्त डेटा में मौजूद हर बिट यह दिखाती है कि वह कॉम्पोनेंट चालू है या नहीं. बंद किए गए कॉम्पोनेंट का एक उदाहरण, केस में रखा गया और इस्तेमाल न किया जा रहा बड हो सकता है. खास तौर पर, बाएँ और दाएँ ईयरबड के लिए:

  • 0x00 (0b00000000): दोनों ईयरबड चालू नहीं हैं
  • 0x01 (0b00000001): दायां ईयरबड चालू है और बायां बंद है
  • 0x02 (0b00000010): बायां बड चालू है और दायां बड बंद है
  • 0x03 (0b00000011): दोनों बड चालू हैं

प्लेटफ़ॉर्म प्रकार

ऐसा हो सकता है कि सेवा देने वाली कंपनियां, कनेक्ट किए गए प्लैटफ़ॉर्म के आधार पर अलग-अलग तरीके से काम करना चाहें. फ़िलहाल, Fast Pair की सुविधा सिर्फ़ Android डिवाइसों पर काम करती है. हालांकि, आने वाले समय में इसे अन्य डिवाइसों पर भी उपलब्ध कराया जा सकता है.

मैसेज में एक बाइट होगी. इससे अतिरिक्त डेटा में प्लैटफ़ॉर्म टाइप की पहचान की जा सकेगी:

प्लैटफ़ॉर्म का नाम मान
Android 0x01

दूसरे बाइट को हर प्लैटफ़ॉर्म के हिसाब से पसंद के मुताबिक बनाया जाएगा. Android में, यह एसडीके के वर्शन के बारे में जानकारी देगा. उदाहरण के लिए, Android Pie के लिए वैल्यू 28 (0x1C) होगी.

फ़र्मवेयर का वर्शन

यह यूटीएफ़-8 एन्कोडिंग में, सेवा देने वाली कंपनी के फ़र्मवेयर का वर्शन है. यह वही जानकारी है जो फ़र्मवेयर के वर्शन की जानकारी देने वाले एट्रिब्यूट में दी जाती है.

मौजूदा FHN इफ़ेमरल आइडेंटिफ़ायर

FHN फ़्रेम का विज्ञापन दिखाने वाले प्रोवाइडर को, मौजूदा FHN Ephemeral Identifier (EID) और क्लॉक वैल्यू की जानकारी देनी चाहिए. इससे, क्लॉक में अंतर आने पर (जैसे, बैटरी खत्म होने की वजह से) सीक करने वाले व्यक्ति के साथ सिंक किया जा सकेगा.

उदाहरण के लिए:

  • 0x03: डिवाइस की जानकारी का इवेंट
  • 0x0B: मौजूदा FHN का कुछ समय के लिए इस्तेमाल होने वाला आइडेंटिफ़ायर मैसेज
  • 0x0018: अतिरिक्त डेटा, लंबाई 24 या 36 बाइट
  • 0x13F9EA80: अतिरिक्त डेटा (क्लॉक वैल्यू; 4 बाइट)
  • 0x1122334455667788990011223344556677889900: अतिरिक्त डेटा (मौजूदा ईआईडी; 20 या 32 बाइट)