تطوير بليه: ما هو الجات وكيف يعمل؟

جدول المحتويات

مفهوم الجات

لتنفيذ التطوير المتعلق بـ BLE، يجب أن يكون لدينا معرفة أساسية معينة، بالطبع، يجب أن تكون بسيطة جدًا.

GATT دور الجهاز:

أول شيء يجب فهمه هو أن التمييز بين هذين الدورين يكون على مستوى الأجهزة، وهما مفاهيم نسبية تظهر في أزواج:

"الجهاز المركزي": قوي نسبيًا، يستخدم لمسح الأجهزة الطرفية وتوصيلها، مثل الهواتف المحمولة والأجهزة اللوحية وغيرها.

"الجهاز الطرفي": الوظيفة بسيطة نسبيًا، واستهلاك الطاقة صغير، والجهاز المركزي متصل لتوفير البيانات، مثل الأساور، ومقاييس الحرارة الذكية، وما إلى ذلك.

في الواقع، على المستوى الأساسي، ينبغي التمييز بين الأدوار المختلفة في عملية إنشاء الاتصال. نحن نعلم أنه إذا أراد جهاز Bluetooth السماح للآخرين بمعرفة وجوده، فإنه يحتاج إلى البث بشكل مستمر إلى العالم الخارجي، بينما يحتاج الطرف الآخر إلى مسح حزمة البث والرد عليها، حتى يمكن إنشاء الاتصال. في هذه العملية، يكون الشخص المسؤول عن البث هو الطرفي، والشخص المركزي هو المسؤول عن المسح.

ملاحظة حول عملية الاتصال بين الاثنين:

يمكن للجهاز المركزي الاتصال بأجهزة طرفية متعددة في نفس الوقت. بمجرد توصيل الجهاز الطرفي، سيتوقف عن البث على الفور، ويستمر في البث بعد قطع الاتصال. يمكن لجهاز واحد فقط محاولة الاتصال في أي وقت، ووضع الاتصالات في قائمة الانتظار.

GATT بروتوكول

تتواصل تقنية BLE على أساس الجات. الجات هو بروتوكول نقل السمة. يمكن اعتباره بروتوكول طبقة تطبيق لنقل السمات.

هيكلها بسيط جدا:   

يمكنك فهمه كـ XML:

تتكون كل مجموعة من اتفاقيات الجات من خدمات تؤدي وظائف مختلفة؛

تتكون كل خدمة من خصائص مختلفة؛

تتكون كل خاصية من قيمة وواصف واحد أو أكثر؛

الخدمة والخصائص تعادلان العلامات (الخدمة تعادل فئتها، والخصائص تعادل اسمها)، في حين أن القيمة تحتوي في الواقع على بيانات، والواصف هو شرح ووصف لهذه القيمة. بالطبع يمكننا وصفها ووصفها من زوايا مختلفة. الوصف، لذلك يمكن أن يكون هناك واصفات متعددة.

على سبيل المثال: جهاز Xiaomi Mi Band الشائع هو جهاز BLE، (من المفترض) أنه يحتوي على ثلاث خدمات، وهي الخدمة التي توفر معلومات الجهاز، والخدمة التي توفر الخطوات، والخدمة التي تكتشف معدل ضربات القلب؛

تتضمن الخاصية الواردة في خدمة معلومات الجهاز معلومات الشركة المصنعة، ومعلومات الأجهزة، ومعلومات الإصدار، وما إلى ذلك؛ تتضمن خدمة معدل ضربات القلب خاصية معدل ضربات القلب، وما إلى ذلك، والقيمة في خاصية معدل ضربات القلب تحتوي بالفعل على بيانات معدل ضربات القلب، والواصف هو القيمة. الوصف، مثل وحدة القيمة، والوصف، والإذن، وما إلى ذلك.

الجات C/S

من خلال الفهم الأولي للغات، نعلم أن الجات هي وضع C/S نموذجي. نظرًا لأنه C/S، فمن الضروري أن نميز بين الخادم والعميل.

"خادم الجات" مقابل "عميل الجات". والمرحلة التي يوجد فيها هذين الدورين هي بعد إنشاء الاتصال، ويتم تمييزهما حسب حالة الحوار. من السهل أن نفهم أن الطرف الذي يحتفظ بالبيانات يسمى خادم الجات، والطرف الذي يصل إلى البيانات يسمى عميل الجات.

وهذا مفهوم على مستوى مختلف عن دور الجهاز الذي ذكرناه من قبل، ومن الضروري التمييز بينه. دعونا نستخدم مثالا بسيطا للتوضيح:

خذ مثال الهاتف المحمول والساعة للتوضيح. قبل إنشاء الاتصال بين الهاتف المحمول والهاتف المحمول، نستخدم وظيفة بحث البلوتوث الخاصة بالهاتف المحمول للبحث عن جهاز البلوتوث الخاص بالساعة. خلال هذه العملية، من الواضح أن الساعة تبث BLE حتى تعرف الأجهزة الأخرى بوجودها. ، ويأتي دور الأجهزة الطرفية في هذه العملية، ويكون الهاتف المحمول هو المسؤول عن مهمة المسح، وبطبيعة الحال يلعب دور المركز؛ بعد أن يقوم الاثنان بإنشاء اتصال GATT، عندما يحتاج الهاتف المحمول إلى قراءة بيانات المستشعر مثل عدد الخطوات من الساعة، يتم حفظ البيانات التفاعلية في الساعة، لذلك في هذا الوقت يكون للساعة دور GATT الخادم، والهاتف المحمول هو بطبيعة الحال عميل الجات؛ وعندما تريد الساعة قراءة مكالمات الرسائل القصيرة وغيرها من المعلومات من الهاتف المحمول، يصبح حارس البيانات هو الهاتف المحمول، وبالتالي فإن الهاتف المحمول هو الخادم في هذا الوقت، والساعة هي العميل.

الخدمة/المميزة

لقد كان لدينا بالفعل فهم إدراكي لها أعلاه، ومن ثم لدينا بعض المعلومات العملية:

  1. السمة هي أصغر وحدة منطقية للبيانات.
  2. يتم تحديد تحليل البيانات المخزنة من حيث القيمة والواصف بواسطة مهندس الخادم، ولا توجد مواصفات.
  3. تتميز الخدمة/الخصائص بمعرف UUID فريد، ويحتوي UUID على كل من 16 بت و128 بت، وما نحتاج إلى فهمه هو أن UUID 16 بت معتمد من قبل مؤسسة Bluetooth ويجب شراؤه، وبالطبع هناك بعض الميزات الشائعة على سبيل المثال، UUID الخاص بخدمة معدل ضربات القلب هو 16X0D، والذي يتم التعبير عنه بـ 180X0-00001800-0000-1000-8000f00805b9fb في الكود، ويتم إصلاح البتات الأخرى. يمكن تخصيص UUID 34 بت.
  4. اتصالات الجات حصرية.

انتقل إلى الأعلى