Bluetooth és BLE: mi ez, a Classic és Low Energy közötti különbség és hogyan működik

Szerző: IT Sectr Megjelenés: 2026-03-24 Olvasási idő: 12 perc

A Bluetooth és a Bluetooth Low Energy vezeték nélküli kommunikációs szabványok rövid távolságú adatátvitelre. A Bluetooth Classic (BR/EDR) stabil stream csatornát biztosít audio és fájlok számára, míg a BLE energiahatékony működésre van optimalizálva érzékelőkkel és perifériákkal. A Bluetooth SIG, 2025 adatai szerint évente több mint 5 milliárd BLE-támogatással rendelkező eszközt szállítanak — a szabvány az IoT, a viselhető elektronika és a mobil tartozékok alapjává vált.

Főbb pontok

  • Bluetooth Classic — BR/EDR szabvány audio és adatok folyamatos továbbítására akár 3 Mbit/s sebességgel és 10–30 mA áramfelvétellel
  • Bluetooth Low Energy — protokoll kis mennyiségű adatok időszakos továbbítására 5–15 mA csúcsárammal és akár évekig tartó akkumulátor-élettartammal
  • GATT-profil — egységes kliens-szerver modell, amely meghatározza, hogy a mobilalkalmazás hogyan olvassa a periféria eszköz jellemzőit
  • Advertising — mechanizmus, amelynél a BLE eszköz időszakosan jeladó csomagokat küld a központi eszköz („okostelefon") általi észleléshez
  • iOS és Android — a platformok különböző API-kat (Core Bluetooth és android.bluetooth) használnak, de mindkettő támogatja a GATT-ot — a kód minimális módosításokkal átvihető

Mi az a Bluetooth és BLE?

Bluetooth — egy vezeték nélküli személyi hálózati (WPAN) szabvány, amely az ISM 2,4 GHz-es sávban működik és akár 100 méteres távolságban lévő eszközök közötti kommunikációra szolgál. Az IEEE 802.15.1 specifikáció meghatározza a fizikai és MAC réteget, a Bluetooth SIG verem pedig a magasabb szintű profilokat specifikus forgatókönyvekhez: audio headsetek (HSP), fájlátvitel (OPP), billentyűzetbemenet (HID).

A szabvány a 4.0-s verziótól (2010) két ágra szakadt: Bluetooth Classic (BR/EDR) és Bluetooth Low Energy (BLE, korábban Bluetooth Smart). A Classic folyamatos streamekhez — audio hívások, zene, fájlok. A BLE olyan alkalmazásokhoz készült, ahol az adatokat rövid csomagokban továbbítják tízes másodperces vagy perces szünetekkel — pulzusmérők, címkék, hőmérséklet-érzékelők.

A Bluetooth SIG (2025) szerint az új okostelefonok 99%-a támogatja mindkét verziót, és a BLE ökoszisztéma több mint 15 profil típust foglal magában a Blood Pressure-től az Environmental Sensing-ig.

Bluetooth Classic vs BLE: összehasonlító jellemzők

A Classic és BLE közötti választás a forgatókönyvtől függ: audio streaminghez csak a Classic alkalmas, óránkénti érzékelő leolvasáshoz — csak a BLE. BR/EDR 79 csatornát használ 1 MHz-es lépéssel és adaptív frekvenciamodulációt (AFH), biztosítva a Wi-Fi interferenciával szembeni ellenállóképességet.

ParaméterBluetooth Classic (BR/EDR)Bluetooth Low Energy (BLE)
Adatátviteli sebesség1–3 Mbit/s (EDR)125 kbit/s – 2 Mbit/s (LE 2M PHY)
Csúcsáram10–30 mA5–15 mA
Adási idő~100 ms~3 ms
TopológiaPiconet (1 master, akár 7 slave)Broadcaster / Observer / Peripheral / Central
ProfilokHFP, A2DP, HSP, SPP, OPPGATT-alapú (HRS, BLS, STS stb.)
Tipikus eszközökHeadsetek, hangszórók, autós hands-free készletekFitness karkötők, címkék, pulzusmérők, IoT érzékelők
KompatibilitásNem kompatibilis a BLE-vel fizikai szintenKétmodús chipek mindkét vermet támogatják

A BLE 5.x hozzáadta az LE Coded PHY-t a hatótávolság 1 km-re növeléséhez (nyílt területen) és az LE Audio-t LC3 kodekkel — az új verzió fokozatosan elmossa a határt Classic és BLE között audio forgatókönyvekben.

BLE architektúra: Controller, Host és Application

A BLE verem három rétegre van osztva: Controller (fizikai és kapcsolati réteg), Host (L2CAP, ATT, GATT, Security Manager) és Application (profil megvalósítása az alkalmazásban). Ez a felosztás lehetővé teszi a chipgyártó számára a Controller firmware-ben történő megvalósítását, a mobilalkalmazás-fejlesztő számára pedig csak a GATT absztrakciókkal való munkát.

A Link Layer (LL) kezeli az adási időt: az eszköz átkapcsol a Standby, Advertising, Scanning, Initiating és Connection állapotok között. Connected állapotban a Central és Peripheral megállapodik a connection intervallumban — az adatcsomagok cseréjének gyakoriságában. Tipikus intervallum 7,5–1000 ms; minél gyakoribb a csere, annál magasabb a sávszélesség és az energiafogyasztás.

A Security Manager (SM) AES-128 titkosítást valósít meg kulcscserével a pairing protokollon keresztül. Három mód különböztethető meg: Just Works (PIN megadása nélkül), Passkey Entry (6 jegyű kód a képernyőn) és OOB (NFC vagy QR). Viselhető eszközökhöz általában Just Works, orvosi eszközökhöz pedig OOB használatos további ellenőrzéssel.

A Bluetooth Core Specification 5.4 (2023) szerint a biztonságos kapcsolat létrehozásának ideje LE Secure Connections módban nem haladja meg a 300 ms-ot 30 ms connection intervallum mellett.

GATT-profil: szolgáltatások, jellemzők és leírók

Az ATT (Attribute Protocol) — alapvető szállítási modell, ahol a szerver (periféria eszköz) attribútumokat tárol, és az ügyfél (okostelefon) olvassa vagy írja azokat. A GATT (Generic Attribute Profile) hierarchiát épít az ATT-re: Service → Characteristic → Descriptor.

Minden szolgáltatás az eszköz egy funkcióját leíró jellemzők logikai csoportja: Heart Rate Service (UUID 0x180D) tartalmazza a Heart Rate Measurement jellemzőt (UUID 0x2A37) a Descriptor Client Characteristic Configuration (0x2902) leíróval, amely az értesítéseket kezeli. A mobilalkalmazás-fejlesztő megkapja a szolgáltatások listáját a discoverServices() segítségével, majd UUID alapján megtalálja a kívánt jellemzőt és feliratkozik az értesítésekre.

A BLE 16 bites UUID-t használ a szabványosított Bluetooth SIG szolgáltatásokhoz és 128 bites UUID-t a gyártó egyedi szolgáltatásaihoz. Például egy tracker tok definiálhatja az A000-… szolgáltatást egy jellemzővel a saját akkumulátora töltési szintjének továbbításához.

Példa GATT-tal való munkára Kotlinban (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("Pulzus: $heartRate ütés/perc")
    }
}

A példában az alkalmazás megtalálja a Heart Rate szolgáltatást a standard Bluetooth SIG UUID alapján, lekéri a pulzusmérés jellemzőt és feliratkozik az értesítéseire — minden pulzusváltozáskor a periféria eszköz adatokat küld a Central explicit kérése nélkül.

Advertising, szkennelés és kapcsolat létrehozása

Advertising — a BLE kulcsmechanizmusa, ahol a Peripheral eszköz időszakosan műsorszóró csomagokat (advertising PDUs) küld három elsődleges csatornán (37, 38, 39). A központi eszköz szkenneli ezeket a csatornákat, fogadja az advertising adatokat és kezdeményezheti a kapcsolatot.

Az advertising csomag legfeljebb 31 bájt hasznos terhet tartalmaz: jelzők, TX teljesítményszint, helyi név, szolgáltatás UUID-k, gyártóspecifikus adatok. Ez elegendő érzékelő állapotának továbbításához kapcsolat létrehozása nélkül — Connectionless mód (Broadcaster típus). Folyamatos adattovábbításhoz (pl. hőmérséklet percenként) kapcsolatot használnak akár 1000 ms connection intervallummal.

Mobil platformon a szkennelés a startScan() (Android) vagy scanForPeripherals() (iOS) segítségével indul. A szolgáltatás UUID alapján történő szűrés energiát takarít meg — az alkalmazás csak a számára érdekes címkékről vagy érzékelőkről kap callback-et.

Példa BLE eszközök szkennelésére Swiftben (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("Eszköz találva: \(name)")
        }
    }
}

Az eszköz észleése után a Central meghívja a connect()-et, átadva a CBPeripheral objektumot. A kapcsolat paramétereit (interval, latency, supervision timeout) a Link Layer szintjén egyeztetik — a fejlesztő nem kezeli őket közvetlenül, de befolyásolhatja a requestConnectionPriority segítségével Androidon.

Bluetooth LE mobilfejlesztésben: Core Bluetooth és android.bluetooth

Mindkét mobil platform natív API-t biztosít a BLE-vel való munkához. A Core Bluetooth (iOS) delegált megközelítést használ: a központi menedzser kezdeményezi a műveleteket, a periféria objektum pedig delegált metódusokon keresztül jelenti az eredményeket. Az android.bluetooth (Android) callback interfészekre épül és támogatja a párhuzamos GATT műveleteket több eszközzel.

Fő különbségek a platformok között:

  • iOS — akár 7 egyidejű kapcsolatot támogat; a háttér BLE módhoz UIBackgroundModes = bluetooth-central szükséges; a háttérből kilépve a rendszer néhány perccel késleltetheti a callback-eket
  • Android — nincs rögzített kapcsolati korlát (memóriakorlátozás); BLUETOOTH_SCAN és BLUETOOTH_CONNECT engedélyeket követel (Android 12+); foreground service szükséges a megbízható háttér szkenneléshez
  • Flutter — a flutter_blue_plus csomag egységes Dart interfésszel vonja ki a platform API-kat: a szkennelési és GATT műveletek kódja mindkét platformon azonos

A Bluetooth SIG tesztek (2024) szerint az okostelefon és fitness karkötő közötti BLE kapcsolat ideje átlagosan 150–300 ms Androidon és 100–250 ms iOS-en — a különbség a rádiómodul kezelési politikáiból adódik.

Példa BLE kapcsolódásra Dartban (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;
      }
    }
  }
}

A Flutter fejlesztő egységes API interfészt kap, amely alatt a flutter_blue_plus lefordítja a hívásokat natív android.bluetooth vagy Core Bluetooth hívásokra. Ez a megközelítés csökkenti a BLE perifériákkal való munkára szolgáló alkalmazás fejlesztési idejét mindkét platformon.

Gyakran ismételt kérdések

Mi a különbség a Bluetooth Classic és a BLE között?

A Bluetooth Classic (BR/EDR) folyamatos streaming továbbításra szolgál — audio hívások, zene, fájlátvitel. A BLE rövid adatcsomagokhoz van optimalizálva minimális energiafogyasztással — érzékelők, címkék, fitness követők. A Classic 10–30 mA-t, a BLE csúcson 5–15 mA-t fogyaszt.

Kompatibilis egymással a Bluetooth Classic és a BLE?

Fizikai szinten nem kompatibilisek — eltérő moduláció és csatornatérkép. A modern chipek többsége azonban kétmodús (dual-mode) és mindkét vermet megvalósítja. A kétmodús chippel rendelkező okostelefon egyszerre kommunikálhat Classic headsettel és BLE követővel.

Mi az a connection interval a BLE-ben?

A connection interval a két adatcsomag közötti időintervallum egy létrehozott kapcsolatban. Az érték 7,5 ms-tól 4 másodpercig terjed. Minél kisebb az intervallum, annál magasabb a sávszélesség és az energiafogyasztás. Percenkénti hőmérséklet-érzékelőnél 1000 ms intervallumot használnak.

Hogyan működik a pairing a BLE-ben?

A pairing a titkosítási kulcsok cseréjének folyamata a Central és Peripheral között. A BLE három módszert támogat: Just Works (megerősítés nélkül), Passkey Entry (PIN megadása a képernyőn) és OOB (csere NFC-n vagy QR-en keresztül). A párosítás után az eszközök elmentik a kulcsokat (bonding) és újracsatlakozásnál nem kérnek újra hitelesítést.

Milyen BLE-profilokat használnak a mobilalkalmazásokban?

A leggyakoribbak: Heart Rate Profile (0x180D) pulzusmérőkhöz, Blood Pressure Profile (0x1810) vérnyomásmérőkhöz, Environmental Sensing (0x181A) hőmérséklet és páratartalom érzékelőkhöz, Battery Service (0x180F) töltési szinthez, Device Information (0x180A) modellhez és sorozatszámhoz.

Összefoglaló

  • Bluetooth — WPAN szabvány a 2,4 GHz-es sávban, Classic (BR/EDR) és Low Energy (BLE) ágakra osztva a 4.0 verziótól
  • Bluetooth Classic akár 3 Mbit/s sebességet biztosít és audio headsetekhez és fájlátvitelhez használják
  • BLE alacsony energiafogyasztásra (5–15 mA) van optimalizálva és IoT-ben, fitness karkötőkben és érzékelőkben használják
  • GATT-profil a Service → Characteristic → Descriptor hierarchiába szervezi az adatokat ATT protokollon keresztüli cserével
  • Advertising lehetővé teszi a periféria eszközök számára adatok küldését kapcsolat létrehozása nélkül három elsődleges csatornán
  • iOS (Core Bluetooth) és Android (android.bluetooth) natív API-kat biztosítanak különböző háttér-és engedélykezelési megközelítésekkel
  • Flutter (flutter_blue_plus) egyesíti a platform API-kat egy egységes Dart interfészben a többplatformos fejlesztéshez

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is