Bluetooth və BLE: bu nədir, Classic ilə Low Energy arasındakı fərq və necə işləyir

Müəllif: IT Sectr Dərc olunub: 2026-03-24 Oxuma vaxtı: 12 dəq

Bluetooth və Bluetooth Low Energy qısa məsafələrdə məlumat ötürmək üçün simsiz rabitə standartlarıdır. Bluetooth Classic (BR/EDR) audio və fayllar üçün sabit bir axın kanalı təmin edir, BLE isə sensorlar və periferiya qurğuları ilə enerji səmərəli iş üçün optimallaşdırılmışdır. Bluetooth SIG, 2025 məlumatlarına görə, hər il BLE dəstəyi ilə 5 milyarddan çox cihaz göndərilir — standart IoT, geyilən elektronika və mobil aksesuarların əsasına çevrilmişdir.

Əsas məqamlar

  • Bluetooth Classic — 3 Mbit/s-ə qədər sürətlə və 10–30 mA enerji istehlakı ilə audio və məlumatların fasiləsiz ötürülməsi üçün BR/EDR standartı
  • Bluetooth Low Energy — pik cərəyanı 5–15 mA və batareya ömrü bir neçe il olan kiçik həcmli məlumatların aralıqlı ötürülməsi üçün protokol
  • GATT profili — mobil tətbiqin periferik cihazın xarakteristikalarını necə oxuduğunu müəyyənləşdirən vahid müştəri-server modeli
  • Advertising — BLE cihazının mərkəzi cihaz (smartfon) tərəfindən aşkarlanması üçün dövri olaraq mayak paketləri göndərmə mexanizmi
  • iOS və Android — platformalar müxtəlif API-lərdən (Core Bluetooth və android.bluetooth) istifadə edir, lakin hər ikisi GATT-ı dəstəkləyir — kod minimal dəyişikliklərlə daşına biləndir

Bluetooth və BLE nədir?

Bluetooth — ISM 2.4 GHz diapazonunda işləyən və 100 metrə qədər məsafədə cihazlar arasında əlaqə üçün nəzərdə tutulmuş simsiz fərdi şəbəkə (WPAN) standartıdır. IEEE 802.15.1 spesifikasiyası fiziki və MAC səviyyələrini müəyyənləşdirir, Bluetooth SIG yığını isə konkret ssenarilər üçün yuxarı səviyyəli profilləri müəyyənləşdirir: audio qulaqlıqlar (HSP), fayl ötürülməsi (OPP), klaviatura daxiletməsi (HID).

Standart 4.0 versiyasından (2010) etibarən iki qola ayrılmışdır: Bluetooth Classic (BR/EDR — Basic Rate / Enhanced Data Rate) və Bluetooth Low Energy (BLE, əvvəllər Bluetooth Smart). Classic fasiləsiz axınlar — audio zənglər, musiqi, fayllar üçün nəzərdə tutulmuşdur. BLE məlumatların onlarla saniyə və ya dəqiqə fasilələrlə qısa paketlərlə ötürüldüyü tətbiqlər — ürək döyüntü sensorları, etiketlər, temperatur sensorları üçün yaradılmışdır.

Bluetooth SIG (2025) məlumatlarına görə, yeni smartfonların 99%-i hər iki versiyanı dəstəkləyir və BLE ekosisteminə Blood Pressure-dən Environmental Sensing-ə qədər 15-dən çox profil növü daxildir.

Bluetooth Classic vs BLE: müqayisəli xarakteristika

Classic və BLE arasında seçim ssenaridən asılıdır: audio axını ötürülməsi üçün yalnız Classic uyğundur, saatda bir dəfə sensor sorğusu üçün isə yalnız BLE. BR/EDR 1 MHz addımla 79 kanaldan və adaptiv tezlik modulyasiyasından (AFH) istifadə edir, bu da Wi-Fi müdaxilələrinə qarşı dayanıqlılığı təmin edir.

ParametrBluetooth Classic (BR/EDR)Bluetooth Low Energy (BLE)
Ötürmə sürəti1–3 Mbit/s (EDR)125 kbit/s – 2 Mbit/s (LE 2M PHY)
Pik cərəyan10–30 mA5–15 mA
Yayım vaxtı~100 ms~3 ms
TopologiyaPiconet (1 master, 7 slave-dək)Broadcaster / Observer / Peripheral / Central
ProfillərHFP, A2DP, HSP, SPP, OPPGATT əsaslı (HRS, BLS, CTS və s.)
Tipik cihazlarQulaqlıqlar, dinamiklər, avtomobil hands-free dəstləriFitness bilərziklər, etiketlər, ürək döyüntü sensorları, IoT sensorları
UyğunluqFiziki səviyyədə BLE ilə uyğun deyilİki rejimli çiplər hər iki yığını dəstəkləyir

BLE 5.x açıq ərazidə məsafəni 1 km-ə qədər artırmaq üçün LE Coded PHY və LC3 kodeki ilə LE Audio əlavə etdi — yeni versiya audio ssenarilərdə Classic və BLE arasındakı sərhədi tədricən bulandırır.

BLE arxitekturası: Controller, Host və Application

BLE yığını üç səviyyəyə bölünür: Controller (fiziki və əlaqə səviyyələri), Host (L2CAP, ATT, GATT, Security Manager) və Application (tətbiqdə profil tətbiqi). Bu bölgü çip istehsalçısına Controller-i firmware-də tətbiq etməyə, mobil tətbiq tərtibatçısına isə yalnız GATT abstraksiyaları ilə işləməyə imkan verir.

Link Layer (LL) yayım vaxtını idarə edir: cihaz Standby, Advertising, Scanning, Initiating və Connection vəziyyətləri arasında keçid edir. Connected vəziyyətində Central və Peripheral connection interval — məlumat paketlərinin mübadilə tezliyi barədə razılaşır. Tipik interval 7.5–1000 ms təşkil edir; mübadilə nə qədər tez-tez olarsa, ötürmə qabiliyyəti bir o qədər yüksək və enerji istehlakı bir o qədər çox olar.

Security Manager (SM) pairing protokolu vasitəsilə açar mübadiləsi ilə AES-128 şifrələməni tətbiq edir. Üç rejim fərqləndirilir: Just Works (PIN daxil etmədən), Passkey Entry (ekranda 6 rəqəmli kod) və OOB (NFC və ya QR). Geyilən cihazlar üçün adətən Just Works, tibbi cihazlar üçün isə əlavə yoxlama ilə OOB istifadə olunur.

Bluetooth Core Specification 5.4 (2023) məlumatlarına görə, LE Secure Connections rejimində təhlükəsiz əlaqənin qurulma vaxtı connection interval 30 ms olduqda 300 ms-dən çox deyil.

GATT profili: xidmətlər, xarakteristikalar və deskriptorlar

ATT (Attribute Protocol) protokolu — serverin (periferik cihaz) atributları saxladığı və müştərinin (smartfon) onları oxuduğu və ya yazdığı əsas nəqliyyat modelidir. GATT (Generic Attribute Profile) ATT üzərində iyerarxiya qurur: Service → Characteristic → Descriptor.

Hər bir xidmət cihazın bir funksiyasını təsvir edən xarakteristikaların məntiqi qrupudur: Heart Rate Service (UUID 0x180D) bildirişləri idarə edən Descriptor Client Characteristic Configuration (0x2902) ilə Heart Rate Measurement (UUID 0x2A37) xarakteristikasını ehtiva edir. Mobil tətbiq tərtibatçısı discoverServices() vasitəsilə xidmətlər siyahısını alır, sonra UUID üzrə lazımi xarakteristikanı tapır və bildirişlərə abunə olur.

BLE standartlaşdırılmış Bluetooth SIG xidmətləri üçün 16-bitlik UUID-dən və istehsalçının fərdi xidmətləri üçün 128-bitlik UUID-dən istifadə edir. Məsələn, etiket qutusu öz batareyasının doldurulma səviyyəsini ötürmək üçün xarakteristika ilə A000-… xidməti təyin edə bilər.

Kotlin-də GATT ilə iş nümunəsi (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("Nəbz: $heartRate vuruş/dəq")
    }
}

Nümunədə tətbiq Bluetooth SIG standart UUID-si ilə Heart Rate xidmətini tapır, nəbz ölçmə xarakteristikasını alır və onun bildirişlərinə abunə olur — nəbz hər dəyişəndə periferik cihaz Central-dən açıq sorğu olmadan məlumat göndərir.

Advertising, skan etmə və qoşulma

Advertising — BLE-nin əsas mexanizmidir, burada Peripheral cihaz üç ilkin kanalda (37, 38, 39) dövri olaraq yayım paketləri (advertising PDUs) göndərir. Mərkəzi cihaz bu kanalları skan edir, advertising məlumatlarını alır və əlaqə başlada bilər.

Advertising paketi 31 bayta qədər faydalı yük ehtiva edir: bayraqlar, TX güc səviyyəsi, yerli ad, xidmət UUID-ləri, istehsalçıya xas məlumatlar. Bu, əlaqə qurmadan sensor oxunuşlarını ötürmək üçün kifayətdir — Connectionless rejimi (Broadcaster növü). Davamlı məlumat ötürülməsi üçün (məsələn, dəqiqədə bir dəfə temperatur) 1000 ms-ə qədər connection interval ilə əlaqə istifadə olunur.

Mobil platformada skan etmə startScan() (Android) və ya scanForPeripherals() (iOS) vasitəsilə işə salınır. Xidmət UUID-si üzrə filtrləmə bütün görünən cihazları emal etməyə enerji sərf etməməyə imkan verir — tətbiq yalnız maraqlı etiketlər və ya sensorlar üçün callback alır.

Swift-də BLE cihazlarını skan etmə nümunəsi (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("Cihaz tapıldı: \(name)")
        }
    }
}

Cihaz aşkarlanandan sonra Central CBPeripheral obyektini ötürərək connect() funksiyasını çağırır. Əlaqə parametrləri (interval, latency, supervision timeout) Link Layer səviyyəsində razılaşdırılır — tərtibatçı onları birbaşa idarə etmir, lakin Android-də requestConnectionPriority vasitəsilə təsir edə bilər.

Bluetooth LE mobil tətbiqlərdə: Core Bluetooth və android.bluetooth

Hər iki mobil platforma BLE ilə iş üçün yerli API təqdim edir. Core Bluetooth (iOS) nümayəndə yanaşmasından istifadə edir: mərkəzi menecer əməliyyatları başladır, periferik obyekt isə nəticələr barədə nümayəndə metodları vasitəsilə məlumat verir. android.bluetooth (Android) callback interfeysləri üzərində qurulmuşdur və bir neçe cihazla paralel GATT əməliyyatlarını dəstəkləyir.

Platformalar arasındakı əsas fərqlər:

  • iOS — 7-yə qədər eyni vaxtlı əlaqəni dəstəkləyir; fon rejimi BLE UIBackgroundModes = bluetooth-central tələb edir; fondan çıxdıqdan sonra sistem callback-ləri bir neçə dəqiqə gecikdirə bilər
  • Android — sabit əlaqə limiti yoxdur (yaddaş məhdudiyyəti); BLUETOOTH_SCAN və BLUETOOTH_CONNECT icazələrini tələb edir (Android 12+); etibarlı fon skan edilməsi üçün foreground service tələb olunur
  • Flutter — flutter_blue_plus paketi platforma API-lərini vahid Dart interfeysi ilə abstraksiyalaşdırır: skan etmə və GATT əməliyyatları üçün kod hər iki platformada eynidir

Bluetooth SIG testlərinə (2024) görə, smartfonun fitness bilərziyi ilə BLE əlaqə vaxtı Android-də orta hesabla 150–300 ms, iOS-da isə 100–250 ms təşkil edir — fərq radio tezlik modulunun idarəetmə siyasətləri ilə bağlıdır.

Dart-da BLE qoşulma nümunəsi (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 tərtibatçısı vahid API interfeysi alır, onun altında flutter_blue_plus çağırışları yerli android.bluetooth və ya Core Bluetooth-a tərcümə edir. Bu yanaşma hər iki platformada BLE periferiyası ilə işləmək üçün tətbiq hazırlama vaxtını azaldır.

Tez-tez verilən suallar

Bluetooth Classic və BLE arasındakı fərq nədir?

Bluetooth Classic (BR/EDR) fasiləsiz axın ötürülməsi — audio zənglər, musiqi, fayl ötürülməsi üçün nəzərdə tutulmuşdur. BLE minimal enerji istehlakı ilə qısa məlumat paketləri — sensorlar, etiketlər, fitness trekkerlər üçün optimallaşdırılmışdır. Classic 10–30 mA, BLE isə pikdə 5–15 mA istehlak edir.

Bluetooth Classic və BLE öz aralarında uyğundurmu?

Fiziki səviyyədə onlar uyğun deyil — fərqli modulyasiya və kanal xəritəsi. Bununla belə, müasir çiplərin əksəriyyəti iki rejimlidir (dual-mode) və hər iki yığını tətbiq edir. İki rejimli çipli smartfon eyni vaxtda Classic qulaqlıq və BLE trekeri ilə əlaqə saxlaya bilər.

BLE-də connection interval nədir?

Connection interval qurulmuş əlaqədə iki məlumat paketi arasındakı vaxt intervalıdır. Dəyər 7.5 ms-dən 4 saniyəyə qədər dəyişir. Interval nə qədər kiçik olarsa, ötürmə qabiliyyəti bir o qədər yüksək və enerji istehlakı bir o qədər çox olar. Dəqiqədə bir dəfə temperatur sensuru üçün 1000 ms interval istifadə olunur.

BLE-də pairing necə işləyir?

Pairing Central və Peripheral arasında şifrələmə açarlarının mübadiləsi prosesidir. BLE üç metodu dəstəkləyir: Just Works (təsdiqləmədən), Passkey Entry (ekranda PIN daxil etmə) və OOB (NFC və ya QR vasitəsilə mübadilə). Pairingdən sonra cihazlar açarları saxlayır (bonding) və təkrarı qoşulmada yenidən autentifikasiya tələb etmir.

Mobil tətbiqlərdə hansı BLE profilləri istifadə olunur?

Ən geniş yayılmışlar: ürək döyüntü sensorları üçün Heart Rate Profile (0x180D), tonometrlər üçün Blood Pressure Profile (0x1810), temperatur və rütubət sensorları üçün Environmental Sensing (0x181A), doldurulma səviyyəsi üçün Battery Service (0x180F), model və seriya nömrəsi üçün Device Information (0x180A).

Nəticə

  • Bluetooth — 2.4 GHz diapazonunda WPAN standartı, 4.0 versiyasından Classic (BR/EDR) və Low Energy (BLE) bölünür
  • Bluetooth Classic 3 Mbit/s sürətə qədər təmin edir və audio qulaqlıqlar və fayl ötürülməsi üçün istifadə olunur
  • BLE aşağı enerji istehlakı (5–15 mA) üçün optimallaşdırılmışdır və IoT, fitness bilərziklər və sensorlarda istifadə olunur
  • GATT profili ATT protokolu vasitəsilə mübadilə ilə məlumatları Service → Characteristic → Descriptor iyerarxiyasında təşkil edir
  • Advertising periferik cihazlara əlaqə qurmadan üç ilkin kanalda məlumat ötürməyə imkan verir
  • iOS (Core Bluetooth) və Android (android.bluetooth) fon işi və icazələrə fərqli yanaşmalarla yerli API-lər təqdim edir
  • Flutter (flutter_blue_plus) platforma API-lərini çarpaz platforma tətbiqi üçün vahid Dart interfeysində birləşdirir

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun