BLE ترقی: GATT کیا ہے اور یہ کیسے کام کرتا ہے؟

کی میز کے مندرجات

GATT کا تصور

BLE سے متعلقہ ترقی کو انجام دینے کے لیے، ہمارے پاس کچھ بنیادی علم ہونا چاہیے، یقیناً یہ بہت آسان ہونا چاہیے۔

GATT ڈیوائس کا کردار:

سمجھنے کی پہلی چیز یہ ہے کہ ان دو کرداروں کے درمیان فرق ہارڈ ویئر کی سطح پر ہے، اور یہ رشتہ دار تصورات ہیں جو جوڑوں میں ظاہر ہوتے ہیں:

"سنٹرل ڈیوائس": نسبتاً طاقتور، پردیی آلات جیسے کہ موبائل فون، ٹیبلٹ وغیرہ کو اسکین کرنے اور جوڑنے کے لیے استعمال کیا جاتا ہے۔

"پیری فیرل ڈیوائس": فنکشن نسبتاً آسان ہے، بجلی کی کھپت کم ہے، اور مرکزی ڈیوائس ڈیٹا فراہم کرنے کے لیے منسلک ہے، جیسے کہ کلائی بند، سمارٹ تھرمامیٹر وغیرہ۔

درحقیقت، سب سے بنیادی سطح پر، یہ ایک تعلق قائم کرنے کے عمل میں مختلف کرداروں کے درمیان فرق ہونا چاہیے۔ ہم جانتے ہیں کہ اگر کوئی بلوٹوتھ ڈیوائس دوسروں کو اپنے وجود سے آگاہ کرنا چاہتی ہے، تو اسے مسلسل باہر کی دنیا میں نشر کرنے کی ضرورت ہوتی ہے، جب کہ دوسرے فریق کو براڈکاسٹ پیکٹ کو اسکین کرنے اور جواب دینے کی ضرورت ہوتی ہے، تاکہ کنکشن قائم ہو سکے۔ اس عمل میں، نشریات کا ذمہ دار شخص Peripheral ہے، اور مرکزی اسکیننگ کا ذمہ دار ہے۔

دونوں کے درمیان کنکشن کے عمل کے بارے میں نوٹ کریں:

مرکزی آلہ ایک ہی وقت میں متعدد پیریفرل ڈیوائسز سے منسلک ہو سکتا ہے۔ ایک بار پیریفرل ڈیوائس کے منسلک ہونے کے بعد، یہ فوری طور پر نشریات کو روک دے گا، اور منقطع ہونے کے بعد نشریات جاری رکھے گا۔ صرف ایک آلہ کسی بھی وقت کنکشن کی قطار میں کھڑے ہونے کی کوشش کر سکتا ہے۔

GATT پروٹوکول

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-bit اور 128-bit دونوں ہوتے ہیں، ہمیں یہ سمجھنے کی ضرورت ہے کہ 16-bit UUID بلوٹوتھ تنظیم سے تصدیق شدہ ہے اور اسے خریدنے کی ضرورت ہے، یقیناً کچھ عام ہیں ones 16-bit UUID۔ مثال کے طور پر، ہارٹ ریٹ سروس کا UUID 0X180D ہے، جسے کوڈ میں 0X00001800-0000-1000-8000-00805f9b34fb کے طور پر ظاہر کیا گیا ہے، اور دیگر بٹس فکس ہیں۔ 128 بٹ UUID کو حسب ضرورت بنایا جا سکتا ہے۔
  4. GATT کنکشن خصوصی ہیں۔

میں سکرال اوپر