ملفات البلوتوث الشخصية

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

توفر واجهة برمجة تطبيقات البلوتوث عمليات تنفيذ لأنواع البلوتوث التالية الملفات الشخصية:

  • سماعة رأس: يوفر الملف الشخصي لسماعة الرأس الدعم لسمّاعات الرأس التي تعمل بالبلوتوث المستخدم مع الهواتف المحمولة. ويوفّر Android صف واحد (BluetoothHeadset) وهو خادم وكيل للتحكم في خدمة سماعة رأس بلوتوث. وتشمل هذه المعلومات ما يلي: الملف الشخصي لسماعة رأس بلوتوث أو وضع "بدون استخدام اليدين" (الإصدار 1.5). BluetoothHeadset تتضمن الفئة دعمًا لأوامر AT. لمزيد من المعلومات حول هذا الموضوع، يُرجى الاطّلاع على أوامر التقنية المساعدة الخاصة بالمورّد:
  • A2DP: يحدد الملف الشخصي المتقدم لتوزيع الصوت (A2DP) كيفية يمكن بث صوت عالي الجودة من جهاز إلى آخر عبر البلوتوث الاتصال. ويوفّر Android BluetoothA2dp، وهي خادم وكيل للتحكم في خدمة Bluetooth A2DP.
  • جهاز الصحة: يوفِّر Android الدعم لجهاز Bluetooth Health الملف الشخصي (HDP). يتيح لك ذلك إنشاء التطبيقات التي تستخدم البلوتوث للتواصل مع الأجهزة الصحية التي تدعم البلوتوث، مثل أجهزة مراقبة معدل ضربات القلب وأصوات الدم مترات وموازين حرارة وموازين وما إلى ذلك للاطّلاع على قائمة بالأجهزة المتوافقة رموز تخصصات بيانات الجهاز المقابلة، يمكنك مراجعة بروتوكول HDP في البلوتوث بيانات الجهاز التخصصات: تتم الإشارة إلى هذه القيم أيضًا في مواصفات ISO/IEEE 11073-20601 [7]. كـ MDC_DEV_SPEC_PROFILE_* في ملحق رموز التسمية. لمزيد من المعلومات، معلومات حول بروتوكول HDP، يُرجى الاطّلاع على الملف الشخصي لجهاز Health.

فيما يلي الخطوات الأساسية للعمل على ملف شخصي:

  1. احصل على المحوّل التلقائي، كما هو موضّح في إعداد البلوتوث:
  2. إعداد BluetoothProfile.ServiceListener يرسل هذا المستمع إشعارًا عملاء BluetoothProfile عند اتصالها بالخدمة أو عدم اتصالها بها.
  3. استخدام getProfileProxy() لإنشاء اتصال بكائن الخادم الوكيل للملف الشخصي المرتبط بك. في المثال التالي، يعد كائن الخادم الوكيل للملف الشخصي مثيلاً BluetoothHeadset
  4. ضِمن onServiceConnected()، الحصول على مؤشر لكائن الخادم الوكيل للملف الشخصي.
  5. وبمجرد أن يكون لديك كائن الخادم الوكيل للملف الشخصي، استخدمه لمراقبة حالة وإجراء عمليات أخرى ذات صلة بهذا الملف الشخصي.

يعرض مقتطف الرمز التالي طريقة الاتصال بخادم وكيل BluetoothHeadset بحيث يمكنك التحكم في الملف الشخصي لسماعة الرأس:

Kotlin

var bluetoothHeadset: BluetoothHeadset? = null

// Get the default adapter
val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter()

private val profileListener = object : BluetoothProfile.ServiceListener {

    override fun onServiceConnected(profile: Int, proxy: BluetoothProfile) {
        if (profile == BluetoothProfile.HEADSET) {
            bluetoothHeadset = proxy as BluetoothHeadset
        }
    }

    override fun onServiceDisconnected(profile: Int) {
        if (profile == BluetoothProfile.HEADSET) {
            bluetoothHeadset = null
        }
    }
}

// Establish connection to the proxy.
bluetoothAdapter?.getProfileProxy(context, profileListener, BluetoothProfile.HEADSET)

// ... call functions on bluetoothHeadset

// Close proxy connection after use.
bluetoothAdapter?.closeProfileProxy(BluetoothProfile.HEADSET, bluetoothHeadset)

Java

BluetoothHeadset bluetoothHeadset;

// Get the default adapter
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

private BluetoothProfile.ServiceListener profileListener = new BluetoothProfile.ServiceListener() {
    public void onServiceConnected(int profile, BluetoothProfile proxy) {
        if (profile == BluetoothProfile.HEADSET) {
            bluetoothHeadset = (BluetoothHeadset) proxy;
        }
    }
    public void onServiceDisconnected(int profile) {
        if (profile == BluetoothProfile.HEADSET) {
            bluetoothHeadset = null;
        }
    }
};

// Establish connection to the proxy.
bluetoothAdapter.getProfileProxy(context, profileListener, BluetoothProfile.HEADSET);

// ... call functions on bluetoothHeadset

// Close proxy connection after use.
bluetoothAdapter.closeProfileProxy(bluetoothHeadset);

أوامر المساعدة التقنية (AT) الخاصة بالمورّدين

يمكن للتطبيقات التسجيل لتلقّي عمليات بث النظام من التقنية المساعدة التقنية المحددة مسبقًا الخاصة بالمورّدين الأوامر المرسلة من خلال سماعات الرأس (مثل أمر Plantronics +XEVENT). على سبيل المثال: يمكن لتطبيق معيّن تلقّي رسائل بث تشير إلى مستوى بطارية الجهاز المتصل. ويمكنها إعلام المستخدم أو اتخاذ أي إجراء آخر حسب الحاجة. إنشاء بث مستلم ACTION_VENDOR_SPECIFIC_HEADSET_EVENT نية التعامل مع أوامر AT الخاصة بالبائعين لسماعة الرأس.

الملف الشخصي لجهاز Health

يتيح Android استخدام الملف الشخصي لجهاز Bluetooth Health (HDP). سلامة البلوتوث تتضمن واجهة برمجة التطبيقات الفئات BluetoothHealth، BluetoothHealthCallback, أو BluetoothHealthAppConfiguration, والموضحة في الفئات الرئيسية الواجهات.

عند استخدام Bluetooth Health API، من المفيد التعرّف على هذه البروتوكولات الأساسية المفاهيم:

المصدر
جهاز صحي، مثل ميزان الوزن أو مقياس الغلوكوز أو ميزان الحرارة، الذي تنقل البيانات الطبية إلى جهاز ذكي، مثل هاتف Android أو جهاز Android اللوحي.
مغسلة
الجهاز الذكي الذي يتلقّى البيانات الطبية في تطبيق HDP، يُمثل الحوض بالكائن BluetoothHealthAppConfiguration.
التسجيل
العملية المستخدمة لتسجيل حوض للتواصل بصحة معينة جهازك.
الاتصال
عملية فتح قناة بين جهاز سليم (المصدر) و جهاز ذكي (حوض).

إنشاء تطبيق HDP

إليك الخطوات الأساسية لإنشاء تطبيق HDP:

  1. الحصول على إشارة إلى عنصر الخادم الوكيل BluetoothHealth كما هو الحال مع العادي سماعة الرأس وأجهزة الملف الشخصي A2DP، يجب الاتصال بـ getProfileProxy() باستخدام BluetoothProfile.ServiceListener و نوع الملف الشخصي في HEALTH لإنشاء اتصال بكائن الخادم الوكيل للملف الشخصي.

  2. إنشاء BluetoothHealthCallback وتسجيل إعدادات التطبيق (BluetoothHealthAppConfiguration) الذي يعمل كبالوعات الصحية.

  3. الاتصال بجهاز صحي

  4. عند الاتصال بجهاز صحي بنجاح، عليك قراءة بيانات السلامة والكتابة إليها. الجهاز باستخدام واصف الملف. يجب تفسير البيانات المستلمة باستخدام مدير صحة، وهو تنفيذ IEEE 11073 المواصفات.

  5. عند الانتهاء، أغلِق قناة الصحة وألغِ تسجيل التطبيق. تقدّم القناة أيضًا ويتم إغلاقه عندما يكون هناك عدم نشاط ممتد.