Bluetooth a BLE: co to je, rozdíl mezi Classic a Low Energy a jak funguje

Autor: IT Sectr Publikováno: 2026-03-24 Doba čtení: 12 min

Bluetooth a Bluetooth Low Energy jsou standardy bezdrátové komunikace pro přenos dat na krátké vzdálenosti. Bluetooth Classic (BR/EDR) poskytuje stabilní streamovací kanál pro audio a soubory, zatímco BLE je optimalizován pro energeticky účinnou práci se senzory a periferiemi. Podle údajů Bluetooth SIG, 2025, ročně je dodáno více než 5 miliard zařízení s podporou BLE — standard se stal základem IoT, nositelné elektroniky a mobilních doplňků.

Hlavní body

  • Bluetooth Classic — standard BR/EDR pro nepřetržitý přenos audia a dat rychlostí až 3 Mbit/s a spotřebou 10–30 mA
  • Bluetooth Low Energy — protokol pro přerušovaný přenos malých objemů dat se špičkovým proudem 5–15 mA a životností baterie až několik let
  • Profil GATT — jednotný model klient-server určující, jak mobilní aplikace čte charakteristiky periferního zařízení
  • Advertising — mechanismus, při kterém BLE zařízení periodicky vysílá majákové pakety pro detekci centrálním zařízením (smartphonem)
  • iOS a Android — platformy používají různá API (Core Bluetooth a android.bluetooth), ale obě podporují GATT — kód je přenositelný s minimálními úpravami

Co je Bluetooth a BLE?

Bluetooth — je standard bezdrátové osobní sítě (WPAN) pracující v pásmu ISM 2,4 GHz určený pro komunikaci mezi zařízeními na vzdálenost až 100 metrů. Specifikace IEEE 802.15.1 definuje fyzickou a MAC vrstvu, zásobník Bluetooth SIG definuje profily vyšší úrovně pro konkrétní scénáře: audio headsety (HSP), přenos souborů (OPP), vstup z klávesnice (HID).

Standard se rozdělil na dvě větve od verze 4.0 (2010): Bluetooth Classic (BR/EDR) a Bluetooth Low Energy (BLE, dříve Bluetooth Smart). Classic je určen pro nepřetržité streamy — audio hovory, hudbu, soubory. BLE byl vytvořen pro aplikace, kde jsou data přenášena v krátkých paketech s pauzami desítek sekund nebo minut — pulzometry, tagy, teplotní senzory.

Podle Bluetooth SIG (2025) 99% nových smartphonů podporuje obě verze a ekosystém BLE zahrnuje více než 15 typů profilů od Blood Pressure po Environmental Sensing.

Bluetooth Classic vs BLE: srovnávací charakteristiky

Výběr mezi Classic a BLE závisí na scénáři: pro streamování audia je vhodný pouze Classic, pro dotazování senzoru jednou za hodinu — pouze BLE. BR/EDR využívá 79 kanálů s krokem 1 MHz a adaptivní frekvenční modulací (AFH), zajišťující odolnost vůči rušení Wi-Fi.

ParametrBluetooth Classic (BR/EDR)Bluetooth Low Energy (BLE)
Rychlost přenosu1–3 Mbit/s (EDR)125 kbit/s – 2 Mbit/s (LE 2M PHY)
Špičkový proud10–30 mA5–15 mA
Doba vysílání~100 ms~3 ms
TopologiePiconet (1 master, až 7 slave)Broadcaster / Observer / Peripheral / Central
ProfilyHFP, A2DP, HSP, SPP, OPPZaložené na GATT (HRS, BLS, CTS atd.)
Typická zařízeníHeadset, reproduktory, automobilové hands-free sadyFitness náramky, tagy, pulzometry, IoT senzory
KompatibilitaNení kompatibilní s BLE na fyzické úrovniDvourežimové čipy podporují oba zásobníky

BLE 5.x přidal LE Coded PHY pro zvýšení dosahu až 1 km (na otevřeném prostranství) a LE Audio s kodekem LC3 — nová verze postupně stírá hranici mezi Classic a BLE v audio scénářích.

Architektura BLE: Controller, Host a Application

Zásobník BLE je rozdělen do tří vrstev: Controller (fyzická a linková vrstva), Host (L2CAP, ATT, GATT, Security Manager) a Application (implementace profilu v aplikaci). Toto rozdělení umožňuje výrobci čipu implementovat Controller ve firmwaru a vývojáři mobilní aplikace pracovat pouze s abstrakcemi GATT.

Link Layer (LL) řídí čas vysílání: zařízení přepíná mezi stavy Standby, Advertising, Scanning, Initiating a Connection. Ve stavu Connected se Central a Peripheral dohodnou na connection intervalu — frekvenci výměny datových paketů. Typický interval je 7,5–1000 ms; čím častější výměna, tím vyšší šířka pásma a spotřeba energie.

Security Manager (SM) implementuje šifrování AES-128 s výměnou klíčů prostřednictvím protokolu pairing. Rozlišují se tři režimy: Just Works (bez zadání PIN), Passkey Entry (6místný kód na obrazovce) a OOB (NFC nebo QR). Pro nositelná zařízení se obvykle používá Just Works, pro lékařská — OOB s dodatečným ověřením.

Podle Bluetooth Core Specification 5.4 (2023) doba vytvoření zabezpečeného spojení v režimu LE Secure Connections nepřesahuje 300 ms při connection intervalu 30 ms.

Profil GATT: služby, charakteristiky a deskriptory

Protokol ATT (Attribute Protocol) — základní transportní model, kde server (periferní zařízení) ukládá atributy a klient (smartphone) je čte nebo zapisuje. GATT (Generic Attribute Profile) vytváří hierarchii nad ATT: Service → Characteristic → Descriptor.

Každá služba je logická skupina charakteristik popisující jednu funkci zařízení: Heart Rate Service (UUID 0x180D) obsahuje charakteristiku Heart Rate Measurement (UUID 0x2A37) s Descriptor Client Characteristic Configuration (0x2902) spravující oznámení. Vývojář mobilní aplikace získá seznam služeb přes discoverServices(), poté najde požadovanou charakteristiku podle UUID a přihlásí se k odběru oznámení.

BLE používá 16bitové UUID pro standardizované služby Bluetooth SIG a 128bitové UUID pro vlastní služby výrobce. Například pouzdro-tracker může definovat službu A000-… s charakteristikou pro přenos úrovně nabití vlastní baterie.

Příklad práce s GATT v 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("Tep: $heartRate tepů/min")
    }
}

V příkladu aplikace najde službu Heart Rate podle standardního UUID Bluetooth SIG, získá charakteristiku měření pulsu a přihlásí se k jejím oznámením — při každé změně pulsu periferní zařízení odesílá data bez explicitního požadavku od Central.

Advertising, skenování a navázání spojení

Advertising — klíčový mechanismus BLE, při kterém Peripheral zařízení periodicky vysílá vysílací pakety (advertising PDUs) na třech primárních kanálech (37, 38, 39). Centrální zařízení tyto kanály skenuje, přijímá advertising data a může iniciovat spojení.

Advertising paket obsahuje až 31 bajtů užitečného zatížení: flags, TX power level, místní název, UUID služeb, data specifická pro výrobce. To je dostačující pro přenos údajů ze senzoru bez navázání spojení — režim Connectionless (typ Broadcaster). Pro nepřetržitý přenos dat (např. teplota každou minutu) se používá spojení s connection intervalem až 1000 ms.

Na mobilní platformě se skenování spouští přes startScan() (Android) nebo scanForPeripherals() (iOS). Filtrování podle UUID služby šetří energii — aplikace dostává callback pouze pro zajímavé tagy nebo senzory.

Příklad skenování BLE zařízení ve 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("Nalezeno zařízení: \(name)")
        }
    }
}

Po detekci zařízení Central volá connect() předávající objekt CBPeripheral. Parametry spojení (interval, latency, supervision timeout) se dohodnou na úrovni Link Layer — vývojář je neřídí přímo, ale může ovlivnit prostřednictvím requestConnectionPriority na Androidu.

Bluetooth LE v mobilním vývoji: Core Bluetooth a android.bluetooth

Obě mobilní platformy poskytují nativní API pro práci s BLE. Core Bluetooth (iOS) používá delegátský přístup: centrální manažer iniciuje operace, periferní objekt hlásí výsledky prostřednictvím delegátských metod. android.bluetooth (Android) je postaven na callback rozhraních a podporuje paralelní GATT operace s více zařízeními.

Klíčové rozdíly mezi platformami:

  • iOS — podporuje až 7 současných spojení; režim na pozadí BLE vyžaduje UIBackgroundModes = bluetooth-central; po opuštění pozadí může systém zpozdit callbacky o několik minut
  • Android — nemá pevný limit spojení (omezení pamětí); vyžaduje oprávnění BLUETOOTH_SCAN a BLUETOOTH_CONNECT (Android 12+); foreground service je nezbytný pro spolehlivé skenování na pozadí
  • Flutter — balíček flutter_blue_plus abstrahuje platformní API jednotným Dart rozhraním: kód pro skenování a GATT operace je identický na obou platformách

Podle testů Bluetooth SIG (2024) doba BLE připojení smartphonu s fitness náramkem je v průměru 150–300 ms na Androidu a 100–250 ms na iOS — rozdíl je způsoben politikami správy rádiového modulu.

Příklad BLE připojení v 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 vývojář získává jednotné API rozhraní, pod kterým flutter_blue_plus překládá volání do nativního android.bluetooth nebo Core Bluetooth. Tento přístup zkracuje dobu vývoje aplikace pro práci s BLE periferiemi na obou platformách.

Často kladené otázky

Jaký je rozdíl mezi Bluetooth Classic a BLE?

Bluetooth Classic (BR/EDR) je určen pro nepřetržitý streamovaný přenos — audio hovory, hudbu, přenos souborů. BLE je optimalizován pro krátké datové pakety s minimální spotřebou energie — senzory, tagy, fitness trackery. Classic spotřebovává 10–30 mA, BLE 5–15 mA ve špičce.

Jsou Bluetooth Classic a BLE vzájemně kompatibilní?

Na fyzické úrovni nejsou kompatibilní — odlišná modulace a mapa kanálů. Většina moderních čipů je však dvourežimových (dual-mode) a implementuje oba zásobníky. Smartphone s dvourežimovým Čipem může současně komunikovat s Classic headsetem a BLE trackerem.

Co je connection interval v BLE?

Connection interval je časový interval mezi dvěma datovými pakety v navázaném spojení. Hodnota se pohybuje od 7,5 ms do 4 sekund. Čím menší interval, tím vyšší šířka pásma a spotřeba energie. Pro teplotní senzor jednou za minutu se používá interval 1000 ms.

Jak funguje pairing v BLE?

Pairing je proces výměny šifrovacích klíčů mezi Central a Peripheral. BLE podporuje tři metody: Just Works (bez potvrzení), Passkey Entry (zadání PIN na obrazovce) a OOB (výměna přes NFC nebo QR). Po párování zařízení ukládají klíče (bonding) a při opětovném připojení nevyžadují novou autentizaci.

Jaké BLE profily se používají v mobilních aplikacích?

Nejběžnější: Heart Rate Profile (0x180D) pro pulzometry, Blood Pressure Profile (0x1810) pro tlakoměry, Environmental Sensing (0x181A) pro senzory teploty a vlhkosti, Battery Service (0x180F) pro úroveň nabití, Device Information (0x180A) pro model a sériové číslo.

Shrnutí

  • Bluetooth — WPAN standard v pásmu 2,4 GHz, rozdělený na Classic (BR/EDR) a Low Energy (BLE) od verze 4.0
  • Bluetooth Classic poskytuje rychlost až 3 Mbit/s a používá se pro audio headsety a přenos souborů
  • BLE je optimalizován pro nízkou spotřebu (5–15 mA) a používá se v IoT, fitness náramcích a senzorech
  • Profil GATT organizuje data do hierarchie Service → Characteristic → Descriptor s výměnou přes protokol ATT
  • Advertising umožňuje periferním zařízením přenášet data bez navázání spojení na třech primárních kanálech
  • iOS (Core Bluetooth) a Android (android.bluetooth) poskytují nativní API s různými přístupy k práci na pozadí a oprávněním
  • Flutter (flutter_blue_plus) spojuje platformní API do jednotného Dart rozhraní pro multiplatformní vývoj

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také