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

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

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

मॉडल आईडी

आरएफ़सीओएमएम के कनेक्ट होने पर, मॉडल आईडी की जानकारी (Retroactively राइटिंग AccountKey के लिए) सीकर को भेजी जानी चाहिए. उदाहरण के लिए, 0x03010003AABBCC यह होगा:

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

बीएलई पता

BLE पते की जानकारी (Retroactively right AccountKey के लिए) अगर उपलब्ध है, तो RFCOMM के कनेक्ट होने पर और पते को घुमाते समय भी इसे सीकर को भेजा जाना चाहिए. उदाहरण के लिए, 0x03020006AABBCCDDEEFF होगा:

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

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

सेवा देने वाली जो कंपनियां बैटरी से जुड़ी सूचनाएं पाने की सुविधा देती हैं उन्हें बैटरी की जानकारी, RFCOMM की मदद से भी भेजी जा सकती है. RFCOMM कनेक्ट होने या बैटरी की वैल्यू बदलने पर, अपडेट भेजा जाना चाहिए. पैकेट के अतिरिक्त डेटा सेक्शन में, BLE पर बैटरी डेटा दिखाते समय बाइट 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): दोनों बड चालू हैं

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

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

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

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

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

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

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

कुछ समय के लिए रहने वाला मौजूदा एफ़एमडीएन आइडेंटिफ़ायर

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

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

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