Bluetooth و BLE: ما هو، الفرق بين Classic و Low Energy وكيف يعمل

المؤلف: IT Sectr نُشر: 2026-03-24 وقت القراءة: 12 دق

Bluetooth و Bluetooth Low Energy هما معياران للاتصال اللاسلكي لنقل البيانات لمسافات قصيرة. يوفر Bluetooth Classic (BR/EDR) قناة دفق مستقرة للصوت والملفات، بينما تم تحسين BLE للتشغيل الموفر للطاقة مع أجهزة الاستشعار والأجهزة الطرفية. وفقًا لـ Bluetooth SIG، 2025، يتم شحن أكثر من 5 مليارات جهاز مع دعم BLE سنويًا — أصبح المعيار أساس إنترنت الأشياء والإلكترونيات القابلة للارتداء وملحقات الأجهزة المحمولة.

النقاط الرئيسية

  • Bluetooth Classic — معيار BR/EDR للنقل المستمر للصوت والبيانات بسرعة تصل إلى 3 ميجابت/ثانية باستهلاك طاقة 10–30 مللي أمبير
  • Bluetooth Low Energy — بروتوكول للنقل المتقطع لكميات صغيرة من البيانات بتيار ذروة 5–15 مللي أمبير وعمر بطارية يصل إلى عدة سنوات
  • ملف تعريف GATT — نموذج موحد خادم-عميل يحدد كيفية قراءة تطبيق الهاتف المحمول لخصائص الجهاز الطرفي
  • الإعلان (Advertising) — آلية يرسل بها جهاز BLE بشكل دوري حزم منارة لاكتشافها بواسطة الجهاز المركزي (الهاتف الذكي)
  • iOS و Android — تستخدم المنصات واجهات برمجة تطبيقات مختلفة (Core Bluetooth و android.bluetooth)، لكن كلاهما يدعم GATT — الكود قابل للنقل مع تعديلات طفيفة

ما هما Bluetooth و BLE؟

Bluetooth هو معيار شبكة شخصية لاسلكية (WPAN) يعمل في نطاق ISM 2.4 جيجاهرتز، مصمم للاتصال بين الأجهزة على مسافات تصل إلى 100 متر. تحدد مواصفة IEEE 802.15.1 الطبقتين المادية و MAC، بينما تحدد حزمة Bluetooth SIG ملفات التعريف عالية المستوى لسيناريوهات محددة: سماعات الصوت (HSP)، نقل الملفات (OPP)، إدخال لوحة المفاتيح (HID).

انقسم المعيار إلى فرعين منذ الإصدار 4.0 (2010): Bluetooth Classic (BR/EDR — Basic Rate / Enhanced Data Rate) و Bluetooth Low Energy (BLE، المعروف سابقًا باسم Bluetooth Smart). Classic مصمم للتدفقات المستمرة — مكالمات الصوت والموسيقى والملفات. تم إنشاء BLE للتطبيقات حيث تُنقل البيانات في حزم قصيرة مع فترات توقف تصل إلى عشرات الثواني أو الدقائق — أجهزة قياس معدل ضربات القلب والعلامات وأجهزة استشعار درجة الحرارة.

وفقًا لـ Bluetooth SIG (2025)، فإن 99% من الهواتف الذكية الجديدة تدعم كلا الإصدارين، ويضم نظام BLE البيئي أكثر من 15 نوعًا من ملفات التعريف من Blood Pressure إلى Environmental Sensing.

Bluetooth Classic مقابل BLE: مقارنة

يعتمد الاختيار بين Classic و BLE على السيناريو: لدفق الصوت فقط Classic مناسب، لاستقصاء جهاز استشعار مرة في الساعة — فقط BLE. يستخدم BR/EDR 79 قناة بتباعد 1 ميجاهرتز وقفز التردد التكيفي (AFH)، مما يوفر مقاومة لتداخل Wi-Fi.

المعاملBluetooth Classic (BR/EDR)Bluetooth Low Energy (BLE)
سرعة النقل1–3 ميجابت/ثانية (EDR)125 كيلوبت/ثانية – 2 ميجابت/ثانية (LE 2M PHY)
التيار الأقصى10–30 مللي أمبير5–15 مللي أمبير
وقت البث~100 مللي ثانية~3 مللي ثانية
طوبولوجياPiconet (سيد واحد، حتى 7 عبيد)Broadcaster / Observer / Peripheral / Central
ملفات التعريفHFP، A2DP، HSP، SPP، OPPقائمة على GATT (HRS، BLS، CTS، إلخ.)
الأجهزة النموذجيةسماعات الرأس، مكبرات الصوت، حر اليدين في السيارةأساور اللياقة البدنية، العلامات، أجهزة قياس النبض، أجهزة استشعار إنترنت الأشياء
التوافقغير متوافق مع BLE على المستوى الماديالرقائق ثنائية الوضع تدعم كلا الحزمتين

أضاف BLE 5.x LE Coded PHY لزيادة المدى حتى 1 كم (في المناطق المفتوحة) و LE Audio مع برنامج ترميز LC3 — الإصدار الجديد يعمل تدريجياً على طمس الحدود بين Classic و BLE لسيناريوهات الصوت.

هندسة BLE: المتحكم والمضيف والتطبيق

تنقسم حزمة BLE إلى ثلاث طبقات: المتحكم (Controller) (الطبقة المادية وطبقة الارتباط)، المضيف (Host) (L2CAP، ATT، GATT، مدير الأمان)، و التطبيق (Application) (تنفيذ ملف التعريف في التطبيق). يسمح هذا الفصل لصانع الرقاقة بتنفيذ المتحكم في البرامج الثابتة، بينما يعمل مطور تطبيق الهاتف المحمول فقط مع تجريدات GATT.

تدير طبقة الارتباط (LL) وقت البث: يتحول الجهاز بين حالات الاستعداد والإعلان والمسح والبدء والاتصال. في حالة الاتصال، يتفق Central و Peripheral على فترة الاتصال — التردد الذي يتبادلان به حزم البيانات. الفاصل الزمني النموذجي هو 7.5–1000 مللي ثانية؛ كلما كان التبادل أكثر تكرارًا، زاد الإنتاجية وزاد استهلاك الطاقة.

ينفذ مدير الأمان (SM) تشفير AES-128 مع تبادل المفاتيح عبر بروتوكول الإقران. هناك ثلاثة أوضاع: Just Works (بدون إدخال PIN)، Passkey Entry (رمز مكون من 6 أرقام على الشاشة)، و OOB (NFC أو QR). للأجهزة القابلة للارتداء، يُستخدم Just Works عادةً، للأجهزة الطبية — OOB مع تحقق إضافي.

وفقًا لـ Bluetooth Core Specification 5.4 (2023)، لا يتجاوز وقت إنشاء الاتصال الآمن في وضع LE Secure Connections 300 مللي ثانية بفاصل اتصال 30 مللي ثانية.

ملف تعريف GATT: الخدمات والخصائص والواصفات

ATT (بروتوكول السمة) هو نموذج النقل الأساسي حيث يخزن الخادم (الجهاز الطرفي) السمات ويقرأها أو يكتبها العميل (الهاتف الذكي). يبني GATT (ملف تعريف السمة العام) تسلسلاً هرميًا فوق ATT: Service ← Characteristic ← Descriptor.

كل خدمة هي مجموعة منطقية من الخصائص تصف وظيفة جهاز واحدة: خدمة معدل ضربات القلب (UUID 0x180D) تحتوي على خاصية قياس معدل ضربات القلب (UUID 0x2A37) مع واصف تهيئة خاصية العميل (0x2902) الذي يتحكم في الإشعارات. يحصل مطور تطبيق الهاتف المحمول على قائمة الخدمات عبر discoverServices()، ثم يجد الخاصية المطلوبة بواسطة UUID ويشترك في الإشعارات.

يستخدم BLE UUIDs ذات 16 بت للخدمات الموحدة من Bluetooth SIG و UUIDs ذات 128 بت للخدمات المخصصة للشركة المصنعة. على سبيل المثال، يمكن لحافظة متتبعة تعريف خدمة A000-… مع خاصية لنقل مستوى شحن بطاريتها.

مثال للعمل مع GATT في Kotlin (Android)

kotlin
private val gattCallback = object BluetoothGattCallback() {
    override fun onServicesDiscovered(
        gatt: BluetoothGatt, status: Int
    ) {
        val service = gatt.getService(UUID.fromString("0000180d-0000-1000-8000-00805f9b34fb"))
        val char = service?.getCharacteristic(
            UUID.fromString("00002a37-0000-1000-8000-00805f9b34fb")
        )
        gatt.setCharacteristicNotification(char, true)
    }

    override fun onCharacteristicChanged(
        gatt: BluetoothGatt, char: BluetoothGattCharacteristic
    ) {
        val heartRate = char.getIntValue(BluetoothGattCharacteristic.FORMAT_UINT8, 1)
        updateUi("النبض: $heartRate نبضة/دقيقة")
    }
}

في المثال، يجد التطبيق خدمة Heart Rate عبر UUID القياسي لـ Bluetooth SIG، ويحصل على خاصية قياس النبض ويشترك في إشعاراتها — كلما تغير النبض، يرسل الجهاز الطرفي البيانات دون طلب صريح من Central.

الإعلان والمسح وإنشاء الاتصال

الإعلان (Advertising) هو آلية رئيسية في BLE حيث يرسل الجهاز الطرفي بشكل دوري حزم بث (PDUs إعلانية) على ثلاث قنوات أساسية (37، 38، 39). يمسح الجهاز المركزي هذه القنوات، ويتلقى بيانات الإعلان، ويمكنه بدء اتصال.

تحتوي حزمة الإعلان على ما يصل إلى 31 بايت من الحمولة: الأعلام، مستوى طاقة الإرسال، الاسم المحلي، UUIDs الخدمات، بيانات خاصة بالشركة المصنعة. هذا يكفي لنقل قراءات الاستشعار دون إنشاء اتصال — وضع Connectionless (نوع Broadcaster). لنقل البيانات المستمر (على سبيل المثال، درجة الحرارة مرة في الدقيقة)، يُستخدم اتصال بفاصل يصل إلى 1000 مللي ثانية.

على المنصات المحمولة، يبدأ المسح عبر startScan() (Android) أو scanForPeripherals() (iOS). يتيح التصفية بواسطة UUID الخدمة توفير الطاقة بعدم معالجة جميع الأجهزة المرئية — يتلقى التطبيق رد اتصال فقط للعلامات أو أجهزة الاستشعار ذات الصلة.

مثال لمسح أجهزة BLE في Swift (iOS)

swift
import CoreBluetooth

class ScannerViewController: UIViewController {
    private var centralManager: CBCentralManager!

    override func viewDidLoad() {
        centralManager = CBCentralManager(
            delegate: self, queue: nil
        )
    }

    func centralManagerDidUpdateState(central: CBCentralManager) {
        if central.state == .poweredOn {
            centralManager.scanForPeripherals(
                withServices: nil, options: nil
            )
        }
    }

    func centralManager(
        central: CBCentralManager,
        didDiscover peripheral: CBPeripheral,
        advertisementData: [String : Any],
        rssi RSSI: NSNumber
    ) {
        if let name = advertisementData[CBAdvertisementDataLocalNameKey] {
            print("تم العثور على الجهاز: \(name)")
        }
    }
}

بعد اكتشاف الجهاز، يستدعي Central connect()، مررًا كائن CBPeripheral. يتم التفاوض على معلمات الاتصال (الفاصل، زمن الوصول، مهلة الإشراف) على مستوى طبقة الارتباط — لا يديرها المطور مباشرة، لكن يمكنه التأثير عبر requestConnectionPriority على Android.

Bluetooth LE في تطوير التطبيقات المحمولة: Core Bluetooth و android.bluetooth

توفر كلتا المنصتين المحمولتين واجهات برمجة تطبيقات أصلية للعمل مع BLE. يستخدم Core Bluetooth (iOS) نهج المفوض: يبدأ المدير المركزي العمليات، ويبلغ الكائن الطرفي عن النتائج عبر طرق المفوض. تم بناء android.bluetooth (Android) على واجهات رد الاتصال ويدعم عمليات GATT المتوازية مع أجهزة متعددة.

الاختلافات الرئيسية بين المنصتين:

  • iOS — يدعم حتى 7 اتصالات متزامنة؛ يتطلب وضع BLE في الخلفية UIBackgroundModes = bluetooth-central؛ بعد مغادرة المقدمة، قد يؤخر النظام ردود الاتصال لعدة دقائق
  • Android — لا يوجد حد ثابت للاتصالات (محدود بالذاكرة)؛ يتطلب أذونات BLUETOOTH_SCAN و BLUETOOTH_CONNECT (Android 12+)؛ خدمة المقدمة ضرورية للمسح الموثوق في الخلفية
  • Flutter — حزمة flutter_blue_plus تجرد واجهات برمجة تطبيقات المنصة بواجهة Dart موحدة: الكود للمسح وعمليات GATT متطابق على كلتا المنصتين

وفقًا لاختبارات Bluetooth SIG (2024)، يبلغ متوسط وقت اتصال BLE بين الهاتف الذكي وسوار اللياقة البدنية 150–300 مللي ثانية على Android و 100–250 مللي ثانية على iOS — الفرق ناتج عن سياسات إدارة وحدة الترددات الراديوية.

مثال اتصال BLE في Dart (Flutter)

dart
import 'package:flutter_blue_plus/flutter_blue_plus.dart';

class BleService {
  final FlutterBluePlus fbp = FlutterBluePlus();

  Future<void> scanAndConnect(String deviceName) async {
    await fbp.startScan(timeout: Duration(seconds: 15));

    await for (final result in fbp.scanResults) {
      if (result.device.advName == deviceName) {
        await fbp.stopScan();
        await result.device.connect();
        break;
      }
    }
  }
}

يحصل مطور Flutter على واجهة API موحدة؛ تحت الغطاء، يترجم flutter_blue_plus الاستدعاءات إلى android.bluetooth الأصلي أو Core Bluetooth. يقلل هذا النهج من وقت تطوير التطبيق للعمل مع الأجهزة الطرفية BLE على كلتا المنصتين.

الأسئلة الشائعة

ما الفرق بين Bluetooth Classic و BLE؟

Bluetooth Classic (BR/EDR) مصمم للبث المستمر — مكالمات الصوت والموسيقى ونقل الملفات. BLE محسّن لحزم البيانات القصيرة باستهلاك طاقة ضئيل — أجهزة الاستشعار والعلامات وأجهزة تتبع اللياقة البدنية. يستهلك Classic 10–30 مللي أمبير، و BLE — 5–15 مللي أمبير في الذروة.

هل Bluetooth Classic و BLE متوافقان مع بعضهما البعض؟

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

ما هي فترة الاتصال في BLE؟

فترة الاتصال هي الوقت بين حزمتي بيانات في اتصال قائم. تتراوح القيمة من 7.5 مللي ثانية إلى 4 ثوانٍ. كلما كانت الفترة أقصر، زاد الإنتاجية وزاد استهلاك الطاقة. لمستشعر درجة حرارة يقرأ مرة في الدقيقة، تُستخدم فترة 1000 مللي ثانية.

كيف يعمل الإقران في BLE؟

الإقران هو عملية تبادل مفاتيح التشفير بين Central و Peripheral. يدعم BLE ثلاث طرق: Just Works (بدون تأكيد)، Passkey Entry (إدخال PIN على الشاشة)، و OOB (التبادل عبر NFC أو QR). بعد الإقران، تخزن الأجهزة المفاتيح (الربط) ولا تطلب إعادة المصادقة عند الاتصالات اللاحقة.

ما هي ملفات تعريف BLE المستخدمة في تطبيقات الهاتف المحمول؟

الأكثر شيوعًا: Heart Rate Profile (0x180D) لأجهزة قياس النبض، Blood Pressure Profile (0x1810) لأجهزة قياس الضغط، Environmental Sensing (0x181A) لأجهزة استشعار درجة الحرارة والرطوبة، Battery Service (0x180F) لمستوى الشحن، Device Information (0x180A) للطراز والرقم التسلسلي.

الملخص

  • Bluetooth هو معيار WPAN في نطاق 2.4 جيجاهرتز، مقسم إلى Classic (BR/EDR) و Low Energy (BLE) منذ الإصدار 4.0
  • Bluetooth Classic يوفر سرعات تصل إلى 3 ميجابت/ثانية ويستخدم لسماعات الصوت ونقل الملفات
  • BLE محسّن لاستهلاك الطاقة المنخفض (5–15 مللي أمبير) ويستخدم في إنترنت الأشياء وأساور اللياقة البدنية وأجهزة الاستشعار
  • ملف تعريف GATT ينظم البيانات في تسلسل هرمي Service ← Characteristic ← Descriptor مع التبادل عبر بروتوكول ATT
  • الإعلان يسمح للأجهزة الطرفية بنقل البيانات دون إنشاء اتصال على ثلاث قنوات أساسية
  • iOS (Core Bluetooth) و Android (android.bluetooth) يوفران واجهات برمجة تطبيقات أصلية بأساليب مختلفة للعمل في الخلفية والأذونات
  • Flutter (flutter_blue_plus) يوحد واجهات برمجة تطبيقات المنصة بواجهة Dart واحدة للتطوير عبر المنصات

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا