ডিভাইসের তথ্য

প্রোভাইডাররা মেসেজ স্ট্রিমের মাধ্যমে কোনো সিকারকে ডিভাইসের তথ্য জানাতে পারেন।

বার্তা গ্রুপের নাম মূল্য
ডিভাইসের তথ্য ইভেন্ট ০x০৩
ডিভাইসের তথ্য কোড নাম মূল্য
মডেল আইডি ০x০১
BLE ঠিকানা আপডেট করা হয়েছে ০x০২
ব্যাটারি আপডেট করা হয়েছে ০x০৩
অবশিষ্ট ব্যাটারির সময় ০x০৪
সক্রিয় উপাদানগুলির অনুরোধ ০x০৫
সক্রিয় উপাদানগুলির প্রতিক্রিয়া ০x০৬
(অপ্রচলিত) ক্ষমতা ০x০৭
প্ল্যাটফর্মের ধরন ০x০৮
ফার্মওয়্যার সংস্করণ ০x০৯
বর্তমান FHN ক্ষণস্থায়ী শনাক্তকারী 0x0B

মডেল আইডি

মেসেজ স্ট্রিম সংযোগ করার সময় মডেল আইডি তথ্য ( পূর্ববর্তী অ্যাকাউন্ট কী লেখার জন্য) সিকারের কাছে পাঠানো উচিত। উদাহরণস্বরূপ, 0x03010003AABBCC হবে:

  • 0x03: ডিভাইসের তথ্য সংক্রান্ত ঘটনা
  • 0x01: মডেল আইডি মান
  • 0x0003: অতিরিক্ত ডেটা, দৈর্ঘ্য ৩
  • 0xAABBCC: অতিরিক্ত তথ্য, মডেল আইডি

BLE ঠিকানা

BLE অ্যাড্রেসের তথ্য ( পূর্ববর্তী AccountKey লেখার জন্য), যদি উপলব্ধ থাকে, তাহলে মেসেজ স্ট্রিম সংযোগ করার সময় এবং যখনই অ্যাড্রেসটি রোটেট করা হয়, তখন সেটিও সিকারের কাছে পাঠানো উচিত। উদাহরণস্বরূপ, 0x03020006AABBCCDDEEFF হবে:

  • 0x03: ডিভাইসের তথ্য সংক্রান্ত ঘটনা
  • 0x02: BLE অ্যাড্রেস মান
  • 0x0006: অতিরিক্ত ডেটা, দৈর্ঘ্য ৬
  • 0xAABBCCDDEEFF: অতিরিক্ত ডেটা, BLE ঠিকানা

ব্যাটারি আপডেট করা হয়েছে

যেসব প্রোভাইডার ব্যাটারি নোটিফিকেশন সমর্থন করে, তাদের ক্ষেত্রে ব্যাটারির তথ্য মেসেজ স্ট্রিমের মাধ্যমেও পাঠানো যেতে পারে। যখন মেসেজ স্ট্রিম সংযুক্ত হয় বা ব্যাটারির মান পরিবর্তিত হয়, তখন একটি আপডেট পাঠানো উচিত। BLE-এর মাধ্যমে ব্যাটারি ডেটা অ্যাডভার্টাইজ করার সময়, প্যাকেটের অতিরিক্ত ডেটা অংশে s + 2 , s + 3 , s + 4 বাইটের অনুরূপ ডেটা থাকা উচিত। উদাহরণস্বরূপ, 0x0303000357417F হবে:

  • 0x03: ডিভাইসের তথ্য সংক্রান্ত ঘটনা
  • 0x03: ব্যাটারির মান
  • 0x0003: অতিরিক্ত ডেটা, দৈর্ঘ্য ৩
  • 0x57417F: অতিরিক্ত ডেটা, ব্যাটারির মান
    • 0x57: বাম ইয়ারবাডের মান, চার্জ হচ্ছে না, ৮৭% ব্যাটারি
    • 0x41: ডান ইয়ারবাডের মান, চার্জ হচ্ছে না, ৬৫% ব্যাটারি
    • 0x7F: কেস ভ্যালু, চার্জ হচ্ছে না, ব্যাটারি অজানা।

প্রোভাইডাররা অবশিষ্ট ব্যাটারির সময়ও আপডেট করতে পারেন (যদি জানা থাকে), উদাহরণস্বরূপ, 0x03040001F0 হবে:

  • 0x03: ডিভাইসের তথ্য সংক্রান্ত ঘটনা
  • 0x04: অবশিষ্ট ব্যাটারির সময়
  • 0x0001: অতিরিক্ত ডেটা, দৈর্ঘ্য ১ (প্রয়োজনে uint16-এর জন্য ২ হতে পারে।)
  • 0xF0: অতিরিক্ত তথ্য, অবশিষ্ট ব্যাটারির সময় (মিনিটে), ২৪০ মিনিট

সক্রিয় উপাদান

ব্যবহারকারীরা মাঝে মাঝে জানতে চাইতে পারেন কোন কম্পোনেন্টগুলো বর্তমানে সক্রিয় আছে, যার ফলে সেগুলোর উপর কোনো পদক্ষেপ নেওয়া যেতে পারে ( ডিভাইস অ্যাকশন দেখুন)। যখন প্রোভাইডার সক্রিয় কম্পোনেন্ট রিকোয়েস্ট কোড (0x05) সম্বলিত একটি অনুরোধ গ্রহণ করে, তখন প্রোভাইডারের বর্তমান অবস্থা উল্লেখ করে ১ সেকেন্ডের মধ্যে একটি প্রতিক্রিয়া ফেরত পাঠানো উচিত। এই প্রতিক্রিয়ায় সক্রিয় কম্পোনেন্ট রেসপন্স কোড (0x06) ব্যবহৃত হবে এবং কোন কম্পোনেন্টগুলো উপলব্ধ আছে তা নির্দেশকারী অতিরিক্ত ডেটা থাকবে।

একক উপাদানযুক্ত কোনো প্রোভাইডারের ক্ষেত্রে, অতিরিক্ত ডেটা উপলব্ধ না থাকলে তা 0x00-এ সেট করা উচিত। এর একটি উদাহরণ হতে পারে লো পাওয়ার মোড, যেখানে মিডিয়া প্লেব্যাক করা হবে না। অন্যথায়, অতিরিক্ত ডেটা 0x01-এ সেট করা উচিত।

একাধিক অংশযুক্ত হেডসেটের ক্ষেত্রে (যেমন, একটি বাম এবং একটি ডান বাড), অতিরিক্ত ডেটার প্রতিটি বিট নির্দেশ করে যে সেই অংশটি সক্রিয় আছে কি না। একটি নিষ্ক্রিয় অংশের উদাহরণ হতে পারে এমন একটি বাড যা কেসের মধ্যে আছে এবং ব্যবহৃত হচ্ছে না। বিশেষ করে বাম এবং ডান বাডের ক্ষেত্রে:

  • 0x00 (0b00000000): কোনো কুঁড়িই সক্রিয় নয়
  • 0x01 (0b00000001): ডান কুঁড়ি সক্রিয়, বামটি নিষ্ক্রিয়
  • 0x02 (0b00000010): বাম কুঁড়ি সক্রিয়, ডানটি নিষ্ক্রিয়
  • 0x03 (0b00000011): উভয় কুঁড়ি সক্রিয়

প্ল্যাটফর্মের ধরন

প্রোভাইডাররা যে প্ল্যাটফর্মের সাথে সংযুক্ত আছেন, তার উপর ভিত্তি করে ভিন্নভাবে কাজ করতে চাইতে পারেন। ফাস্ট পেয়ার বর্তমানে শুধুমাত্র অ্যান্ড্রয়েডের মাধ্যমে করা যায়, কিন্তু ভবিষ্যতে এর সাপোর্ট আরও বাড়ানো হতে পারে।

বার্তাটিতে অতিরিক্ত ডেটার মধ্যে প্ল্যাটফর্মের ধরন শনাক্তকারী একটি প্রথম বাইট থাকবে:

প্ল্যাটফর্মের নাম মূল্য
অ্যান্ড্রয়েড ০x০১

দ্বিতীয় বাইটটি প্ল্যাটফর্ম অনুযায়ী কাস্টমাইজ করা হবে। অ্যান্ড্রয়েডের ক্ষেত্রে, এটি SDK ভার্সনকে নির্দেশ করবে। উদাহরণস্বরূপ, অ্যান্ড্রয়েড পাই-এর মান হবে ২৮ (0x1C)।

ফার্মওয়্যার সংস্করণ

প্রোভাইডারের ফার্মওয়্যার ভার্সনটি utf-8 এনকোডিং-এ একটি স্ট্রিং হিসেবে থাকে। এই তথ্যটি ফার্মওয়্যার রিভিশন ক্যারেক্টারিস্টিক -এ থাকা তথ্যের মতোই।

বর্তমান FHN ক্ষণস্থায়ী শনাক্তকারী

যেসব প্রোভাইডার FHN ফ্রেম বিজ্ঞাপন করে, তাদের উচিত তাদের বর্তমান ক্লক ভ্যালুর সাথে বর্তমান FHN এফিমিরাল আইডেন্টিফায়ার (EID) রিপোর্ট করা, যাতে ক্লক ড্রিফটের ক্ষেত্রে (উদাহরণস্বরূপ, ব্যাটারি শেষ হয়ে যাওয়ার কারণে) সিকারের সাথে সিঙ্ক করা যায়।

উদাহরণস্বরূপ:

  • 0x03: ডিভাইসের তথ্য সংক্রান্ত ঘটনা
  • 0x0B: বর্তমান FHN ক্ষণস্থায়ী শনাক্তকারী বার্তা
  • 0x0018: অতিরিক্ত ডেটা, দৈর্ঘ্য ২৪ বা ৩৬ বাইট
  • 0x13F9EA80: অতিরিক্ত ডেটা (ক্লক ভ্যালু; ৪ বাইট)
  • 0x1122334455667788990011223344556677889900: অতিরিক্ত ডেটা (বর্তমান EID; ২০ বা ৩২ বাইট)