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

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

বাস্তবায়ন

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

ডিভাইস মোড

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

BLE স্ক্যানিং

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

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

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

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

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

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

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

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

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

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

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

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