Central — यह क्या है, BLE में इसकी भूमिका और यह उपकरणों को कैसे स्कैन करता है

लेखक: IT Sectr प्रकाशित: 2026-07-15 पढ़ने का समय: 8 मिनट

Central Bluetooth Low Energy आर्किटेक्चर में एक उपकरण है जो स्कैनिंग शुरू करता है, कनेक्शन स्थापित करता है और परिधीय उपकरणों के साथ डेटा आदान-प्रदान का प्रबंधन करता है। मोबाइल डेवलपमेंट के संदर्भ में, Central एक स्मार्टफोन या टैबलेट है जो iOS या Android पर चलता है और BLE सेंसर, फिटनेस ट्रैकर्स और स्मार्ट एक्सेसरीज से जुड़ता है। Bluetooth Core Specification 5.4 (2023) के अनुसार, Central एक साथ 7 अलग-अलग Peripheral उपकरणों तक कनेक्शन का समर्थन कर सकता है, हालाँकि वास्तविक सीमा चिप निर्माता और OS संस्करण पर निर्भर करती है। iOS पर Core Bluetooth और Android पर android.bluetooth.le Central भूमिका के प्रबंधन के लिए पूर्ण API प्रदान करते हैं।

मुख्य बातें

  • Central एक सक्रिय BLE उपकरण है जो स्कैन करता है, कनेक्ट होता है और परिधीय के साथ आदान-प्रदान का प्रबंधन करता है।
  • स्कैनिंग विज्ञापन पैकेट के माध्यम से की जाती है — Central ऊर्जा बचाने के लिए Service UUID द्वारा उपकरणों को फ़िल्टर कर सकता है।
  • एक Central एक साथ विभिन्न Peripheral के साथ 7 कनेक्शन तक का समर्थन कर सकता है (कार्यान्वयन पर निर्भर करता है)।
  • मोबाइल डेवलपमेंट में, Central एक स्मार्टफोन है जो Core Bluetooth (iOS) या android.bluetooth.le (Android) का उपयोग करता है।
  • Central भूमिका निरंतर स्कैनिंग और डेटा प्रोसेसिंग के कारण Peripheral की तुलना में अधिक ऊर्जा की खपत करती है।

BLE में Central क्या है?

Central Bluetooth Low Energy आर्किटेक्चर में एक GATT क्लाइंट है जो सभी संचार शुरू करता है। Peripheral के विपरीत, जो निष्क्रिय रूप से कनेक्शन की प्रतीक्षा करता है और अपनी सेवाओं का विज्ञापन करता है, Central सक्रिय रूप से ईथर को स्कैन करता है, विज्ञापन पैकेट खोजता है और कनेक्शन शुरू करता है।

असममित Central-Peripheral मॉडल BLE की एक मौलिक विशेषता है। Central इंटरैक्शन तर्क का प्रबंधन करता है: यह तय करता है कि किस उपकरण से जुड़ना है, किन सेवाओं का अन्वेषण करना है, और किन विशेषताओं को पढ़ना और लिखना है। Peripheral डेटा सर्वर के रूप में कार्य करता है — यह सेवाओं और विशेषताओं को संग्रहीत करता है लेकिन कनेक्शन शुरू नहीं करता है।

Bluetooth Core Specification 5.4 (2023) के अनुसार, एक उपकरण एक साथ Central और Peripheral (दोहरी भूमिका) हो सकता है। उदाहरण के लिए, एक स्मार्टफोन फिटनेस बैंड के लिए Central और फ़ाइलें स्थानांतरित करने वाले दूसरे स्मार्टफोन के लिए Peripheral हो सकता है। हालाँकि, दोनों भूमिकाओं में एक साथ संचालन से ऊर्जा खपत और कनेक्शन प्रबंधन जटिलता बढ़ जाती है।

मोबाइल डेवलपमेंट इकोसिस्टम में, Central भूमिका सबसे सामान्य परिदृश्य है। स्मार्टफोन पर एक ऐप BLE उपकरणों (सेंसर, हेडफ़ोन, बैंड) की खोज करता है, उनसे जुड़ता है और डेटा प्राप्त करता है। डेवलपर Central के साथ काम करने के लिए ऑपरेटिंग सिस्टम API का उपयोग करता है: iOS पर CBCentralManager, Android पर BluetoothLeScanner और BluetoothGatt।

उपकरण स्कैनिंग प्रक्रिया

स्कैनिंग Central के संचालन का पहला चरण है। उपकरण BLE रेडियो चैनलों (37, 38, 39) पर सुनता है ताकि विज्ञापन पैकेट का पता लगा सके जो Peripheral समय-समय पर भेजते हैं। प्रत्येक विज्ञापन पैकेट में उपकरण का नाम, Service UUID की सूची और कस्टम डेटा होता है।

Central दो स्कैनिंग मोड में काम कर सकता है: निष्क्रिय स्कैनिंग (केवल विज्ञापन पैकेट प्राप्त करना) और सक्रिय स्कैनिंग (स्कैन प्रतिक्रिया के माध्यम से अतिरिक्त डेटा प्राप्त करने के लिए स्कैन अनुरोध भेजना)। निष्क्रिय स्कैनिंग ऊर्जा बचाती है लेकिन कम जानकारी देती है। सक्रिय स्कैनिंग उपकरण नाम और पूर्ण सेवा सूची सहित विज्ञापन पैकेट का पूरा डेटा प्राप्त करने की अनुमति देती है।

UUID द्वारा फ़िल्टरिंग एक महत्वपूर्ण अनुकूलन है। Central केवल एक विशिष्ट Service UUID वाले उपकरणों को स्कैन कर सकता है, बाकी को अनदेखा कर सकता है। यह न केवल ऊर्जा बचाता है बल्कि एप्लिकेशन तर्क को भी सरल बनाता है: डेलीगेट केवल प्रासंगिक उपकरण प्राप्त करता है।

swift
import CoreBluetooth

class BLECentralManager: NSObject, CBCentralManagerDelegate {

    private var centralManager: CBCentralManager!

    override init() {
        super.init()
        centralManager = CBCentralManager(
            delegate: self,
            queue: nil
        )
    }

    func centralManagerDidUpdateState(_ central: CBCentralManager) {
        if central.state == .poweredOn {
            central.scanForPeripherals(
                withServices: nil,
                options: [
                    CBCentralManagerScanOptionAllowDuplicatesKey: false
                ]
            )
        }
    }
}

कनेक्शन प्रबंधन

कनेक्शन प्रबंधन Central की मुख्य जिम्मेदारी है। एक उपयुक्त Peripheral खोजने के बाद, Central कनेक्शन शुरू करता है। BLE कनेक्शन कनेक्शन स्थापना प्रक्रिया के माध्यम से स्थापित होता है जिसमें पैरामीटर आदान-प्रदान शामिल होता है: कनेक्शन अंतराल, दास विलंबता और पर्यवेक्षण टाइमआउट।

कनेक्शन अंतराल यह निर्धारित करता है कि कनेक्शन के बाद Central और Peripheral कितनी बार डेटा का आदान-प्रदान करते हैं। अंतराल 7.5 ms से 4 सेकंड तक हो सकता है। अंतराल जितना छोटा होगा, थ्रूपुट उतना ही अधिक होगा, लेकिन ऊर्जा खपत भी उतनी ही अधिक होगी। दास विलंबता Peripheral को ऊर्जा बचाने के लिए कई कनेक्शन इवेंट को छोड़ने की अनुमति देती है। पर्यवेक्षण टाइमआउट बिना प्रतिक्रिया के अधिकतम समय है, जिसके बाद कनेक्शन खोया हुआ माना जाता है।

Central डेटा आदान-प्रदान पूरा होने के बाद कनेक्शन समाप्त करने के लिए जिम्मेदार है। BLE उपकरण आमतौर पर स्थायी रूप से कनेक्शन नहीं रखते हैं — Central कनेक्ट होता है, डेटा प्राप्त करता है और डिस्कनेक्ट हो जाता है। यह IoT सेंसर के लिए एक मानक पैटर्न है: Central स्कैन करता है, तापमान सेंसर ढूँढता है, कनेक्ट होता है, मान पढ़ता है और डिस्कनेक्ट हो जाता है।

पैरामीटरसीमाउद्देश्यअनुशंसा
कनेक्शन अंतराल7.5 ms – 4 sडेटा आदान-प्रदान आवृत्तिस्ट्रीमिंग के लिए 30–50 ms, दुर्लभ डेटा के लिए 1–4 s
दास विलंबता0–499 इवेंटPeripheral इवेंट छोड़नासेंसर ऊर्जा बचत के लिए 4–10
पर्यवेक्षण टाइमआउट100 ms – 32 sकनेक्शन हानि टाइमआउटअधिकांश परिदृश्यों के लिए 6–10 सेकंड
MTU23–517 बाइट्सATT पैकेट आकारकनेक्शन पर अधिकतम का अनुरोध करें

iOS पर Central: Core Bluetooth

Core Bluetooth iOS और macOS पर BLE के साथ काम करने के लिए Apple का फ्रेमवर्क है। CBCentralManager क्लास Central भूमिका को लागू करने के लिए पूर्ण API प्रदान करता है: स्कैनिंग, कनेक्शन, कनेक्शन प्रबंधन। iOS पर Central के साथ काम डेलिगेट मॉडल पर आधारित है: CBCentralManagerDelegate स्थिति परिवर्तन, उपकरण खोज और कनेक्शन परिणामों की घटनाएँ प्राप्त करता है।

iOS पर Central के मुख्य चरण: CBCentralManager को आरंभ करना, Bluetooth स्थिति की जाँच करना, स्कैनिंग शुरू करना, डेलिगेट के माध्यम से खोजे गए उपकरणों को संभालना, चयनित Peripheral से कनेक्ट करना, सेवाओं और विशेषताओं की खोज करना, डेटा का आदान-प्रदान करना।

swift
// खोजे गए Peripheral से कनेक्ट करें
func centralManager(
    _ central: CBCentralManager,
    didDiscover peripheral: CBPeripheral,
    advertisementData: [String: Any],
    rssi RSSI: NSNumber
) {
    // Peripheral का संदर्भ रखें और कनेक्ट करें
    discoveredPeripheral = peripheral
    central.connect(peripheral, options: nil)
}

// सफल कनेक्शन
func centralManager(
    _ central: CBCentralManager,
    didConnect peripheral: CBPeripheral
) {
    peripheral.delegate = self
    peripheral.discoverServices(nil)
}

iOS बैकग्राउंड BLE कार्य को सीमित करता है: बैकग्राउंड में, एक ऐप केवल Info.plist में विशिष्ट कुंजियों के साथ स्कैन कर सकता है, और कनेक्टेड उपकरण Central को डेटा परिवर्तनों के बारे में सूचित कर सकते हैं। महत्वपूर्ण अनुप्रयोगों (चिकित्सा उपकरणों) के लिए, bluetooth-central कुंजी के साथ बैकग्राउंड मोड का उपयोग करें।

Android पर Central: BluetoothLeScanner

Android BLE उपकरणों को स्कैन करने के लिए BluetoothLeScanner API और कनेक्शन प्रबंधन के लिए BluetoothGatt प्रदान करता है। Android 5.0 (API 21) से शुरू करके, BluetoothLeScanner ने पुराने startLeScan को बदल दिया। API के लिए BLUETOOTH, BLUETOOTH_ADMIN और ACCESS_FINE_LOCATION अनुमतियाँ (या Android 10+ के लिए ACCESS_BACKGROUND_LOCATION) आवश्यक हैं।

java
import android.bluetooth.le.*;
import android.bluetooth.*;

private BluetoothLeScanner scanner;
private BluetoothGatt bluetoothGatt;

// स्कैनिंग कॉन्फ़िगर करें
ScanSettings settings = new ScanSettings.Builder()
    .setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
    .build();

// स्कैनिंग शुरू करें
scanner.startScan(null, settings, new ScanCallback() {
    @Override
    public void onScanResult(
            int callbackType,
            ScanResult result
    ) {
        BluetoothDevice device = result.getDevice();
        // डिवाइस से कनेक्ट करें
        bluetoothGatt = device.connectGatt(
            context, false, gattCallback
        );
    }
});

Android पर, स्कैनिंग सीमाओं पर विचार करना महत्वपूर्ण है: Android 7 (API 24) से शुरू करके, स्थान का उपयोग न करने वाले ऐप्स में स्कैनिंग 30 सेकंड में 5 बार से अधिक शुरू नहीं की जा सकती। Android 12+ के लिए BLUETOOTH_SCAN, BLUETOOTH_CONNECT और ADVERTISE अनुमतियों के साथ-साथ इन अनुमतियों के रनटाइम अनुरोध की आवश्यकता है।

Central की ऊर्जा खपत

Central की ऊर्जा खपत Peripheral की तुलना में अधिक है क्योंकि इसे रेडियो चैनलों को लगातार स्कैन करने की आवश्यकता होती है। Central BLE पैकेट प्राप्त करता है, उन्हें संसाधित करता है, कनेक्शन का प्रबंधन करता है और अक्सर एप्लिकेशन प्रोसेसर पर गणना करता है। Bluetooth SIG के अनुसार, स्कैनिंग मोड के आधार पर 30 mA से 100 mA तक की खपत करती है।

Central के लिए ऊर्जा बचत की कई रणनीतियाँ हैं। अंतराल स्कैनिंग सबसे प्रभावी तरीका है: Central लंबे ठहराव (स्कैन अंतराल) के साथ छोटी विंडो (स्कैन विंडो) में स्कैन करता है। उदाहरण के लिए, 30 ms की स्कैन विंडो और 1000 ms के स्कैन अंतराल के साथ, निरंतर स्कैनिंग की तुलना में ऊर्जा खपत 97% कम हो जाती है।

एक अतिरिक्त अनुकूलन UUID फ़िल्टरिंग है। Central केवल प्रासंगिक विज्ञापन पैकेट को तेज़ी से संसाधित करता है, बाकी को अनदेखा करता है। इससे CPU लोड कम होता है और उपकरण की बैटरी लाइफ बढ़ती है। वांछित उपकरण मिलने के तुरंत बाद स्कैनिंग बंद करने और आवश्यकता से अधिक समय तक कनेक्शन न रखने की भी सिफारिश की जाती है।

अक्सर पूछे जाने वाले प्रश्न

क्या स्मार्टफोन एक ही समय में Central और Peripheral हो सकता है?

हाँ, BLE दोहरी भूमिका का समर्थन करता है: एक उपकरण एक साथ कुछ उपकरणों के लिए Central और दूसरों के लिए Peripheral हो सकता है। उदाहरण के लिए, स्मार्टफोन सेंसर से डेटा पढ़ता है (Central के रूप में) और साथ ही किसी अन्य उपकरण को डेटा संचारित करने के लिए अपनी सेवा का विज्ञापन करता है (Peripheral के रूप में)।

Central एक साथ कितने उपकरणों की सेवा कर सकता है?

BLE विनिर्देश एक Central के लिए 7 कनेक्शनों की सीमा निर्धारित करता है। व्यवहार में, सीमा चिप निर्माता पर निर्भर करती है: Nordic nRF52840 चिप्स 20 कनेक्शन तक का समर्थन करते हैं, जबकि कुछ सस्ते Bluetooth एडेप्टर 3–4 से अधिक का समर्थन नहीं करते हैं।

मेरा Central मेरे BLE सेंसर का पता क्यों नहीं लगा रहा है?

कारण अलग-अलग हो सकते हैं: सेंसर विज्ञापन नहीं कर रहा है (विज्ञापन मोड में नहीं है), UUID फ़िल्टर बहुत सख्त है, स्मार्टफोन पर Bluetooth बंद है, आवश्यक अनुमतियाँ गायब हैं (Android पर स्थान), या सेंसर सीमा से बाहर है (घर के अंदर 10 मीटर तक अनुशंसित)।

क्या BLE उपकरण के साथ कनेक्शन लगातार बनाए रखना आवश्यक है?

ज़रूरी नहीं। कई परिदृश्यों के लिए, कनेक्ट-और-पढ़ें पैटर्न का उपयोग किया जाता है: Central स्कैन करता है, कनेक्ट होता है, आवश्यक डेटा पढ़ता है और डिस्कनेक्ट हो जाता है। निरंतर कनेक्शन केवल स्ट्रीमिंग डेटा (पल्स, ECG) या रीयल-टाइम डिवाइस नियंत्रण के लिए आवश्यक है।

स्कैनिंग के दौरान Central की ऊर्जा खपत कैसे कम करें?

30–50 ms की स्कैन विंडो और 500–1000 ms के स्कैन अंतराल के साथ अंतराल स्कैनिंग का उपयोग करें। केवल प्रासंगिक विज्ञापन पैकेट को संसाधित करने के लिए UUID द्वारा उपकरणों को फ़िल्टर करें। वांछित Peripheral मिलने के तुरंत बाद स्कैनिंग बंद कर दें।

सारांश

  • Central BLE कनेक्शन का एक सक्रिय भागीदार है जो स्कैनिंग, कनेक्शन और डेटा आदान-प्रदान प्रबंधन शुरू करता है।
  • स्कैनिंग प्रक्रिया में Service UUID द्वारा फ़िल्टर करने की क्षमता के साथ चैनल 37, 38, 39 पर विज्ञापन पैकेट प्राप्त करना शामिल है।
  • Peripheral खोजने के बाद, Central कॉन्फ़िगर करने योग्य पैरामीटर — कनेक्शन अंतराल, दास विलंबता, पर्यवेक्षण टाइमआउट — के साथ कनेक्शन स्थापित करता है।
  • मोबाइल डेवलपमेंट में, Central CBCentralManager (iOS) या BluetoothLeScanner + BluetoothGatt (Android) के माध्यम से कार्यान्वित किया जाता है।
  • एक Central मानक Bluetooth कॉन्फ़िगरेशन में एक साथ 7 कनेक्शन तक प्रबंधित कर सकता है।
  • Central की ऊर्जा खपत को अंतराल स्कैनिंग और UUID फ़िल्टरिंग के माध्यम से बैटरी जीवन बढ़ाने के लिए अनुकूलित किया जा सकता है।
  • खोज से लेकर डिस्कनेक्ट तक उचित कनेक्शन जीवनचक्र प्रबंधन, BLE एप्लिकेशन की दक्षता निर्धारित करता है।

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें