ব্লুটুথ কম শক্তি

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

বাস্তবায়ন

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

ডিভাইস মোড

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

বিএলই স্ক্যানিং

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

অবস্থান স্ক্যানিং

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

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

অ্যান্ড্রয়েড ১১ এবং এর পূর্ববর্তী সংস্করণগুলিতে, BLE স্ক্যানিং ব্যবহার করার জন্য স্বতন্ত্র অ্যাপগুলির লোকেশন পারমিশন প্রয়োজন হয়, এমনকি যদি তারা শুধুমাত্র সংযোগ করার জন্য ডিভাইস খোঁজার উদ্দেশ্যে স্ক্যান করে থাকে। যদি ব্যবহারকারী লোকেশন স্ক্যানিং নিষ্ক্রিয় করে দেন, অথবা কোনো অ্যাপকে লোকেশন পারমিশন না দেন, তাহলে অ্যাপটি কোনো BLE স্ক্যানিং ফলাফল পাবে না।

অ্যান্ড্রয়েড ১২ এবং এর পরবর্তী সংস্করণগুলিতে, BLUETOOTH_SCAN , BLUETOOTH_ADVERTISE , এবং BLUETOOTH_CONNECT পারমিশনগুলি অ্যাপগুলিকে লোকেশন পারমিশনের অনুরোধ না করেই কাছাকাছি ডিভাইস স্ক্যান করার সুযোগ দেয়। আরও তথ্যের জন্য, ব্লুটুথ পারমিশন দেখুন।

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

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

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

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

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

একটি স্ক্যান ফিল্টার কোনো ডিভাইসের অ্যাডভার্টাইজমেন্ট আবিষ্কারের ( OnFound ইভেন্ট) উপর ভিত্তি করে তৈরি হতে পারে। জাভা লেয়ার প্রথম আবিষ্কার (অথবা প্রথম আবিষ্কারের পর থেকে একটি নির্দিষ্ট সংখ্যক অ্যাডভার্টাইজমেন্ট)-এর মতো প্যারামিটার নির্দিষ্ট করতে পারে। Advertising Packet Content Filter HCI কমান্ড ব্যবহার করে BLE ফিল্টারিং প্রয়োগ করুন।