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 — 3 Mbit/s পর্যন্ত গতি এবং 10–30 mA পাওয়ার খরচ সহ একটানা অডিও এবং ডেটা ট্রান্সমিশনের জন্য BR/EDR স্ট্যান্ডার্ড
  • Bluetooth Low Energy — 5–15 mA পিক কারেন্ট এবং কয়েক বছর পর্যন্ত ব্যাটারি লাইফ সহ ছোট ডেটা ভলিউমের বিরতিহীন ট্রান্সমিশনের জন্য প্রোটোকল
  • GATT প্রোফাইল — একটি ইউনিফায়ed ক্লায়েন্ট-সার্ভার মডেল যা সংজ্ঞায়িত করে কীভাবে একটি মোবাইল অ্যাপ একটি পেরিফেরাল ডিভাইসের বৈশিষ্ট্যগুলি পড়ে
  • Advertising — একটি প্রক্রিয়া যার মাধ্যমে একটি BLE ডিভাইস কেন্দ্রীয় ডিভাইস (স্মার্টফোন) দ্বারা সনাক্তকরণের জন্য পর্যায়ক্রমে বীকন প্যাকেট পাঠায়
  • iOS এবং Android — প্ল্যাটফর্মগুলি বিভিন্ন API (Core Bluetooth এবং android.bluetooth) ব্যবহার করে, তবে উভয়ই GATT সমর্থন করে — কোড ন্যূনতম পরিবর্তনের সাথে পোর্টেবল

Bluetooth এবং BLE কী?

Bluetooth হল একটি ওয়্যারলেস পার্সোনাল এরিয়া নেটওয়ার্ক (WPAN) স্ট্যান্ডার্ড যা 2.4 GHz ISM ব্যান্ডে কাজ করে, 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 ইকোসিস্টেমে Blood Pressure থেকে Environmental Sensing পর্যন্ত 15টিরও বেশি প্রোফাইল প্রকার অন্তর্ভুক্ত রয়েছে।

Bluetooth Classic বনাম BLE: তুলনা

Classic এবং BLE-এর মধ্যে পছন্দ পরিস্থিতির উপর নির্ভর করে: অডিও স্ট্রিমিংয়ের জন্য শুধুমাত্র Classic উপযুক্ত, ঘন্টায় একবার সেন্সর পোল করার জন্য — শুধুমাত্র BLE। BR/EDR 1 MHz ব্যবধান সহ 79টি চ্যানেল এবং অ্যাডাপটিভ ফ্রিকোয়েন্সি হপিং (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 মাস্টার, 7 পর্যন্ত স্লেভ)Broadcaster / Observer / Peripheral / Central
প্রোফাইলHFP, A2DP, HSP, SPP, OPPGATT-ভিত্তিক (HRS, BLS, CTS, ইত্যাদি)
সাধারণ ডিভাইসহেডসেট, স্পিকার, কার হ্যান্ডস-ফ্রিফিটনেস ট্র্যাকার, ট্যাগ, হার্ট রেট মনিটর, IoT সেন্সর
সামঞ্জস্যতাফিজিক্যাল স্তরে BLE-এর সাথে সামঞ্জস্যপূর্ণ নয়ডুয়াল-মোড চিপ উভয় স্ট্যাক সমর্থন করে

BLE 5.x LE Coded PHY যোগ করেছে 1 কিমি পর্যন্ত (খোলা জায়গায়) পরিসর বাড়ানোর জন্য এবং LC3 কোডেক সহ LE Audio — নতুন সংস্করণ ধীরে ধীরে অডিও পরিস্থিতির জন্য Classic এবং BLE-এর মধ্যে সীমা অস্পষ্ট করছে।

BLE আর্কিটেকচার: কন্ট্রোলার, হোস্ট এবং অ্যাপ্লিকেশন

BLE স্ট্যাক তিনটি স্তরে বিভক্ত: কন্ট্রোলার (Controller) (ফিজিক্যাল এবং লিঙ্ক স্তর), হোস্ট (Host) (L2CAP, ATT, GATT, সিকিউরিটি ম্যানেজার), এবং অ্যাপ্লিকেশন (Application) (অ্যাপে প্রোফাইল বাস্তবায়ন)। এই পৃথকীকরণ চিপ প্রস্তুতকারককে ফার্মওয়্যারে কন্ট্রোলার বাস্তবায়নের অনুমতি দেয়, যখন মোবাইল অ্যাপ ডেভেলপার শুধুমাত্র GATT অ্যাবস্ট্রাকশন নিয়ে কাজ করে।

লিঙ্ক লেয়ার (LL) এয়ার টাইম পরিচালনা করে: ডিভাইসটি Standby, Advertising, Scanning, Initiating এবং Connection অবস্থার মধ্যে সুইচ করে। Connected অবস্থায়, Central এবং Peripheral একটি সংযোগ ব্যবধানে সম্মত হয় — যে ফ্রিকোয়েন্সিতে তারা ডেটা প্যাকেট বিনিময় করে। একটি সাধারণ ব্যবধান হল 7.5–1000 ms; বিনিময় যত বেশি ঘন ঘন হবে, থ্রুপুট তত বেশি এবং পাওয়ার খরচ তত বেশি।

সিকিউরিটি ম্যানেজার (SM) পেয়ারিং প্রোটোকলের মাধ্যমে কী বিনিময় সহ AES-128 এনক্রিপশন প্রয়োগ করে। তিনটি মোড রয়েছে: Just Works (PIN এন্ট্রি ছাড়া), Passkey Entry (স্ক্রিনে 6-অঙ্কের কোড), এবং OOB (NFC বা QR)। পরিধানযোগ্য ডিভাইসের জন্য, সাধারণত Just Works ব্যবহার করা হয়; চিকিৎসা ডিভাইসের জন্য, অতিরিক্ত যাচাই সহ OOB ব্যবহার করা হয়।

Bluetooth Core Specification 5.4 (2023) অনুসারে, LE Secure Connections মোডে সুরক্ষিত সংযোগ সেটআপ সময় 30 ms সংযোগ ব্যবধানে 300 ms-এর বেশি হয় না।

GATT প্রোফাইল: সার্ভিস, ক্যারেক্টারিস্টিক এবং ডেস্ক্রিপ্টর

ATT (Attribute Protocol) হল মৌলিক ট্রান্সপোর্ট মডেল যেখানে সার্ভার (পেরিফেরাল ডিভাইস) অ্যাট্রিবিউট সংরক্ষণ করে এবং ক্লায়েন্ট (স্মার্টফোন) সেগুলি পড়ে বা লেখে। GATT (Generic Attribute Profile) ATT-এর উপরে একটি হায়ারার্কি তৈরি করে: Service → Characteristic → Descriptor।

প্রতিটি সার্ভিস হল একটি ডিভাইস ফাংশন বর্ণনাকারী ক্যারেক্টারিস্টিকের একটি লজিক্যাল গ্রুপ: Heart Rate Service (UUID 0x180D) একটি ক্লায়েন্ট ক্যারেক্টারিস্টিক কনফিগারেশন ডেস্ক্রিপ্টর (0x2902) সহ Heart Rate Measurement ক্যারেক্টারিস্টিক (UUID 0x2A37) ধারণ করে যা নোটিফিকেশন নিয়ন্ত্রণ করে। মোবাইল অ্যাপ ডেভেলপার discoverServices()-এর মাধ্যমে সার্ভিসের তালিকা পায়, তারপর UUID দ্বারা প্রয়োজনীয় ক্যারেক্টারিস্টিক খুঁজে পায় এবং নোটিফিকেশনে সাবস্ক্রাইব করে।

BLE স্ট্যান্ডার্ডাইজড Bluetooth SIG সার্ভিসের জন্য 16-বিট UUID এবং কাস্টম প্রস্তুতকারক সার্ভিসের জন্য 128-বিট UUID ব্যবহার করে। উদাহরণস্বরূপ, একটি ট্র্যাকার কেস তার ব্যাটারি চার্জ লেভেল ট্রান্সমিট করার জন্য একটি ক্যারেক্টারিস্টিক সহ A000-… সার্ভিস সংজ্ঞায়িত করতে পারে।

Kotlin (Android) এ GATT-এর সাথে কাজ করার উদাহরণ

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 বিট/মিনিট")
    }
}

উদাহরণে, অ্যাপটি স্ট্যান্ডার্ড Bluetooth SIG UUID দ্বারা Heart Rate সার্ভিস খুঁজে পায়, হার্ট রেট মেজারমেন্ট ক্যারেক্টারিস্টিক পায় এবং এর নোটিফিকেশনে সাবস্ক্রাইব করে — যখনই হার্ট রেট পরিবর্তিত হয়, পেরিফেরাল ডিভাইস Central থেকে স্পষ্ট অনুরোধ ছাড়াই ডেটা পাঠায়।

Advertising, স্ক্যানিং এবং সংযোগ স্থাপন

Advertising হল একটি মূল BLE প্রক্রিয়া যেখানে একটি Peripheral ডিভাইস তিনটি প্রাথমিক চ্যানেলে (37, 38, 39) পর্যায়ক্রমে সম্প্রচার প্যাকেট (advertising PDU) পাঠায়। কেন্দ্রীয় ডিভাইস এই চ্যানেলগুলি স্ক্যান করে, advertising ডেটা গ্রহণ করে এবং একটি সংযোগ শুরু করতে পারে।

একটি Advertising প্যাকেটে 31 বাইট পর্যন্ত পেলোড থাকে: ফ্ল্যাগ, TX পাওয়ার লেভেল, লোকাল নাম, সার্ভিস UUID, প্রস্তুতকারক-নির্দিষ্ট ডেটা। এটি সংযোগ স্থাপন না করেই সেন্সর রিডিং ট্রান্সমিট করার জন্য যথেষ্ট — সংযোগবিহীন মোড (Broadcaster টাইপ)। একটানা ডেটা ট্রান্সমিশনের (যেমন, প্রতি মিনিটে একবার তাপমাত্রা) জন্য, 1000 ms পর্যন্ত সংযোগ ব্যবধান সহ একটি সংযোগ ব্যবহার করা হয়।

মোবাইল প্ল্যাটফর্মে, স্ক্যানিং startScan() (Android) বা scanForPeripherals() (iOS) এর মাধ্যমে শুরু করা হয়। সার্ভিস UUID দ্বারা ফিল্টারিং সমস্ত দৃশ্যমান ডিভাইস প্রক্রিয়াকরণ না করে শক্তি সাশ্রয় করে — অ্যাপটি শুধুমাত্র প্রাসঙ্গিক ট্যাগ বা সেন্সরের জন্য কলব্যাক পায়।

Swift (iOS) এ BLE ডিভাইস স্ক্যান করার উদাহরণ

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 অবজেক্ট পাস করে। সংযোগ প্যারামিটার (ব্যবধান, লেটেন্সি, সুপারভিশন টাইমআউট) লিঙ্ক লেয়ার স্তরে আলোচনা করা হয় — ডেভেলপার সরাসরি সেগুলি পরিচালনা করে না, তবে Android-এ requestConnectionPriority-এর মাধ্যমে প্রভাবিত করতে পারে।

মোবাইল ডেভেলপমেন্টে Bluetooth LE: Core Bluetooth এবং android.bluetooth

উভয় মোবাইল প্ল্যাটফর্ম BLE-এর সাথে কাজ করার জন্য নেটিভ API সরবরাহ করে। Core Bluetooth (iOS) একটি ডেলিগেট পদ্ধতি ব্যবহার করে: কেন্দ্রীয় ব্যবস্থাপক অপারেশন শুরু করে, এবং পেরিফেরাল অবজেক্ট ডেলিগেট পদ্ধতির মাধ্যমে ফলাফল রিপোর্ট করে। android.bluetooth (Android) কলব্যাক ইন্টারফেসের উপর নির্মিত এবং একাধিক ডিভাইসের সাথে সমান্তরাল GATT অপারেশন সমর্থন করে।

প্ল্যাটফর্মগুলির মধ্যে মূল পার্থক্য:

  • iOS — 7টি সমকালীন সংযোগ পর্যন্ত সমর্থন করে; ব্যাকগ্রাউন্ড BLE মোডের জন্য UIBackgroundModes = bluetooth-central প্রয়োজন; ফোরগ্রাউন্ড ছাড়ার পর, সিস্টেম কলব্যাক কয়েক মিনিট বিলম্বিত করতে পারে
  • Android — কোনো নির্দিষ্ট সংযোগ সীমা নেই (মেমরি দ্বারা সীমাবদ্ধ); BLUETOOTH_SCAN এবং BLUETOOTH_CONNECT অনুমতি প্রয়োজন (Android 12+); নির্ভরযোগ্য ব্যাকগ্রাউন্ড স্ক্যানিংয়ের জন্য একটি ফোরগ্রাউন্ড সার্ভিস প্রয়োজন
  • Flutter — flutter_blue_plus প্যাকেজ একটি ইউনিফায়ed Dart ইন্টারফেসের সাথে প্ল্যাটফর্ম API অ্যাবস্ট্রাক্ট করে: স্ক্যানিং এবং GATT অপারেশনের জন্য কোড উভয় প্ল্যাটফর্মে অভিন্ন

Bluetooth SIG পরীক্ষা (2024) অনুসারে, স্মার্টফোন এবং ফিটনেস ট্র্যাকারের মধ্যে BLE সংযোগের সময় Android-এ গড়ে 150–300 ms এবং iOS-এ 100–250 ms — পার্থক্যটি রেডিও ফ্রিকোয়েন্সি মডিউল পরিচালনা নীতির কারণে।

Dart (Flutter) এ BLE সংযোগের উদাহরণ

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 ডেভেলপার একটি ইউনিফায়ed 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 কি একে অপরের সাথে সামঞ্জস্যপূর্ণ?

ফিজিক্যাল স্তরে তারা সামঞ্জস্যপূর্ণ নয় — আলাদা মড্যুলেশন এবং চ্যানেল ম্যাপ। তবে, বেশিরভাগ আধুনিক চিপ ডুয়াল-মোড এবং উভয় স্ট্যাক বাস্তবায়ন করে। ডুয়াল-মোড চিপ সহ একটি স্মার্টফোন একসাথে একটি Classic হেডসেট এবং একটি BLE ট্র্যাকারের সাথে যোগাযোগ করতে পারে।

BLE-এ সংযোগ ব্যবধান কী?

সংযোগ ব্যবধান হল প্রতিষ্ঠিত সংযোগে দুটি ডেটা প্যাকেটের মধ্যে সময়। মান 7.5 ms থেকে 4 সেকেন্ড পর্যন্ত হয়। ব্যবধান যত ছোট হবে, থ্রুপুট তত বেশি এবং পাওয়ার খরচ তত বেশি। প্রতি মিনিটে একবার রিপোর্ট করা তাপমাত্রা সেন্সরের জন্য, 1000 ms-এর ব্যবধান ব্যবহার করা হয়।

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 হল 2.4 GHz ব্যান্ডের একটি WPAN স্ট্যান্ডার্ড, যা সংস্করণ 4.0 থেকে Classic (BR/EDR) এবং Low Energy (BLE) এ বিভক্ত
  • Bluetooth Classic 3 Mbit/s পর্যন্ত গতি সরবরাহ করে এবং অডিও হেডসেট ও ফাইল ট্রান্সফারের জন্য ব্যবহৃত হয়
  • BLE কম পাওয়ার খরচ (5–15 mA) এর জন্য অপ্টিমাইজ করা এবং IoT, ফিটনেস ট্র্যাকার এবং সেন্সরে ব্যবহৃত হয়
  • GATT প্রোফাইল ATT প্রোটোকলের মাধ্যমে বিনিময় সহ ডেটাকে Service → Characteristic → Descriptor হায়ারার্কিতে সংগঠিত করে
  • Advertising পেরিফেরাল ডিভাইসগুলিকে তিনটি প্রাথমিক চ্যানেলে সংযোগ স্থাপন না করে ডেটা ট্রান্সমিট করার অনুমতি দেয়
  • iOS (Core Bluetooth) এবং Android (android.bluetooth) ব্যাকগ্রাউন্ড কাজ এবং অনুমতির জন্য বিভিন্ন পদ্ধতি সহ নেটিভ API সরবরাহ করে
  • Flutter (flutter_blue_plus) ক্রস-প্ল্যাটফর্ম ডেভেলপমেন্টের জন্য একটি একক Dart ইন্টারফেসের সাথে প্ল্যাটফর্ম API ইউনিফাই করে

আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব

IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।

প্রকল্প নিয়ে আলোচনা করুন

আরও পড়ুন