Peripheral — এটি কী, BLE-এ ভূমিকা ও কিভাবে সেবা বিজ্ঞাপন করে

লেখক: IT Sectr প্রকাশিত: 2026-07-15 পড়ার সময়: 9 মিনিট

Peripheral হল Bluetooth Low Energy আর্কিটেকচার একটি ডিভাইস যা advertising প্যাকেটের মাধ্যমে তার সেবাগুলির বিজ্ঞাপন দেয় এবং Central এর কাছ থেকে সংযোগের অপেক্ষা করে। IoT ইকোসিস্টেমে, Peripheral সাধারণত সীমিত শক্তি ব্যবহারকারী একটি ডিভাইস: একটি তাপমাত্রা সেন্সর, স্মার্ট ল্যাম্প, ফিটনেস ব্রেসলেট, বিকন (Beacon)। Bluetooth Core Specification 5.4 (2023) বিজ্ঞাপন প্রোটোকল সংজ্ঞায়িত করে: Peripheral পর্যায়ক্রমিকভাবে advertising প্যাকেট প্রেরণ করে যাতে ডিভাইসের নাম, সেবার তালিকা এবং কাস্টম ডেটা থাকে, য়খন Central এই প্যাকেটগুলি স্ক্যান করে এবং সংযোগ করা উচিত কি না তা সিদ্ধান্ত নেয়। সংযোগ স্থাপনের পর, Peripheral একটি GATT সার্ভার হিসাবে কাজ করে, পড়া এবং লেখার জন্য সেবা এবং বৈশিষ্ট্য প্রদান করে।

মূখ্য বিষয়সমূহ

  • Peripheral হল একটি নিষ্ক্রিয় BLE ডিভাইস যা সেবার বিজ্ঞাপন দেয় এবং Central এর কাছ থেকে সংযোগের অপেক্ষা করে।
  • Advertising প্যাকেটে ডিভাইসের নাম, সেবা UUID, প্রস্তুতকারীর ডেটা এবং দূরত্ব আকলনের জন্য RSSI থাকে।
  • Peripheral একটি GATT সার্ভার হিসাবে কাজ করে যা Central এর প্রবেশের জন্য সেবা এবং বৈশিষ্ট্য সংরক্ষণ করে।
  • Peripheral এর শক্তি ব্যবহার সিড়ে মোডে 5 µA থেকে সক্রিয় ডেটা প্রেরণের সময় 15 mA পর্যন্ত হতে পারে।
  • সংযোগের পর, Peripheral শক্তি বাঁচাতে বিজ্ঞাপন বন্ধ করতে পারে এবং প্রয়োজন হলে আবার সক্রিয় করতে পারে।

BLE-এ Peripheral কি?

Peripheral হল একটি BLE ডিভাইস যা একটি GATT সার্ভার বাস্তবায়ন করে এবং advertising চ্যানেলের মাধ্যমে তার ক্ষমতার বিজ্ঞাপন দেয়। Central এর বিপরীতে, যা সক্রিয়ভাবে ডিভাইস অনুসন্ধান করে, Peripheral নিষ্ক্রিয়ভাবে সংযোগের অপেক্ষা করে। এটি ব্যাটারি চালিত ডিভাইসের শক্তি দক্ষতার জন্য অপ্টিমাইজ়ড একটি অসামমিত মডেল।

Peripheral বেশ কয়েকটি মোডে থাকতে পারে: advertising (বিজ্ঞাপন), connected (Central এর সাথে সংযুক্ত), sleeping (বিজ্ঞাপন বন্ধ রেখে ঘুমানো)। advertising মোডে, Peripheral ন্যূনতম শক্তি ব্যবহারে পর্যায়ক্রমিকভাবে ছোট ডেটা প্যাকেট প্রেরণ করে। সংযোগের পর, Peripheral সংযুক্ত মোডে চলে যায়, যেখানে এটি আলোচিত সংযোগ ব্যবধান অনুযায়ী Central এর সাথে ডেটা বিনিময় করে।

Bluetooth Core Specification 5.4 (2023) অনুযায়ী, একটি ডিভাইস দ্রুত গতিতে Peripheral এবং Central এর মধ্যে স্যুইচ করতে পারে, কিন্তু যে কোনো এক মুহূর্তে একটি সংযোগের জন্য ভূমিকা নির্দিষ্ট থাকে। একটি সাধারণ পরিদৃশ্য: একটি IoT সেন্সর নিরন্তরভাবে Peripheral হিসাবে কাজ করে, য়খন একটি স্মার্টফোন Central হিসাবে সংযোগ পরিচালনা করে।

ডিভেলপারদের বোঝা গুরুত্বপূর্ণ: Peripheral নির্ধারণ করে কোন কোন সেবা এবং বৈশিষ্ট্য উপলব্ধ এবং সেগুলিতে প্রবেশ পরিচালনা করে। Peripheral এর GATT সার্ভার গঠন নির্ধারণ করে Central কি ডেটা পড়তে পারে এবং কোন কমান্ড লিখতে পারে।

বিজ্ঞাপন প্রক্রিয়া (Advertising)

Advertising হল সেই প্রক্রিয়া যার মাধ্যমে Peripheral তার উপস্থিতি ঘোষণা করে। Peripheral তিনটি উৎসর্গীকৃত চ্যানেলে (37, 38, 39) 20 এমএস থেকে 10.24 সেকেন্ড ব্যবধানে advertising প্যাকেট প্রেরণ করে। প্রতিটি advertising প্যাকেটে নির্দিষ্ট তথ্য থাকে এবং আইচ্ছিক ডেটা অন্তর্ভুক্ত থাকতে পারে।

দুই ধরনের advertising প্যাকেট আছে: advertising PDU (প্রধান প্যাকেট) এবং scan response PDU (Central এর অনুরোধের জবাব)। প্রধান প্যাকেটে বাধ্যবাহ্যক ফিল্ড থাকে: প্যাকেটের ধরন, প্রেরকের ঠিকানা, ডেটা। যদি Central একটি স্ক্যান অনুরোধ প্রেরণ করে, Peripheral আরও সম্পূর্ণ তথ্য সহ একটি অতিরিক্ত প্যাকেট দিয়ে সড়া দেয় — উদাহরণস্বরূপ, সম্পূর্ণ ডিভাইসের নাম।

Advertising প্যারামিটারগুলি আবিষ্কারের গতি এবং শক্তি ব্যবহারকে প্রভাবিত করে। Advertising interval হল প্যাকেট প্রেরণের মধ্যে সময়। ব্যবধান যত ছোট হবে, Central তত দ্রুত ডিভাইস আবিষ্কার করবে, কিন্তু Peripheral তত বেশি শক্তি ব্যবহার করবে। সুপারিশ করা ব্যবধান: বেশিরভাগ ডিভাইসের জন্য 100–1000 এমএস।

প্যারামিটারপরিসরপ্রভাবসুপারিশ
Advertising Interval20 ms – 10.24 sআবিষ্কারের গতি, শক্তি100–1000 ms ভারসাম্যের জন্য
Advertising Channels37, 38, 39আবিষ্কারের বিশ্বসনীয়তাসকল 3টি চ্যানেল আবশ্যক
Tx Power-20 – +10 dBmব্যাপ্তি, হস্তক্ষেপঅন্তর্দেশে 0 dBm, বাইরে +4 dBm
Advertising Timeout0 – 180 সেকেন্ডবিজ্ঞাপনের মেয়াদবিকনের জন্য 0 (অসীম)

বিজ্ঞাপন প্যাকেটের গঠন

BLE বিজ্ঞাপন প্যাকেট এর advertising PDU এর জন্য 31 বাইট এবং scan response এর জন্য আরও 31 বাইট সীমা রয়েছে। প্যাকেটের ভিতরে, ডেটা AD Structure (Advertising Data Structure) ফর্মেটে সাজানো হয়: প্রতিটি ফিল্ডের একটি ধরন (1 বাইট), দৈর্ঘ্য (1 বাইট) এবং মান থাকে।

সবচেয়ে বেশি ব্যবহৃত AD ধরন: Flags (0x01) — সংযোগ এবং আবিষ্কার মোড, Local Name (0x08 বা 0x09) — ডিভাইসের নাম, Service UUID List (0x02–0x07) — সেবা UUID এর তালিকা, Manufacturer Specific Data (0xFF) — প্রস্তুতকারীর ডেটা। 31-বাইট প্যাকেটে ডেটা সঠিকভাবে প্যাক করা এম্বেডেড ডিভাইস ডিভেলপারদের জন্য একটি গুরুত্বপূর্ণ কাজ।

যে সব ডিভাইসের আরও ডেটা প্রেরণের প্রয়োজন, তাদের জন্য extended advertising (BLE 5.0+) advertising প্যাকেটের আকার 251 বাইট বাড়ায় এবং নতুন প্যাকেট ধরন যোগ করে। Extended advertising খোলা অঞ্চলে 1 কিমি পর্যন্ত বৃদ্ধিত পরিসরের জন্য কোডেড PHY চ্যানেলও সমর্থন করে।

একটি বিজ্ঞাপন প্যাকেট ডিজাইন করার সময় মনে রাখুন: advertising প্যাকেটে যত বেশি ডেটা থাকবে, অন্য ডিভাইসের সাথে সংঘর্ষের সম্ভাবনা তত বেশি। দ্রুত আবিষ্কারের জন্য, শুধুমাত্র গুরুত্বপূর্ণ ডেটা (Service UUID) advertising PDU-তে এবং অতিরিক্ত ডেটা scan response-এ রাখার পরামর্শ দেওয়া হয়।

Peripheral একটি GATT সার্ভার হিসাবে

GATT সার্ভার Peripheral এর উপর সমস্ত সেবা এবং বৈশিষ্ট্য ধারণ করে যা Central আবিষ্কার করতে এবং যার সাথে যোগাযোগ করতে পারে। সংযোগের পর, Central সেবা আবিষ্কার করে, তারপর বৈশিষ্ট্য, এবং GATT প্রোটোকলের মাধ্যমে তাদের সাথে যোগাযোগ করে।

Peripheral একটি GATT সার্ভার হিসাবে Central এর অনুরোধগুলি সঠিকভাবে প্রক্রিয়া করা উচিত: পড়ার অনুরোধ, লেখার অনুরোধ, বিজ্ঞপ্তি এবং ইংডিকেশন। প্রতিটি অনুরোধ GATT টেবিল দিয়ে যায়, যেখানে প্রতিটি এট্রিবিউট (সেবা, বৈশিষ্ট্য, বর্ণনাকারী) একটি Handle — 16-বিট ঠিকানার সাথে মেলা খায়।

Peripheral ডিভেলপার প্রতিটি এট্রিবিউটের জন্য প্রবেশ অনুমতি সংজ্ঞায়িত করে: শুধু পড়া, শুধু লেখা, পড়া এবং লেখা, এনক্রিপশন সহ বা ছাড়া। সংবেদনশীল ডেটার জন্য (ব্যক্তিগত তথ্য, চিকিৎসা সংকেতক), MITM Protection এর মাধ্যমে এনক্রিপশন বাধ্যবাহ্যকতা সক্রিয় করার পরামর্শ দেওয়া হয়।

iOS-এ Peripheral: CBPeripheralManager

CBPeripheralManager হল iOS-এ Peripheral ভূমিকা বাস্তবায়নের জন্য একটি Core Bluetooth ক্লাস। এটি GATT সার্ভার পরিচালনা করে, সেবা এবং বৈশিষ্ট্য প্রকাশ করে, এবং Centrals এর অনুরোধ প্রক্রিয়া করে। CBCentralManager এর বিপরীতে, CBPeripheralManager স্ক্যান করে না — এটি শুধু বিজ্ঞাপন দেয় এবং সংযোগ পরিচালনা করে।

iOS-এ Peripheral বাস্তবায়নের মূখ্য পদক্ষেপ: CBPeripheralManager আরম্ভ করা, add এর মাধ্যমে সেবা যোগ করা, startAdvertising এর মাধ্যমে বিজ্ঞাপন শুরু করা, CBPeripheralManagerDelegate এর মাধ্যমে Centrals এর অনুরোধ প্রক্রিয়া করা।

swift
import CoreBluetooth

class BLEPeripheralManager: NSObject, CBPeripheralManagerDelegate {

    private var peripheralManager: CBPeripheralManager!

    func startAdvertising() {
        let advertisementData: [String: Any] = [
            CBAdvertisementDataLocalNameKey: "BLE Sensor",
            CBAdvertisementDataServiceUUIDsKey: [
                CBUUID("180F")
            ]
        ]
        peripheralManager.startAdvertising(advertisementData)
    }

    func peripheralManagerDidUpdateState(
        _ peripheral: CBPeripheralManager
    ) {
        if peripheral.state == .poweredOn {
            startAdvertising()
        }
    }
}

iOS Peripheral কে Background Modes-এ bluetooth-peripheral কী সহ পৃষ্ঠভূমিতে কাজ করতে দেয়। পৃষ্ঠভূমিতে, iOS সীমিত ডেটা সহ বিজ্ঞাপন এবং সংযোগ পরিচালনা করতে পারে। দীর্ঘ বিজ্ঞাপনের জন্য (180 সেকেন্ডের বেশি), শক্তি বাঁচাতে CBAdvertisementDataWaitForResponseFromCentral বিকল্প ব্যবহার করুন।

Android-এ Peripheral: BluetoothLeAdvertiser

Android Peripheral ভূমিকায় কাজের জন্য BluetoothLeAdvertiser প্রদান করে (API 21 থেকে শুরু)। API কনফিগরযোগ্য প্যারামিটার সহ বিজ্ঞাপন শুরু করার অনুমতি দেয়: ট্রান্সমিটার পাওয়ার, বিজ্ঞাপন ব্যবধান, প্যাকেট ডেটা। Android সঙ্গত ডিভাইসে extended advertising (BLE 5.0) ও সমর্থন করে।

java
import android.bluetooth.le.*;

private BluetoothLeAdvertiser advertiser;

public void startPeripheral() {
    BluetoothAdapter adapter =
        BluetoothAdapter.getDefaultAdapter();
    advertiser = adapter.getBluetoothLeAdvertiser();

    AdvertiseData data = new AdvertiseData.Builder()
        .setIncludeDeviceName(true)
        .addServiceUuid(
            new ParcelUuid(
                UUID.fromString("0000180F-0000-1000-8000-00805F9B34FB")
            )
        )
        .build();

    AdvertiseSettings settings = new AdvertiseSettings.Builder()
        .setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_LOW_POWER)
        .setTxPowerLevel(AdvertiseSettings.ADVERTISE_TX_POWER_MEDIUM)
        .build();

    advertiser.startAdvertising(
        settings, data, advertiseCallback
    );
}

Android-এ, Peripheral সমর্থন প্রস্তুতকারী এবং ওএস সংস্করণ এর উপর নির্ভর করে। সকল ডিভাইস BluetoothLeAdvertiser সমর্থন করে না — adapter.isMultipleAdvertisementSupported() এর মাধ্যমে যাচাই করুন। Android 10 থেকে শুরু, Peripheral ভূমিকার জন্য BLUETOOTH_ADVERTISE অনুমতি প্রয়োজন, target SDK 31+ এর অ্যাপের জন্য রানটাইম অনুরোধ সহ।

Peripheral এর শক্তি দক্ষতা

শক্তি দক্ষতা BLE এর একটি মূখ্য সুবিধা, এবং Peripheral এখানে প্রধান ভূমিকা পালন করে। একটি ডিভাইস অপ্টিমাইজ়ড শক্তি ব্যবহারের কারণে CR2032 ব্যাটারি (220 mAh) এ এক বছরের বেশি চলতে পারে। বেশিরভাগ সময়, Peripheral বিজ্ঞাপন বন্ধ রেখে সিড়ে মোডে থাকে, শুধু একটি advertising প্যাকেট প্রেরণ বা Central এর অনুরোধ প্রক্রিয়া করার জন্য জাগা হয়।

বিভিন্ন মোডে Peripheral এর শক্তি ব্যবহার: সিড়ে মোড (গভীর ঘুম) — 1–5 µA, টাইমার সহ নিষ্ক্রিয় — 10–50 µA, advertising — 5–15 mA (প্যাকেট প্রেরণের সময়), connected — 5–10 mA (সংযোগ ইভেন্টের সময়)। 1000 ms এর advertising ব্যবধান এবং 4 ms এর প্যাকেট মেয়াদের সাথে, গড় করন্ট প্রায় 50–100 µA।

Texas Instruments Application Report (SWRA478, 2024) অনুযায়ী, advertising ব্যবধান 100 ms থেকে 1000 ms এ অপ্টিমাইজ় করা হলে গড় শক্তি ব্যবহার 90% কমে যায়। অতিরিক্ত সন্চয় slave latency (সংযোগ ইভেন্ট অস্বীকার), সামান্য দূরত্বে Tx Power কমানো এবং সংযোগের পর বিজ্ঞাপন বন্ধ (connectable advertising) এর মাধ্যমে অর্জন করা যায়।

সামন্য প্রশ্নাবলী

Peripheral কি ডেটা প্রেরণ শুরু করতে পারে?

হ্যাঁ, বিজ্ঞপ্তি/ইংডিকেশন প্রক্রিয়ার মাধ্যমে। যদিও Central সবসময় সংযোগের সূচনাকারী, সংযোগের পর Peripheral Central এর সপষ্ট অনুরোধ ছাড়াই GATT বিজ্ঞপ্তির মাধ্যমে ডেটা প্রেরণ করতে পারে। এর জন্য, Central কে প্রথমে CCCD এর মাধ্যমে সাবস্ক্রাইব করতে হবে।

কতক্ষণ পর্যন্ত Peripheral বিজ্ঞাপন দিতে পারে?

বিজ্ঞাপনের মেয়াদ সপেসিফিকেশন দ্বারা সীমাবদ্ধ নয়, কিন্তু ব্যবহারিকভাবে এটি ব্যাটারির শক্তি দ্বারা সীমাবদ্ধ। iOS-এ, একটি Peripheral অতিরিক্ত সেটিং ছাড়াই পৃষ্ঠভূমিতে প্রতি সাত্রে সর্বাধিক 180 সেকেন্ড বিজ্ঞাপন দিতে পারে। Android-এ, বিজ্ঞাপন অনির্দিষ্টভাবে কাজ করতে পারে, কিন্তু ব্যাটারির আয়ু যথেষ্ট হ্রাস করে।

কার্যক্ষমতা না হারিয়ে কিভাবে Peripheral এর শক্তি ব্যবহার কমানো যায়?

Advertising ব্যবধান বাড়ান (সুপারিশ 500–1000 ms), সংযোগ ইভেন্ট এড়িয়ে যাওয়ার জন্য slave latency ব্যবহার করুন, সংযোগের পর বিজ্ঞাপন বন্ধ করুন, এবং প্রয়োজনীয় দূরত্বে স্থির যোগাযোগের জন্য সর্বনিম্ন Tx Power নির্বাচন করুন।

non-connectable advertising কি এবং এটি কিসের জন্য ব্যবহৃত হয়?

Non-connectable advertising হল একটি মোড যেখানে Peripheral বিজ্ঞাপন দেয় কিন্তু সংযোগ অনুরোধ গ্রহণ করে না। এটি বিকনের জন্য ব্যবহৃত হয় যা দুই-মুখী সংযোগ স্থাপন না করেই শুধু ডেটা প্রেরণ করে (যেমন, একটি দোকান শনাক্তাকারী)। এটি connectable advertising এর তুলনায় শক্তি সংরক্ষণ করে।

একটি advertising প্যাকেটে (31 বাইট) কি ডেটা প্রেরণ করা যায়?

31 বাইটে আপনি অন্তর্ভুক্ত করতে পারেন: flags (3 বাইট), ডিভাইসের নাম (সংক্ষিপ্ত আকারে 28 বাইট পর্যন্ত), সেবা UUID এর একটি তালিকা (2–16 বাইট প্রতি UUID), প্রস্তুতকারীর ডেটা (26 বাইট পর্যন্ত)। সর্বোত্তম কৌশল হল ফিল্টারিংয়ের জন্য advertising PDU-তে সেবা UUID এবং scan response-এ সম্পূর্ণ নাম রাখা।

সারাংশ

  • Peripheral হল একটি BLE GATT সার্ভার যা তার সেবার বিজ্ঞাপন দেয় এবং ডেটা বিনিময়ের জন্য Central এর কাছ থেকে সংযোগের অপেক্ষা করে।
  • Advertising প্যাকেট চ্যানেল 37, 38, 39 এ 20 ms থেকে 10.24 s এর ব্যবধানে প্রেরিত হয় এবং 31 বাইট ডেটার মধ্যে সীমাবদ্ধ।
  • Peripheral সেবা এবং বৈশিষ্ট্য GATT টেবিলে সংরক্ষণ করে, পড়া, লেখা এবং বিজ্ঞপ্তির মাধ্যমে Central কে ডেটা অ্যাক্সেস প্রদান করে।
  • iOS-এ, Peripheral CBPeripheralManager এর মাধ্যমে এবং Android-এ GATT সার্ভার সহ BluetoothLeAdvertiser এর মাধ্যমে বাস্তবায়িত হয়।
  • সিড়ে মোডে Peripheral এর শক্তি ব্যবহার 1–5 µA, যা একটি CR2032 ব্যাটারিতে এক বছর পর্যন্ত চলতে দেয়।
  • Advertising ব্যবধান এবং slave latency অপ্টিমাইজ় করা কার্যক্ষমতা না হারিয়ে শক্তি ব্যবহার 90% পর্যন্ত কমাতে পারে।
  • সঠিক advertising প্যাকেট গঠন এবং GATT সার্ভার ডিজাইন BLE ডিভাইসের সামঞ্জস্য, আবিষ্কারের গতি এবং দক্ষতা নির্ধারণ করে।

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

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

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

আরও পড়ুন