بلوتوث منخفض الطاقة

يوفّر Android نظامًا أساسيًا مضمّنًا لتفعيل البلوتوث المنخفض الطاقة (BLE) في الدور المركزي، كما يوفّر واجهات برمجة تطبيقات يمكن للتطبيقات استخدامها لاكتشاف الأجهزة والاستعلام عن الخدمات ونقل المعلومات.

تشمل حالات الاستخدام الشائعة ما يلي:

  • نقل كميات صغيرة من البيانات بين الأجهزة المجاورة
  • التفاعل مع أدوات استشعار التقارب لمنح المستخدمين تجربة مخصصة بناءً على موقعهم الجغرافي الحالي.

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

تحذير: عندما يُقرِن المستخدم جهازه بجهاز آخر باستخدام تقنية BLE، يمكن لجميع التطبيقات على جهاز المستخدم الوصول إلى البيانات المتصلة بين الجهازَين.

ولهذا السبب، إذا كان تطبيقك يلتقط بيانات حسّاسة، يجب تطبيق أمان طبقة التطبيق لحماية خصوصية هذه البيانات.

الأساسيّات

لكي تنقل الأجهزة المزوّدة بتقنية البلوتوث المنخفض الطاقة بين بعضها البعض، يجب أولاً أن تشكِّل هذه الأجهزة قناة اتصال. يتطلّب استخدام واجهات برمجة التطبيقات Bluetooth LE APIs توضيح عدّة أذونات في ملف البيان. بعد أن يحصل تطبيقك على إذن لاستخدام البلوتوث، سيحتاج التطبيق إلى الوصول إلى BluetoothAdapter و تحديد ما إذا كانت تقنية البلوتوث متاحة على الجهاز إذا كانت تقنية البلوتوث متاحة، سيبحث الجهاز عن أجهزة BLE المجاورة. وبعد العثور على الجهاز، يتم اكتشاف إمكانات جهاز BLE من خلال الاتصال بخادم GATT على جهاز BLE. بعد إجراء الاتصال، يمكن نقل البيانات باستخدام الجهاز المتصل بناءً على الخدمات والخصائص المتاحة.

المصطلحات والمفاهيم الرئيسية

في ما يلي ملخّص لمصطلحات ومفاهيم BLE الأساسية:

  • الملف الشخصي العام للسمة (GATT)
    ملف GATT الشخصي هو مواصفات عامة لإرسال وتلقّي أجزاء قصيرة من البيانات تُعرف باسم "السمات" عبر رابط BLE. تستند جميع الملفات الشخصية الحالية لتطبيقات BLE إلى GATT. يمكنك مراجعة نموذج Android BluetoothLeGattعلى GitHub للاطّلاع على مزيد من المعلومات.
  • الملفات الشخصية
    تحدد ميزة Bluetooth SIG العديد من الملفات الشخصية لأجهزة BLE. الملف الشخصي هو مواصفة توضّح طريقة عمل الجهاز في تطبيق معيّن. تجدُر الإشارة إلى أنّ أي جهاز يمكنه تطبيق أكثر من ملف شخصي واحد. على سبيل المثال، يمكن أن يحتوي الجهاز على أداة مراقبة معدل نبضات القلب وأداة رصد لمستوى البطارية.
  • بروتوكول السمات (ATT)
    تم إنشاء GATT استنادًا إلى بروتوكول السمات (ATT). ويُشار إلى ذلك أيضًا باسم GATT/ATT. تم تحسين سياسة شفافية تتبُّع التطبيقات (ATT) للتشغيل على أجهزة BLE. تحقيق هذه الغاية، يستخدم أقل عدد ممكن من وحدات البايت. يتم تعريف كل سمة بشكل فريد عن طريق المعرّف الفريد العالمي (UUID)، وهو تنسيق موحّد 128 بت لسلسلة بيانات تُستخدَم لتعريف المعلومات بشكل فريد. يتم تنسيق السمات التي يتم نقلها من خلال "شفافية تتبُّع التطبيقات" على أنّها خصائص وخدمات.
  • السمة
    تحتوي السمة على قيمة واحدة وأدوات وصف بقيمة 0 n تصف قيمة السمة. ويمكن النظر إلى السمة على أنّها نوع، يشبه الفئة الفئة.
  • أداة الوصف
    الأوصاف هي سمات محدّدة تصف قيمة مميّزة. على سبيل المثال، قد يحدد الواصف وصفًا يمكن للإنسان قراءته أو نطاقًا مقبولاً لقيمة السمة أو وحدة قياس خاصة بقيمة السمة.
  • الخدمة
    الخدمة هي مجموعة من الخصائص. على سبيل المثال، يمكنك الحصول على خدمة باسم "مراقبة معدل ضربات القلب" تتضمن خصائص مثل "قياس معدل ضربات القلب". يمكنك العثور على قائمة بالملفات الشخصية والخدمات الحالية المستندة إلى GATT على Bluetooth.org.

الأدوار والمسؤوليات

يتم تطبيق الأدوار والمسؤوليات التالية عندما يتفاعل أحد الأجهزة مع جهاز BLE:

  • الأجهزة المركزية مقابل الأجهزة الملحقة. وينطبق ذلك على اتصال BLE نفسه. ويتولى الجهاز في الدور المركزي فحص الإعلان، والبحث عن الإعلانات، والجهاز الذي يؤديه الدور الملحق.

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

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

في المثال المستخدَم في هذا الموضوع، التطبيق (الذي يعمل على جهاز Android) هو عميل GATT. يحصل التطبيق على البيانات من خادم GATT، وهو عبارة عن أداة مراقبة لمعدل نبضات القلب BLE تتوافق مع ملف تعريف معدّل نبضات القلب. بدلاً من ذلك، يمكنك تصميم تطبيقك لتلعب دور خادم GATT. يمكنك الاطّلاع على BluetoothGattServer للحصول على مزيد من المعلومات.