BLE বিকাশ: GATT কী এবং এটি কীভাবে কাজ করে?

সুচিপত্র

GATT এর ধারণা

BLE-সম্পর্কিত উন্নয়ন চালাতে, আমাদের অবশ্যই কিছু মৌলিক জ্ঞান থাকতে হবে, অবশ্যই, এটি খুব সহজ হতে হবে।

গ্যাট ডিভাইসের ভূমিকা:

প্রথম জিনিসটি বুঝতে হবে যে এই দুটি ভূমিকার মধ্যে পার্থক্যটি হার্ডওয়্যার স্তরে, এবং এগুলি আপেক্ষিক ধারণা যা জোড়ায় উপস্থিত হয়:

"সেন্ট্রাল ডিভাইস": তুলনামূলকভাবে শক্তিশালী, মোবাইল ফোন, ট্যাবলেট ইত্যাদির মতো পেরিফেরাল ডিভাইস স্ক্যান এবং সংযোগ করতে ব্যবহৃত হয়।

"পেরিফেরাল ডিভাইস": ফাংশনটি তুলনামূলকভাবে সহজ, বিদ্যুৎ খরচ কম, এবং কেন্দ্রীয় ডিভাইসটি ডেটা প্রদানের জন্য সংযুক্ত থাকে, যেমন রিস্টব্যান্ড, স্মার্ট থার্মোমিটার ইত্যাদি।

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

দুটির মধ্যে সংযোগ প্রক্রিয়া সম্পর্কে নোট করুন:

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

গ্যাট প্রোটোকল

BLE প্রযুক্তি GATT এর উপর ভিত্তি করে যোগাযোগ করে। GATT একটি অ্যাট্রিবিউট ট্রান্সমিশন প্রোটোকল। এটি অ্যাট্রিবিউট ট্রান্সমিশনের জন্য একটি অ্যাপ্লিকেশন স্তর প্রোটোকল হিসাবে গণ্য করা যেতে পারে।

এর গঠন খুব সহজ:   

আপনি এটি xml হিসাবে বুঝতে পারেন:

প্রতিটি GATT বিভিন্ন ফাংশন সম্পাদনকারী পরিষেবাগুলির সমন্বয়ে গঠিত;

প্রতিটি পরিষেবা বিভিন্ন বৈশিষ্ট্যের সমন্বয়ে গঠিত;

প্রতিটি বৈশিষ্ট্য একটি মান এবং এক বা একাধিক বর্ণনাকারী নিয়ে গঠিত;

পরিষেবা এবং বৈশিষ্ট্য ট্যাগের সমতুল্য (পরিষেবা তার বিভাগের সমতুল্য, এবং বৈশিষ্ট্য তার নামের সমতুল্য), যখন মান আসলে ডেটা ধারণ করে, এবং বর্ণনাকারী এই মানের একটি ব্যাখ্যা এবং বর্ণনা। অবশ্যই, আমরা বিভিন্ন কোণ থেকে এটি বর্ণনা এবং বর্ণনা করতে পারি। বর্ণনা, তাই একাধিক বর্ণনাকারী থাকতে পারে।

উদাহরণস্বরূপ:সাধারণ Xiaomi Mi ব্যান্ড হল একটি BLE ডিভাইস, (অনুমান করা হয়েছে) এটিতে তিনটি পরিষেবা রয়েছে, যেগুলি হল পরিষেবা যা ডিভাইসের তথ্য প্রদান করে, পরিষেবা যা পদক্ষেপগুলি প্রদান করে এবং পরিষেবা যা হার্ট রেট সনাক্ত করে;

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

GATT C/S

GATT এর প্রাথমিক বোঝার সাথে, আমরা জানি যে GATT হল একটি সাধারণ C/S মোড। যেহেতু এটি C/S, তাই সার্ভার এবং ক্লায়েন্টের মধ্যে পার্থক্য করা আমাদের জন্য প্রয়োজনীয়।

"GATT সার্ভার" বনাম "GATT ক্লায়েন্ট"। এই দুটি ভূমিকা যে পর্যায়টি বিদ্যমান তা সংযোগ স্থাপনের পরে এবং সংলাপের স্থিতি অনুসারে তাদের আলাদা করা হয়। এটা বোঝা সহজ যে যে দলটি ডেটা ধারণ করে তাকে GATT সার্ভার বলা হয় এবং যে পক্ষ ডেটা অ্যাক্সেস করে তাকে GATT ক্লায়েন্ট বলা হয়।

আমরা আগে উল্লেখ করা ডিভাইসের ভূমিকা থেকে এটি একটি ভিন্ন স্তরে একটি ধারণা, এবং এটি আলাদা করা প্রয়োজন। এর ব্যাখ্যা করার জন্য একটি সহজ উদাহরণ ব্যবহার করা যাক:

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

পরিষেবা/চরিত্র

আমরা ইতিমধ্যে উপরে তাদের একটি উপলব্ধিগত বোঝার আছে, এবং তারপর আমরা কিছু বাস্তব তথ্য আছে:

  1. বৈশিষ্ট্য হল ডেটার ক্ষুদ্রতম যৌক্তিক একক।
  2. মান এবং বর্ণনাকারীতে সংরক্ষিত ডেটার বিশ্লেষণ সার্ভার ইঞ্জিনিয়ার দ্বারা নির্ধারিত হয়, কোন স্পেসিফিকেশন নেই।
  3. পরিষেবা/চরিত্রের একটি অনন্য UUID শনাক্তকরণ রয়েছে, UUID-এর 16-বিট এবং 128-বিট উভয়ই রয়েছে, আমাদের যা বুঝতে হবে তা হল যে 16-বিট UUID ব্লুটুথ সংস্থা দ্বারা প্রত্যয়িত এবং ক্রয় করা প্রয়োজন, অবশ্যই কিছু সাধারণ আছে ones 16-bit UUID।উদাহরণস্বরূপ, হার্ট রেট পরিষেবার UUID হল 0X180D, যা কোডে 0X00001800-0000-1000-8000-00805f9b34fb হিসাবে প্রকাশ করা হয়েছে এবং অন্যান্য বিটগুলি স্থির করা হয়েছে। 128-বিট UUID কাস্টমাইজ করা যেতে পারে।
  4. GATT সংযোগগুলি একচেটিয়া।

উপরে যান