يوفّر Android نظامًا أساسيًا مدمجًا متوافقًا مع تقنية Bluetooth Low Energy (BLE) في الدور المركزي ويوفر واجهات برمجة تطبيقات يمكن للتطبيقات استخدامها لاكتشاف الأجهزة وطلب الخدمات ونقل المعلومات.
تشمل حالات الاستخدام الشائعة ما يلي:
- نقل كميات صغيرة من البيانات بين الأجهزة القريبة
- التفاعل مع أدوات استشعار التقارب لتقديم تجربة مخصّصة للمستخدمين استنادًا إلى موقعهم الجغرافي الحالي
على عكس البلوتوث الكلاسيكي، تم تصميم تقنية BLE لاستهلاك طاقة أقل بكثير. يتيح ذلك للتطبيقات التواصل مع أجهزة BLE التي تتطلب طاقة أكثر صرامة، مثل أجهزة استشعار التقارب وأجهزة مراقبة معدل ضربات القلب وأجهزة اللياقة البدنية.
تحذير: عندما يقرِن المستخدم جهازه بجهاز آخر باستخدام تقنية BLE، يمكن لجميع التطبيقات على جهاز المستخدم الوصول إلى البيانات التي يتم تبادلها بين الجهازَين.
لهذا السبب، إذا كان تطبيقك يجمع بيانات حسّاسة، عليك تنفيذ إجراءات أمان على مستوى التطبيق لحماية خصوصية هذه البيانات.
الأساسيات
لكي تتمكن الأجهزة المزوّدة بتقنية BLE من نقل البيانات مع بعضها، يجب أولاً
إنشاء قناة اتصال. يتطلّب استخدام واجهات برمجة تطبيقات Bluetooth LE
الإفصاح عن العديد من الأذونات
في ملف البيان. بعد أن يحصل تطبيقك على إذن استخدام البلوتوث، عليه
الوصول إلى BluetoothAdapter
وتحديد ما إذا كان البلوتوث متاحًا على الجهاز
. وإذا كان البلوتوث متاحًا، سيبدأ الجهاز في
البحث عن أجهزة BLE المجاورة.
بعد العثور على جهاز، يتم اكتشاف إمكانات جهاز BLE من خلال
الاتصال بخادم GATT على جهاز BLE.
بعد إجراء عملية الربط،
يمكن نقل البيانات باستخدام الجهاز المرتبط
استنادًا إلى الخدمات والسمات المتاحة.
المصطلحات والمفاهيم الرئيسية
في ما يلي ملخّص لمصطلحات ومفاهيم BLE:
- الملف الشخصي للسمات العامة (GATT)
- ملف GATT الشخصي هو مواصفة عامة لإرسال وتلقّي قطعة data قصيرة تُعرف باسم "السمات" عبر رابط BLE. تستند جميع ملفات تطبيق BLE الحالية إلى بروتوكول GATT. راجِع نموذج Android BluetoothLeGatt على GitHub للاطّلاع على مزيد من المعلومات.
- الملفات الشخصية
- تحدِّد Bluetooth SIG العديد من الملفات الشخصية لأجهزة BLE. الملف الشخصي هو مواصفات لطريقة عمل الجهاز في تطبيق معيّن. يُرجى العِلم أنّه يمكن للجهاز تنفيذ أكثر من ملف شخصي واحد. على سبيل المثال، يمكن أن يحتوي الجهاز على جهاز مراقبة معدل ضربات القلب وجهاز رصد مستوى البطارية.
- بروتوكول السمة (ATT)
- تم إنشاء بروتوكول GATT استنادًا إلى بروتوكول السمات (ATT). ويُشار إلى ذلك أيضًا باسم GATT/ATT. تم تحسين إطار عمل ATT للعمل على الأجهزة التي تتضمّن تقنية البلوتوث منخفضة الطاقة. وتحقيقاً لهذه الغاية، يستخدم التنسيق أقل عدد ممكن من البايتات. يتم تعريف كل سمة بشكل فريد باستخدام معرّف عالمي فريد (UUID)، وهو تنسيق موحّد مكوّن من 128 بت لسمة معرّف تُستخدَم لتحديد المعلومات بشكل فريد. يتم تنسيق السمات التي تم نقلها من خلال سياسة "شفافية تتبُّع التطبيقات" كـ خصائص وخدمات.
- السمة
- تحتوي السمة على قيمة واحدة وعدد متغير من الأوصاف التي تصف قيمة السمة. يمكن اعتبار السمة نوعًا، يشبه الفئة.
- الوصف
- وسائل الوصف هي سمات محدّدة تصف قيمة سمة. على سبيل المثال، قد يحدّد المعرّف وصفًا مفهومًا للمستخدمين أو نطاقاً مقبولاً لقيمة السمة أو وحدة قياس خاصة بقيمة السمة.
- الخدمة
- الخدمة هي مجموعة من الخصائص. على سبيل المثال، يمكن أن يكون لديك خدمة باسم "جهاز مراقبة معدل ضربات القلب" تتضمّن خصائص مثل "قياس معدل ضربات القلب". يمكنك العثور على قائمة بالملفات الشخصية والخدمات الحالية المستندة إلى GATT على bluetooth.org.
الأدوار والمسؤوليات
عندما يتفاعل جهاز مع جهاز BLE، يتم хувين الأدوار والمسؤوليات بطريقتَين مختلفتَين:
الأجهزة المركزية مقابل الأجهزة الملحقة: ينطبق ذلك على اتصال BLE نفسه، حيث يبحث العميل المتصل في الدور المركزي عن إعلان، ويُرسِل العميل المتصل في الدور الثانوي إعلانًا. لا يمكن لجهازَين يتيحان فقط دور الجهاز الملحق التواصل مع بعضهما، ولا يمكن لجهازَين يتيحان فقط دور الجهاز المركزي التواصل مع بعضهما.
خادم GATT مقارنةً ببرنامج GATT العميل يحدِّد هذا الإعداد كيفية تواصل الجهازَين معًا بعد بدء الاتصال. يرسل الجهاز الذي يلعب دور العميل طلبات للحصول على البيانات، وينفِّذها الجهاز الذي يلعب دور الخادم.
لفهم الفرق بين أدوار الجهاز المركزي والجهاز الطرفي وتلك الخاصة بالخادم والعميل، ننصحك بالاطّلاع على مثال يتضمن هاتف Android وجهاز تتبُّع نشاط مزوّدًا بتقنية BLE يُرسِل بيانات أجهزة الاستشعار إلى الهاتف.
يبحث الهاتف، وهو الجهاز المركزي، بشكل نشط عن أجهزة BLE. يُعلِن جهاز التتبُّع للنشاط، وهو الجهاز الجانبي، عن نفسه وينتظر تلقّي طلب الاتصال.
بعد إنشاء اتصال بين الهاتف ومتتبع النشاط، يبدأان في نقل بيانات GATT الوصفية إلى بعضهما البعض. في هذه الحالة، يُرسِل التطبيق الذي يعمل على الهاتف طلبات للحصول على البيانات، وبالتالي يعمل كـ عميل GATT. ينفِّذ جهاز التتبُّع هذه الطلبات، لذا فهو يعمل بمثابة خادم GATT.
قد يتضمن تصميم بديل للتطبيق الهاتف الذي يلعب دور خادم GATT
بدلاً من ذلك. يمكنك الاطّلاع على
BluetoothGattServer
لمزيد من المعلومات.