যন্ত্রের তথ্য
প্রদানকারীরা বার্তা প্রবাহের মাধ্যমে ডিভাইসের তথ্য সম্পর্কে একজন অনুসন্ধানকারীকে অবহিত করতে পারে।
বার্তা গ্রুপের নাম | মান |
---|---|
ডিভাইস তথ্য ইভেন্ট | 0x03 |
ডিভাইস তথ্য কোড নাম | মান |
---|---|
মডেল আইডি | 0x01 |
BLE ঠিকানা আপডেট করা হয়েছে | 0x02 |
ব্যাটারি আপডেট করা হয়েছে | 0x03 |
বাকি ব্যাটারি সময় | 0x04 |
সক্রিয় উপাদান অনুরোধ | 0x05 |
সক্রিয় উপাদান প্রতিক্রিয়া | 0x06 |
(বঞ্চিত) ক্ষমতা | 0x07 |
প্ল্যাটফর্মের ধরন | 0x08 |
ফার্মওয়্যার সংস্করণ | 0x09 |
বর্তমান FMDN ক্ষণস্থায়ী শনাক্তকারী | 0x0B |
মডেল আইডি
মডেল আইডি তথ্য ( প্রত্যাবর্তনমূলকভাবে অ্যাকাউন্টকি লেখার জন্য) RFCOMM সংযোগ করার সময় অনুসন্ধানকারীকে পাঠানো উচিত। উদাহরণস্বরূপ, 0x03010003AABBCC
হবে:
- 0x03: ডিভাইস তথ্য ইভেন্ট
- 0x01: মডেল আইডি মান
- 0x0003: অতিরিক্ত ডেটা, দৈর্ঘ্য 3
- 0xAABBCC: অতিরিক্ত ডেটা, মডেল আইডি
BLE ঠিকানা
BLE ঠিকানার তথ্য ( Retroactively AccountKey লেখার জন্য) , যদি পাওয়া যায়, RFCOMM কানেক্ট করার সময় এবং যখনই ঠিকানা ঘোরানো হয় তখনও অনুসন্ধানকারীকে পাঠানো উচিত। উদাহরণস্বরূপ, 0x03020006AABBCCDDEEFF
হবে:
- 0x03: ডিভাইস তথ্য ইভেন্ট
- 0x02: BLE ঠিকানা মান
- 0x0006: অতিরিক্ত ডেটা, দৈর্ঘ্য 6
- 0xAABBCCDDEEFF: অতিরিক্ত ডেটা, BLE ঠিকানা
ব্যাটারি আপডেট করা হয়েছে
ব্যাটারি বিজ্ঞপ্তি সমর্থনকারী প্রদানকারীদের জন্য, ব্যাটারির তথ্য RFCOMM-এর মাধ্যমেও পাঠানো যেতে পারে। যখন RFCOMM সংযোগ করে বা ব্যাটারির মান পরিবর্তন হয়, একটি আপডেট পাঠানো উচিত। প্যাকেটের অতিরিক্ত ডেটা বিভাগে BLE-তে ব্যাটারি ডেটার বিজ্ঞাপন দেওয়ার সময় s + 2 , s + 3 , s + 4 বাইটের অভিন্ন ডেটা থাকা উচিত৷ উদাহরণস্বরূপ, 0x0303000357417F
হবে:
- 0x03: ডিভাইস তথ্য ইভেন্ট
- 0x03: ব্যাটারির মান
- 0x0003: অতিরিক্ত ডেটা, দৈর্ঘ্য 3
- 0x57417F: অতিরিক্ত ডেটা, ব্যাটারির মান
- 0x57: বাম কুঁড়ি মান, চার্জ হচ্ছে না, 87% ব্যাটারি
- 0x41: সঠিক কুঁড়ি মান, চার্জ হচ্ছে না, 65% ব্যাটারি
- 0x7F: কেস মান, চার্জ হচ্ছে না, অজানা ব্যাটারি
প্রদানকারীরা ব্যাটারির অবশিষ্ট সময়ও আপডেট করতে পারে (যদি জানা থাকে), উদাহরণস্বরূপ, 0x03040001F0
হবে:
- 0x03: ডিভাইস তথ্য ইভেন্ট
- 0x04: অবশিষ্ট ব্যাটারি সময়
- 0x0001: অতিরিক্ত ডেটা, দৈর্ঘ্য 1 (প্রয়োজন হলে uint16 এর জন্য 2 হতে পারে।)
- 0xF0: অতিরিক্ত ডেটা, মিনিটের মধ্যে বাকি ব্যাটারি সময়, 240 মিনিট
সক্রিয় উপাদান
অনুসন্ধানকারীরা কখনও কখনও জানতে চান যে কোন উপাদানগুলি বর্তমানে সক্রিয় রয়েছে, যার অর্থ তাদের উপর একটি পদক্ষেপ নেওয়া যেতে পারে ( ডিভাইস অ্যাকশনগুলি দেখুন)। যখন প্রদানকারী সক্রিয় উপাদানের অনুরোধ কোড (0x05) সম্বলিত একটি অনুরোধ পায়, তখন প্রদানকারীর বর্তমান অবস্থা নির্দেশ করে 1 সেকেন্ডের মধ্যে একটি প্রতিক্রিয়া ফেরত দেওয়া উচিত। প্রতিক্রিয়া সক্রিয় উপাদান প্রতিক্রিয়া কোড (0x06) ব্যবহার করবে এবং কোন উপাদানগুলি উপলব্ধ তা নির্দেশ করে অতিরিক্ত ডেটা থাকবে৷
একটি একক উপাদান সহ একটি প্রদানকারীর জন্য, অতিরিক্ত ডেটা 0x00 সেট করা উচিত যদি এটি উপলব্ধ না হয়। এর একটি উদাহরণ হতে পারে একটি কম পাওয়ার মোড যেখানে মিডিয়া প্লেব্যাক সঞ্চালিত হবে না। অন্যথায়, অতিরিক্ত ডেটা 0x01 সেট করা উচিত।
একাধিক উপাদান সহ হেডসেটের জন্য (উদাহরণস্বরূপ, একটি বাম এবং ডান কুঁড়ি), অতিরিক্ত ডেটার প্রতিটি বিট সেই উপাদানটি সক্রিয় কিনা তা উপস্থাপন করে। একটি নিষ্ক্রিয় উপাদানের একটি উদাহরণ একটি কুঁড়ি হতে পারে যা ক্ষেত্রে আছে এবং ব্যবহারে নেই। বিশেষত বাম এবং ডান কুঁড়ি ক্ষেত্রের জন্য:
- 0x00 (0b00000000): উভয়ই কুঁড়ি সক্রিয় নয়
- 0x01 (0b00000001): ডান কুঁড়ি সক্রিয়, বাম নিষ্ক্রিয়
- 0x02 (0b00000010): বাম কুঁড়ি সক্রিয়, ডান নিষ্ক্রিয়
- 0x03 (0b00000011): উভয় কুঁড়ি সক্রিয়
প্ল্যাটফর্মের ধরন
প্রদানকারীরা যে প্ল্যাটফর্মের সাথে সংযুক্ত রয়েছে তার উপর ভিত্তি করে ভিন্নভাবে পারফর্ম করতে চাইতে পারে। ফাস্ট পেয়ার বর্তমানে শুধুমাত্র Android এর মাধ্যমে সঞ্চালিত হয়, তবে ভবিষ্যতে সমর্থন প্রসারিত হতে পারে।
বার্তাটিতে অতিরিক্ত ডেটাতে একটি প্রথম বাইট সনাক্তকারী প্ল্যাটফর্মের ধরন থাকবে:
প্ল্যাটফর্মের নাম | মান |
---|---|
অ্যান্ড্রয়েড | 0x01 |
দ্বিতীয় বাইট প্ল্যাটফর্ম প্রতি কাস্টমাইজ করা হবে. অ্যান্ড্রয়েডে, এটি SDK সংস্করণ উল্লেখ করবে। উদাহরণস্বরূপ, Android Pie এর মান 28 (0x1C) হবে।
ফার্মওয়্যার সংস্করণ
utf-8 এনকোডিং-এ একটি স্ট্রিং হিসাবে প্রদানকারীর ফার্মওয়্যার সংস্করণ। এটি ফার্মওয়্যার সংশোধন বৈশিষ্ট্যের মতো একই তথ্য।
বর্তমান FMDN ক্ষণস্থায়ী শনাক্তকারী
যে সমস্ত প্রদানকারীরা FMDN ফ্রেমের বিজ্ঞাপন দেয় তাদের বর্তমান FMDN Ephemeral Identifier (EID) তাদের বর্তমান ঘড়ির মানের সাথে ক্লক ড্রিফটের (উদাহরণস্বরূপ, ব্যাটারি নিষ্কাশনের কারণে) সিকারের সাথে সিঙ্ক করার জন্য রিপোর্ট করা উচিত।
উদাহরণ স্বরূপ:
- 0x03: ডিভাইস তথ্য ইভেন্ট
- 0x0B: বর্তমান FMDN ক্ষণস্থায়ী শনাক্তকারী বার্তা
- 0x0018: অতিরিক্ত ডেটা, দৈর্ঘ্য 24 বা 36 বাইট
- 0x13F9EA80: অতিরিক্ত ডেটা (ঘড়ির মান; 4 বাইট)
- 0x1122334456677889900112223344556677889900: অতিরিক্ত ডেটা (বর্তমান EID; 20 বা 32 বাইট)