ব্লুটুথ লো এনার্জি

Android 4.3 এবং তার পরবর্তী ভার্সনে উপলভ্য ব্লুটুথ লো এনার্জি (BLE), ডেটা ট্রান্সফার করার জন্য ডিভাইসের মধ্যে শর্ট কানেকশন তৈরি করে। কানেক্ট না করা থাকলে BLE স্লিপ মোডে থাকে। এর ফলে BLE, ক্লাসিক ব্লুটুথের তুলনায় কম ব্যান্ডউইথ ও কম বিদ্যুৎ খরচ করতে পারে। হার্ট-রেট মনিটর বা ওয়্যারলেস কীবোর্ডের মতো অ্যাপের জন্য BLE আদর্শ। BLE ব্যবহার করতে, ডিভাইসে BLE কাজ করে এমন চিপসেট থাকতে হবে।

প্রয়োগ

বর্তমানে সব BLE অ্যাপ প্রোফাইল জেনেরিক অ্যাট্রিবিউট (GATT) প্রোফাইল-এর উপর ভিত্তি করে তৈরি। Android-পরিচালিত ডিভাইস কোনও BLE ডিভাইসের সাথে ইন্টার‍্যাক্ট করলে, যে ডিভাইস তথ্য পাঠায় সেটি হল সার্ভার এবং যে ডিভাইস তথ্য পায় সেটি হল ক্লায়েন্ট। Android-এ BLE-এর জন্য ডেভেলপার API রয়েছে, যার মধ্যে GATT সার্ভার ও GATT ক্লায়েন্টের মধ্যে ইন্টার‍্যাকশনের জন্য API অন্তর্ভুক্ত। BLE API-এর সম্পূর্ণ সুবিধা নিতে, Android ব্লুটুথ HCI সংক্রান্ত প্রয়োজনীয়তা প্রয়োগ করুন।

ডিভাইস মোড

BLE ব্যবহার করার সময়, Android-এর মাধ্যমে পরিচালিত ডিভাইস পেরিফেরাল ডিভাইস, সেন্ট্রাল ডিভাইস বা দুটি হিসেবেই কাজ করতে পারে। পেরিফেরাল মোড ডিভাইসকে বিজ্ঞাপন প্যাকেট পাঠাতে দেয়। সেন্ট্রাল মোড ডিভাইসকে বিজ্ঞাপন স্ক্যান করতে দেয়। পেরিফেরাল ও সেন্ট্রাল ডিভাইস হিসেবে কাজ করা Android ডিভাইস, পেরিফেরাল মোডে বিজ্ঞাপন পাঠানোর সময় অন্যান্য BLE পেরিফেরাল ডিভাইসের সাথে যোগাযোগ করতে পারে। Bluetooth 4.1 ও তার আগের ভার্সন কাজ করে এমন ডিভাইস শুধুমাত্র সেন্ট্রাল মোডে BLE ব্যবহার করতে পারে। পুরনো ডিভাইসের চিপসেটে BLE পেরিফেরাল মোড কাজ নাও করতে পারে।

BLE স্ক্যানিং

BLE ব্যবহার করার সময় Android-পরিচালিত ডিভাইস আরও দক্ষতার সাথে নির্দিষ্ট ব্লুটুথ ডিভাইস টার্গেট ও স্ক্যান করতে পারে। BLE API অ্যাপ ডেভেলপারদের হোস্ট কন্ট্রোলারের কম অংশগ্রহণের মাধ্যমে ডিভাইস খোঁজার জন্য ফিল্টার তৈরি করতে দেয়।

লোকেশন স্ক্যান করা

ডিভাইসের লোকেশন পরিষেবা ব্লুটুথ বিকন শনাক্ত করতে ব্লুটুথ ব্যবহার করতে পারে এবং আরও সঠিক লোকেশন প্রদান করতে পারে। ব্যবহারকারীরা এইভাবে ফিচার চালু করেন:

  1. সেটিংস > নিরাপত্তা ও লোকেশন > লোকেশন বিকল্পে যান।
  2. লোকেশন চালু/বন্ধ করার টগল চালু পজিশনে আছে কিনা তা চেক করুন।
  3. মোড বিকল্পে যান।
  4. উচ্চ পর্যায়ের যথার্থতা অথবা ব্যাটারি সেভিং মোড বেছে নিন।

Android 11 ও তার আগের যেকোনও ভার্সনে, কানেক্ট করার জন্য ডিভাইস খোঁজার জন্য স্ক্যান করলেও, BLE স্ক্যানিং ব্যবহার করার জন্য ব্যক্তিগত অ্যাপের লোকেশন সংক্রান্ত অনুমতি প্রয়োজন। ব্যবহারকারী লোকেশন স্ক্যানিং বন্ধ করে দিলে অথবা কোনও অ্যাপকে লোকেশন সংক্রান্ত অনুমতি না দিলে, অ্যাপ কোনও BLE স্ক্যানিং ফলাফল পাবে না।

Android 12 ও এর পরবর্তী যেকোনও ভার্সনে, অ্যাপকে BLUETOOTH_SCAN, BLUETOOTH_ADVERTISE, এবং BLUETOOTH_CONNECT অনুমতি দিলে, লোকেশন সংক্রান্ত অনুমতির জন্য অনুরোধ না করেই অ্যাপ আশেপাশের ডিভাইস স্ক্যান করতে পারবে। আরও তথ্যের জন্য, Bluetooth অনুমতি দেখুন।

ব্যবহারকারী সিস্টেম-লেভেল ব্লুটুথ ব্যাকগ্রাউন্ড স্ক্যানিং বন্ধ করতে, সেটিংস > নিরাপত্তা ও লোকেশন > লোকেশন > স্ক্যানিং বিকল্পে গিয়ে ব্লুটুথ স্ক্যানিং টগল করে বন্ধ করে দিতে পারেন। এটি লোকেশন বা স্থানীয় ডিভাইসের জন্য BLE স্ক্যানিংকে প্রভাবিত করে না।

স্ক্যান করা ফলাফল ফিল্টার করা

Android 6.0 ও তার পরবর্তী যেকোনও ভার্সনে BLE স্ক্যানিং ও ফিল্টার-ম্যাচিং ব্লুটুথ কন্ট্রোলারে অন্তর্ভুক্ত থাকে। কোনও ডিভাইস স্ক্যান ফলাফল ফিল্টার করতে এবং BLE ডিভাইস সম্পর্কিত খুঁজে পাওয়া ও হারিয়ে যাওয়া ইভেন্ট সম্পর্কে অ্যাপ্লিকেশন প্রসেসর (AP)-কে রিপোর্ট করতে পারে। এছাড়াও, ফিল্টারিং ব্যাচ স্ক্যানের ক্ষেত্রে কাজ করে, যা পাওয়ার সাশ্রয় করতে সাহায্য করে, কারণ ডিভাইসটি ফার্মওয়্যারে BLE স্ক্যানিং অফলোড করে। ব্যাচ স্ক্যান BLE স্ক্যানিংয়ের মাধ্যমে ডিভাইস বা বিকন খোঁজার জন্য AP কত ঘন ঘন জেগে ওঠে তা কমায়।

ব্লুটুথ কন্ট্রোলারে OnFound/OnLost ফিচার প্রয়োগ করা হয় এবং তারপর স্ক্যানে BLE ডিভাইস মিস হয়ে যাচ্ছে না তা কনফার্ম করার জন্য পরীক্ষা করা হয়। এটি পাওয়ার সাশ্রয় করে এবং নিম্নলিখিত সুবিধাগুলিও প্রদান করতে পারে:

  • OnFound ইভেন্টের জন্য, কোনও নির্দিষ্ট ডিভাইস শনাক্ত করা হলে মূল AP জেগে ওঠে।
  • OnLost ইভেন্টের জন্য, কোনও নির্দিষ্ট ডিভাইস খুঁজে না পাওয়া গেলে AP জেগে ওঠে।
  • আশেপাশের ডিভাইস রেঞ্জের মধ্যে থাকলে ফ্রেমওয়ার্ক অ্যাপ কম অবাঞ্ছিত বিজ্ঞপ্তি পায়।
  • ক্রমাগত স্ক্যান করার ফলে কোনও ডিভাইস রেঞ্জের বাইরে চলে গেলে ফ্রেমওয়ার্ক অ্যাপকে বিজ্ঞপ্তি পাঠানো হয়।

কোনও ডিভাইসের বিজ্ঞাপন (OnFound ইভেন্ট) খুঁজে পাওয়ার ভিত্তিতে স্ক্যান ফিল্টার করা যেতে পারে। Java লেয়ার প্রথমবার শনাক্তকরণ (বা প্রথমবার শনাক্তকরণের পর থেকে নির্দিষ্ট সংখ্যক বিজ্ঞাপন) মতো প্যারামিটার নির্দিষ্ট করতে পারে। বিজ্ঞাপন প্যাকেট কন্টেন্ট ফিল্টার HCI কমান্ড ব্যবহার করে BLE ফিল্টারিং প্রয়োগ করুন।