ব্লুটুথ লো এনার্জি (BLE), অ্যান্ড্রয়েড 4.3 এবং উচ্চতর সংস্করণে উপলব্ধ, বিস্ফোরিত ডেটা স্থানান্তর করতে ডিভাইসগুলির মধ্যে ছোট সংযোগ তৈরি করে৷ BLE কানেক্ট না থাকলে স্লিপ মোডে থাকে। এটি 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 অ্যাপ ডেভেলপারদের হোস্ট কন্ট্রোলার থেকে কম জড়িত থাকা ডিভাইস খোঁজার জন্য ফিল্টার তৈরি করতে দেয়।
অবস্থান স্ক্যানিং
একটি ডিভাইসের অবস্থান পরিষেবাগুলি ব্লুটুথ বীকন সনাক্ত করতে এবং আরও সঠিক অবস্থান প্রদান করতে ব্লুটুথ ব্যবহার করতে পারে৷ এইভাবে ব্যবহারকারীরা বৈশিষ্ট্যটি সক্ষম করে:
- সেটিংস > নিরাপত্তা এবং অবস্থান > অবস্থানে যান।
- লোকেশন অন / অফ টগল অন পজিশনে আছে কিনা চেক করুন।
- মোডে যান।
- উচ্চ নির্ভুলতা বা ব্যাটারি সাশ্রয় মোড নির্বাচন করুন।
অ্যান্ড্রয়েড 11 এবং তার নিচের সংস্করণে, পৃথক অ্যাপগুলির BLE স্ক্যানিং ব্যবহার করার জন্য অবস্থানের অনুমতি প্রয়োজন, এমনকি যদি তারা শুধুমাত্র সংযোগ করার জন্য ডিভাইসগুলি খুঁজে বের করার জন্য স্ক্যান করে। যদি ব্যবহারকারী লোকেশন স্ক্যানিং অক্ষম করে, বা একটি অ্যাপের অবস্থানের অনুমতি না দেয়, তাহলে অ্যাপটি কোনো BLE স্ক্যানিং ফলাফল পাবে না।
Android 12 এবং পরবর্তীতে, BLUETOOTH_SCAN
, BLUETOOTH_ADVERTISE
, এবং BLUETOOTH_CONNECT
অনুমতিগুলি অ্যাপগুলিকে অবস্থানের অনুমতির অনুরোধ না করেই কাছাকাছি ডিভাইসগুলির জন্য স্ক্যান করার অনুমতি দিতে পারে৷ আরও তথ্যের জন্য, ব্লুটুথ অনুমতি দেখুন।
ব্যবহারকারীরা সেটিংস > নিরাপত্তা ও অবস্থান > অবস্থান > স্ক্যানিং -এ গিয়ে ব্লুটুথ স্ক্যানিং টগল অফ পজিশনে ক্লিক করে সিস্টেম-স্তরের ব্লুটুথ ব্যাকগ্রাউন্ড স্ক্যানিং অক্ষম করতে পারেন। এটি অবস্থান বা স্থানীয় ডিভাইসের জন্য BLE স্ক্যানিংকে প্রভাবিত করে না।
ফিল্টার স্ক্যান ফলাফল
Android 6.0 এবং উচ্চতর ব্লুটুথ কন্ট্রোলারে BLE স্ক্যানিং এবং ফিল্টার-ম্যাচিং অন্তর্ভুক্ত। একটি ডিভাইস স্ক্যান ফলাফল ফিল্টার করতে পারে এবং অ্যাপ্লিকেশন প্রসেসর (AP) এ BLE ডিভাইসের সাথে সম্পর্কিত পাওয়া এবং হারিয়ে যাওয়া ইভেন্টগুলি রিপোর্ট করতে পারে। ফিল্টারিং ব্যাচ স্ক্যানের জন্যও কাজ করে, যা শক্তি সঞ্চয় করতে সাহায্য করে কারণ ডিভাইসটি ফার্মওয়্যারে BLE স্ক্যানিং অফলোড করে। ব্যাচ স্ক্যানগুলি ডিভাইস বা বীকনগুলির জন্য BLE স্ক্যানিংয়ের কারণে AP কত ঘন ঘন জেগে ওঠে তা হ্রাস করে।
OnFound
/ OnLost
বৈশিষ্ট্যটি ব্লুটুথ কন্ট্রোলারে প্রয়োগ করা হয় এবং তারপর BLE ডিভাইসগুলি স্ক্যানে মিস না হয় তা নিশ্চিত করার জন্য পরীক্ষা করা হয়। এটি শক্তি সঞ্চয় প্রদান করে এবং এটি নিম্নলিখিত সুবিধাগুলিও প্রদান করতে পারে:
- একটি
OnFound
ইভেন্টের জন্য, একটি নির্দিষ্ট ডিভাইস আবিষ্কারের পরে প্রধান এপি জেগে ওঠে। - একটি
OnLost
ইভেন্টের জন্য, যখন একটি নির্দিষ্ট ডিভাইস খুঁজে পাওয়া যায় না তখন AP জেগে ওঠে৷ - ফ্রেমওয়ার্ক অ্যাপগুলি আশেপাশের ডিভাইসের পরিসরে থাকলে কম অবাঞ্ছিত বিজ্ঞপ্তি পায়৷
- ক্রমাগত স্ক্যানগুলি যখন একটি ডিভাইস পরিসীমার বাইরে থাকে তখন ফ্রেমওয়ার্ক অ্যাপগুলিকে বিজ্ঞপ্তি পেতে সক্ষম করে৷
একটি স্ক্যান ফিল্টার একটি ডিভাইসের বিজ্ঞাপন ( OnFound
ইভেন্ট) আবিষ্কারের উপর ভিত্তি করে হতে পারে। জাভা স্তর প্রথম আবিষ্কারের মতো পরামিতিগুলি নির্দিষ্ট করতে পারে (বা প্রথম আবিষ্কারের পর থেকে একটি নির্দিষ্ট সংখ্যক বিজ্ঞাপন)। Advertising Packet Content Filter HCI কমান্ড ব্যবহার করে BLE ফিল্টারিং প্রয়োগ করুন।