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 — стандард је постао основа IoT, носиве електронике и мобилних додатака.

Главно

  • Bluetooth Classic — стандард BR/EDR за непрекидни пренос звука и података брзином до 3 Mbit/s и потрошњом 10–30 mA
  • Bluetooth Low Energy — протокол за испрекидани пренос малих количина података са вршном струјом 5–15 mA и трајањем батерије до неколико година
  • GATT профил — јединствени клијент-сервер модел који одређује како мобилна апликација чита карактеристике периферног уређаја
  • Advertising — механизам при којем BLE уређај периодично шаље пакете-светионике за детекцију од стране централног уређаја (паметног телефона)
  • iOS и Android — платформе користе различите API-је (Core Bluetooth и android.bluetooth), али обе подржавају GATT — код је преносив уз минималне измене

Шта су Bluetooth и BLE?

Bluetooth — је стандард бежичне личне мреже (WPAN) који ради у ISM опсегу 2,4 GHz и намењен је комуникацији између уређаја на удаљености до 100 метара. Спецификација IEEE 802.15.1 дефинише физички и MAC слој, а стек Bluetooth SIG дефинише профиле вишег нивоа за конкретне сценарије: аудио слушалице (HSP), пренос датотека (OPP), унос са тастатуре (HID).

Стандард се поделио у две гране од верзије 4.0 (2010): Bluetooth Classic (BR/EDR) и Bluetooth Low Energy (BLE, раније Bluetooth Smart). Classic је намењен непрекидним токовима — аудио позивима, музици, датотекама. BLE је креиран за апликације где се подаци преносе кратким пакетима са паузама од десетина секунди или минута — пулсометри, ознаке, сензори температуре.

Према Bluetooth SIG (2025), 99% нових паметних телефона подржава обе верзије, а екосистем BLE обухвата преко 15 типова профила од Blood Pressure до Environmental Sensing.

Bluetooth Classic vs BLE: упоредне карактеристике

Избор између Classic и BLE зависи од сценарија: за проточни пренос звука одговара само Classic, за очитавање сензора једном на сат — само BLE. BR/EDR користи 79 канала са кораком 1 MHz и адаптивну фреквенцијску модулацију (AFH), обезбеђујући отпорност на Wi-Fi сметње.

ПараметарBluetooth Classic (BR/EDR)Bluetooth Low Energy (BLE)
Брзина преноса1–3 Mbit/s (EDR)125 kbit/s – 2 Mbit/s (LE 2M PHY)
Вршна струја10–30 mA5–15 mA
Време емитовања~100 ms~3 ms
ТопологијаPiconet (1 master, до 7 slave)Broadcaster / Observer / Peripheral / Central
ПрофилиHFP, A2DP, HSP, SPP, OPPЗасновани на GATT-у (HRS, BLS, CTS итд.)
Типични уређајиСлушалице, звучници, аутомобилски hands-free сетовиФитнес наруквице, ознаке, пулсометри, IoT сензори
КомпатибилностНије компатибилан са BLE на физичком нивоуДворежимски чипови подржавају оба стека

BLE 5.x је додао LE Coded PHY за повећање домета до 1 km (на отвореном) и LE Audio са LC3 кодаком — нова верзија постепено брише границу између Classic и BLE у аудио сценаријима.

Архитектура BLE: Controller, Host и Application

BLE стек је подељен на три нивоа: Controller (физички и линк слој), Host (L2CAP, ATT, GATT, Security Manager) и Application (имплементација профила у апликацији). Ово раздвајање омогућава произвођачу чипа да имплементира Controller у фирмверу, а програмеру мобилне апликације да ради само са GATT апстракцијама.

Link Layer (LL) управља временом емитовања: уређај прелази између стања Standby, Advertising, Scanning, Initiating и Connection. У Connected стању, Central и Peripheral договарају connection interval — учесталост размене пакета података. Типичан интервал је 7,5–1000 ms; што је чешћа размена, већи су пропусни опсег и потрошња енергије.

Security Manager (SM) имплементира AES-128 енкрипцију са разменом кључева путем pairing протокола. Разликују се три режима: Just Works (без уноса PIN-а), Passkey Entry (6-цифарски код на екрану) и OOB (NFC или QR). За носиве уређаје обично се користи Just Works, за медицинске — OOB са додатном верификацијом.

Према Bluetooth Core Specification 5.4 (2023), време успостављања безбедне везе у LE Secure Connections режиму не прелази 300 ms при connection интервалу од 30 ms.

GATT профил: сервиси, карактеристике и дескриптори

Протокол ATT (Attribute Protocol) — основни транспортни модел у којем сервер (периферни уређај) чува атрибуте, а клијент (паметни телефон) их чита или уписује. GATT (Generic Attribute Profile) надграђује ATT хијерархијом: Service → Characteristic → Descriptor.

Сваки сервис је логичка група карактеристика која описује једну функцију уређаја: Heart Rate Service (UUID 0x180D) садржи карактеристику Heart Rate Measurement (UUID 0x2A37) са Descriptor Client Characteristic Configuration (0x2902) који управља обавештењима. Програмер добија листу сервиса преко discoverServices(), затим проналази потребну карактеристику по UUID-у и претплаћује се на обавештења.

BLE користи 16-битне UUID за стандардизоване Bluetooth SIG сервисе и 128-битне UUID за произвољачке сервисе. На пример, футрола-трекер може дефинисати сервис 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, скенирање и успостављање везе

Advertising — кључни механизам BLE-а при којем Peripheral уређај периодично шаље емисионе пакете (advertising PDUs) на три примарна канала (37, 38, 39). Централни уређај скенира ове канале, прима advertising податке и може иницирати везу.

Advertising пакет садржи до 31 бајт корисног терета: заставице, TX power level, локално име, UUID сервиса, податке произвођача. Ово је довољно за пренос очитавања сензора без успостављања везе — Connectionless режим (Broadcaster тип). За континуирани пренос података (нпр. температуре једном у минуту) користи се веза са connection интервалом до 1000 ms.

На мобилној платформи, скенирање се покреће преко startScan() (Android) или scanForPeripherals() (iOS). Филтрирање по UUID-у сервиса штеди енергију — апликација добија callback само за интересантне ознаке или сензоре.

Пример скенирања 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 објекат. Параметри везе (interval, latency, supervision timeout) се усаглашавају на Link Layer нивоу — програмер њима не управља директно, али може утицати преко requestConnectionPriority на Android-у.

Bluetooth LE у мобилном развоју: Core Bluetooth и android.bluetooth

Обе мобилне платформе пружају нативне API-је за рад са BLE. Core Bluetooth (iOS) користи делегатски приступ: централни менаџер покреће операције, а периферни објекат извештава о резултатима преко делегатских метода. android.bluetooth (Android) је изграђен на callback интерфејсима и подржава паралелне GATT операције са више уређаја.

Кључне разлике између платформи:

  • iOS — подржава до 7 истовремених веза; позадински режим BLE захтева UIBackgroundModes = bluetooth-central; по изласку из позадине, систем може одложити callback-е за неколико минута
  • Android — нема фиксно ограничење веза (ограничење меморије); захтева дозволе BLUETOOTH_SCAN и BLUETOOTH_CONNECT (Android 12+); foreground service је неопходан за поуздано скенирање у позадини
  • Flutter — flutter_blue_plus пакет апстрахује платформске API-је јединственим Dart интерфејсом: код за скенирање и GATT операције је идентичан на обе платформе

Према Bluetooth SIG тестовима (2024), време BLE повезивања паметног телефона са фитнес наруквицом је у просеку 150–300 ms на Android-у и 100–250 ms на 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 mA, BLE 5–15 mA у вршном режиму.

Да ли су Bluetooth Classic и BLE међусобно компатибилни?

На физичком нивоу нису компатибилни — различита модулација и мапа канала. Међутим, већина савремених чипова су дворежимски (dual-mode) и имплементирају оба стека. Паметни телефон са дворежимским чипом може истовремено да комуницира са Classic слушалицом и BLE трацкером.

Шта је connection interval у BLE-у?

Connection interval је временски размак између два пакета података у успостављеној вези. Вредност варира од 7,5 ms до 4 секунде. Што је мањи интервал, већи су пропусни опсег и потрошња енергије. За сензор температуре једном у минуту користи се интервал од 1000 ms.

Како ради pairing у BLE-у?

Pairing је процес размене кључева за шифровање између Central и Peripheral уређаја. BLE подржава три метода: Just Works (без потврде), Passkey Entry (унос PIN-а на екрану) и OOB (размена преко NFC или QR). Након pairing-а, уређаји чувају кључеве (bonding) и при поновном повезивању не захтевају поновну аутентификацију.

Који BLE профили се користе у мобилним апликацијама?

Најчешћи: Heart Rate Profile (0x180D) за пулсометре, Blood Pressure Profile (0x1810) за тонометре, Environmental Sensing (0x181A) за сензоре температуре и влажности, Battery Service (0x180F) за ниво напуњености, Device Information (0x180A) за модел и серијски број.

Закључци

  • Bluetooth — WPAN стандард у опсегу 2,4 GHz, подељен на Classic (BR/EDR) и Low Energy (BLE) од верзије 4.0
  • Bluetooth Classic обезбеђује брзину до 3 Mbit/s и користи се за аудио слушалице и пренос датотека
  • BLE је оптимизован за малу потрошњу енергије (5–15 mA) и користи се у IoT, фитнес наруквицама и сензорима
  • GATT профил организује податке у хијерархију Service → Characteristic → Descriptor са разменом преко ATT протокола
  • Advertising омогућава периферним уређајима да преносе податке без успостављања везе на три примарна канала
  • iOS (Core Bluetooth) и Android (android.bluetooth) пружају нативне API-је са различитим приступима позадинском раду и дозволама
  • Flutter (flutter_blue_plus) обједињује платформске API-је јединственим Dart интерфејсом за унакрсни развој

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође