ब्लूटूथ कम ऊर्जा

ब्लूटूथ लो एनर्जी (बीएलई) की सुविधा Android 4.3 और इसके बाद के वर्शन में उपलब्ध है. यह डेटा ट्रांसफ़र करने के लिए, डिवाइसों के बीच छोटे कनेक्शन बनाता है. कनेक्ट न होने पर, बीएलई स्लीप मोड में रहता है. इससे बीएलई, क्लासिक ब्लूटूथ की तुलना में कम बैंडविथ और कम बैटरी खर्च करता है. बीएलई, धड़कन की दर मापने वाले मॉनिटर या वायरलेस कीबोर्ड जैसे ऐप्लिकेशन के लिए सबसे सही है. BLE का इस्तेमाल करने के लिए, डिवाइसों में ऐसा चिपसेट होना चाहिए जो BLE के साथ काम करता हो.

लागू करना

BLE की सभी मौजूदा ऐप्लिकेशन प्रोफ़ाइलें, जेनेरिक एट्रिब्यूट (GATT) प्रोफ़ाइल पर आधारित होती हैं. जब Android डिवाइस, BLE डिवाइस के साथ इंटरैक्ट करता है, तो जानकारी भेजने वाला डिवाइस सर्वर होता है और जानकारी पाने वाला डिवाइस क्लाइंट होता है. Android में BLE के लिए डेवलपर एपीआई शामिल हैं. इनमें GATT सर्वर और GATT क्लाइंट के बीच इंटरैक्शन के लिए एपीआई भी शामिल हैं. BLE एपीआई का पूरा फ़ायदा पाने के लिए, Android Bluetooth HCI की ज़रूरी शर्तें लागू करें.

डिवाइस मोड

BLE का इस्तेमाल करते समय, Android डिवाइस को पेरिफ़रल डिवाइस, सेंट्रल डिवाइस या दोनों के तौर पर इस्तेमाल किया जा सकता है. पेरिफ़रल मोड की मदद से, डिवाइस विज्ञापन पैकेट भेज सकते हैं. सेंट्रल मोड की मदद से, डिवाइसों को विज्ञापनों को स्कैन करने की अनुमति मिलती है. पेरिफ़रल और सेंट्रल, दोनों डिवाइस के तौर पर काम करने वाला Android डिवाइस, पेरिफ़रल मोड में विज्ञापन भेजते समय, अन्य बीएलई पेरिफ़रल डिवाइसों से कम्यूनिकेट कर सकता है. ब्लूटूथ 4.1 और इससे पहले के वर्शन के साथ काम करने वाले डिवाइस, सिर्फ़ सेंट्रल मोड में बीएलई का इस्तेमाल कर सकते हैं. ऐसा हो सकता है कि पुराने डिवाइस के चिपसेट में, बीएलई पेरिफ़रल मोड काम न करे.

BLE स्कैन किया जा रहा है

BLE का इस्तेमाल करने पर, Android डिवाइस किसी खास ब्लूटूथ डिवाइस को ज़्यादा आसानी से टारगेट और स्कैन कर सकता है. BLE एपीआई की मदद से, ऐप्लिकेशन डेवलपर ऐसे फ़िल्टर बना सकते हैं जिनसे होस्ट कंट्रोलर की कम मदद से डिवाइसों को खोजा जा सकता है.

जगह की जानकारी स्कैन करना

किसी डिवाइस की लोकेशन सर्विस, ब्लूटूथ का इस्तेमाल करके ब्लूटूथ बीकन का पता लगा सकती हैं. इससे जगह की ज़्यादा सटीक जानकारी मिलती है. उपयोगकर्ता इस सुविधा को इस तरह चालू करते हैं:

  1. सेटिंग > सुरक्षा और जगह की जानकारी > जगह की जानकारी पर जाएं.
  2. देखें कि जगह की जानकारी चालू है/बंद है टॉगल, चालू है की स्थिति में हो.
  3. मोड पर जाएं.
  4. बहुत ज़्यादा सही या बैटरी की बचत मोड में से किसी एक को चुनें.

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

Android 12 और इसके बाद के वर्शन में, BLUETOOTH_SCAN, BLUETOOTH_ADVERTISE, और BLUETOOTH_CONNECT अनुमतियों की मदद से, ऐप्लिकेशन आस-पास मौजूद डिवाइसों को स्कैन कर सकते हैं. इसके लिए, उन्हें जगह की जानकारी की अनुमति मांगने की ज़रूरत नहीं होती. ज़्यादा जानकारी के लिए, Bluetooth की अनुमतियां लेख पढ़ें.

उपयोगकर्ता, सिस्टम-लेवल पर ब्लूटूथ बैकग्राउंड स्कैनिंग की सुविधा को बंद कर सकते हैं. इसके लिए, उन्हें सेटिंग > सुरक्षा और जगह की जानकारी > जगह की जानकारी > स्कैनिंग पर जाना होगा. इसके बाद, ब्लूटूथ स्कैनिंग टॉगल पर क्लिक करके, इसे बंद करना होगा. इससे जगह की जानकारी या आस-पास के डिवाइसों के लिए, बीएलई स्कैनिंग पर कोई असर नहीं पड़ता.

स्कैन के नतीजों को फ़िल्टर करना

Android 6.0 और उसके बाद के वर्शन में, ब्लूटूथ कंट्रोलर पर बीएलई स्कैनिंग और फ़िल्टर-मैचिंग की सुविधा शामिल है. कोई डिवाइस, स्कैन के नतीजों को फ़िल्टर कर सकता है. साथ ही, बीएलई डिवाइसों से जुड़े मिल गया और खो गया इवेंट की रिपोर्ट, ऐप्लिकेशन प्रोसेसर (एपी) को भेज सकता है. फ़िल्टर करने की सुविधा, बैच स्कैन के लिए भी काम करती है. इससे बैटरी बचाने में मदद मिलती है, क्योंकि डिवाइस बीएलई स्कैनिंग को फ़र्मवेयर पर ऑफ़लोड करता है. बैच स्कैन की मदद से, डिवाइसों या बीकन के लिए बीएलई स्कैनिंग की वजह से, एपी के बार-बार चालू होने की समस्या को कम किया जा सकता है.

OnFound/OnLost सुविधा को ब्लूटूथ कंट्रोलर में लागू किया जाता है. इसके बाद, यह पुष्टि करने के लिए इसकी जांच की जाती है कि स्कैन में BLE डिवाइसों को शामिल किया गया है या नहीं. इससे बिजली की बचत होती है. साथ ही, इससे ये फ़ायदे भी मिल सकते हैं:

  • OnFound इवेंट के लिए, किसी डिवाइस का पता चलने पर मुख्य एपी चालू हो जाता है.
  • OnLost इवेंट के लिए, जब किसी डिवाइस का पता नहीं चलता, तब एपी वेक अप हो जाता है.
  • जब आस-पास मौजूद कोई डिवाइस रेंज में होता है, तो फ़्रेमवर्क ऐप्लिकेशन को कम अनचाही सूचनाएं मिलती हैं.
  • लगातार स्कैन करने की सुविधा चालू होने पर, फ़्रेमवर्क ऐप्लिकेशन को सूचना मिलती है कि कोई डिवाइस रेंज से बाहर है.

स्कैन फ़िल्टर, डिवाइस के विज्ञापनों (OnFound इवेंट) के बारे में पता चलने पर आधारित हो सकता है. Java लेयर, पैरामीटर तय कर सकती है. जैसे, पहली बार डिवाइस का पता चलना या पहली बार डिवाइस का पता चलने के बाद से विज्ञापनों की तय संख्या. Advertising Packet Content Filter HCI command का इस्तेमाल करके, बीएलई फ़िल्टर करने की सुविधा लागू करें.