نظرة عامة على البلوتوث

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

باستخدام واجهات برمجة تطبيقات البلوتوث، يمكن للتطبيق تنفيذ ما يلي:

  • ابحث عن أجهزة أخرى تتضمّن بلوتوث.
  • الاستعلام عن محوّل البلوتوث المحلي للأجهزة المقترنة التي تتضمّن بلوتوث
  • إنشاء قنوات RFCOMM
  • يمكنك الربط بأجهزة أخرى من خلال ميزة "اكتشاف الخدمات".
  • نقل البيانات من الأجهزة الأخرى وإليها
  • إدارة عمليات ربط متعددة

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

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

  • جارٍ إعداد البلوتوث.
  • جارٍ البحث عن الأجهزة المقترنة أو المتاحة في المنطقة المحلية.
  • جارٍ ربط الأجهزة.
  • نقل البيانات بين الأجهزة

الأساسيات

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

بعد اكتمال عمليتَي الإقران والربط، يتبادل الجهازان المعلومات. عند اكتمال الجلسة، يحرّر الجهاز الذي بدأ طلب الإقران القناة التي ربطته بالجهاز القابل للاكتشاف. ومع ذلك، يظل الجهازان مرتبطين، لذا يمكنهما إعادة الاتصال تلقائيًا خلال جلسة مستقبلية طالما أنهما في نطاق بعضهما البعض ولم يقم أي من الجهازين بإزالة الرابط.

يتطلّب استخدام واجهات برمجة تطبيقات البلوتوث تعريف عدة أذونات في ملف البيان. بعد ذلك، انتقِل إلى BluetoothAdapter وتأكَّد من توفّر البلوتوث على الجهاز. إذا كان البلوتوث متاحًا، اتّبِع الخطوات الثلاث التالية:

تستخدم بعض الأجهزة ملفًا شخصيًا معيّنًا للبلوتوث يوضّح البيانات التي يوفّرها.

الفئات والواجهات الرئيسية

تتوفّر جميع واجهات برمجة تطبيقات البلوتوث في حزمة android.bluetooth. في ما يلي الفئات والواجهات التي تحتاج إليها لإنشاء اتصالات بلوتوث:

BluetoothAdapter
يمثّل محوّل البلوتوث المحلي (جهاز إرسال واستقبال لاسلكي بتقنية البلوتوث). ‫BluetoothAdapter هو نقطة الدخول لجميع تفاعلات البلوتوث. باستخدام هذا، يمكنك اكتشاف أجهزة يتضمّن بلوتوث الأخرى، والاستعلام عن قائمة الأجهزة المقترنة (المقترنة)، وإنشاء مثيل BluetoothDevice باستخدام عنوان MAC معروف، وإنشاء BluetoothServerSocket للاستماع إلى الاتصالات من الأجهزة الأخرى.
BluetoothDevice
يمثّل جهازًا يتضمّن بلوتوث عن بُعد. يمكنك استخدام هذه الفئة لطلب الاتصال بجهاز بعيد من خلال BluetoothSocket أو الاستعلام عن معلومات حول الجهاز، مثل اسمه وعنوانه وفئته وحالة الربط.
BluetoothSocket
تمثّل هذه الواجهة مقبس بلوتوث (مشابه لبروتوكول التحكّم بالنقل Socket). وهي نقطة الاتصال التي تتيح للتطبيق تبادل البيانات مع جهاز آخر يتضمّن بلوتوث باستخدام InputStream وOutputStream.
BluetoothServerSocket
يمثّل مقبس خادم مفتوحًا يستمع إلى الطلبات الواردة (على غرار ServerSocket لبروتوكول التحكّم بالنقل). لتوصيل جهازَين، يجب أن يفتح أحد الجهازَين مقبس خادم باستخدام هذه الفئة. عندما يرسل جهاز يتضمّن بلوتوث عن بُعد طلب اتصال بهذا الجهاز، يقبل الجهاز الاتصال ثم يعرض BluetoothSocket متصل.
BluetoothClass
يصف الخصائص والإمكانات العامة لجهاز يتضمّن بلوتوث. هذه مجموعة من السمات للقراءة فقط تحدّد فئات الجهاز وخدماته. على الرغم من أنّ هذه المعلومات توفّر تلميحًا مفيدًا بشأن نوع الجهاز، فإنّ سمات هذه الفئة لا تصف بالضرورة جميع ملفات تعريف Bluetooth والخدمات التي يتيحها الجهاز.
BluetoothProfile
واجهة تمثّل ملفًا شخصيًا للبلوتوث ملف تعريف البلوتوث هو مواصفات واجهة لاسلكية للاتصال المستند إلى البلوتوث بين الأجهزة. ومن الأمثلة على ذلك ملف "بدون لمس الجهاز". لمزيد من المناقشة حول الملفات الشخصية، يُرجى الاطّلاع على ملفات البلوتوث الشخصية.
BluetoothHeadset
يتيح استخدام سماعات رأس بلوتوث مع الهواتف الجوّالة. ويشمل ذلك كلاً من الملف الشخصي لسماعة رأس بلوتوث والملف الشخصي لتنفيذ الإجراءات بدون لمس الجهاز (الإصدار 1.5).
BluetoothA2dp
تحدّد هذه السياسة كيفية بث الصوت العالي الجودة من جهاز إلى آخر عبر اتصال بلوتوث باستخدام الملف الشخصي المتقدّم لتوزيع الصوت (A2DP).
BluetoothHealth
تمثّل هذه الفئة خادمًا وكيلاً لملف جهاز الصحة يتحكّم في خدمة البلوتوث.
BluetoothHealthCallback
هي فئة مجرّدة تُستخدَم لتنفيذ عمليات استدعاء BluetoothHealth. يجب توسيع هذه الفئة وتنفيذ طرق رد الاتصال لتلقّي آخر الأخبار حول التغييرات في حالة تسجيل التطبيق وحالة قناة البلوتوث.
BluetoothHealthAppConfiguration
يمثّل هذا الإذن إعدادات التطبيق التي يسجّلها تطبيق Bluetooth Health الخارجي للاتصال بجهاز Bluetooth Health عن بُعد.
BluetoothProfile.ServiceListener
واجهة تُرسل إشعارات إلى عملاء التواصل البيني للعمليات (IPC) في BluetoothProfile عند اتصالهم بالخدمة الداخلية التي تشغّل ملفًا شخصيًا معيّنًا أو عند انقطاع اتصالهم بها.