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

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

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

मॉडल आईडी

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

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

BLE पता

अगर प्रोवाइडर को बीएलई पते की जानकारी मिल सकती है, तो मैसेज स्ट्रीम के कनेक्ट होने पर और पता बदलने पर, यह जानकारी भी सीक करने वाले को भेजी जाएगी. यह जानकारी AccountKey को पिछली तारीख से लिखने के लिए ज़रूरी है. उदाहरण के लिए, 0x03020006AABBCCDDEEFF यह होगा:

  • 0x03: डिवाइस की जानकारी का इवेंट
  • 0x02: BLE पते की वैल्यू
  • 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) होगी.

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

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

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

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

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

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