Bluetooth और Bluetooth Low Energy कम दूरी पर डेटा ट्रांसमिशन के लिए वायरलेस संचार मानक हैं। Bluetooth Classic (BR/EDR) ऑडियो और फ़ाइलों के लिए एक स्थिर स्ट्रीमिंग चैनल प्रदान करता है, जबकि BLE सेंसर और परिधीय उपकरणों के साथ ऊर्जा-कुशल संचालन के लिए अनुकूलित है। Bluetooth SIG, 2025 के अनुसार, प्रतिवर्ष 5 बिलियन से अधिक BLE-समर्थित डिवाइस शिप किए जाते हैं — यह मानक IoT, पहनने योग्य इलेक्ट्रॉनिक्स और मोबाइल एक्सेसरीज़ की नींव बन गया है।
मुख्य बिंदु
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 से अधिक प्रोफाइल प्रकार शामिल हैं।
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 mA | 5–15 mA |
| एयर टाइम | ~100 ms | ~3 ms |
| टोपोलॉजी | Piconet (1 मास्टर, 7 तक स्लेव) | Broadcaster / Observer / Peripheral / Central |
| प्रोफाइल | HFP, A2DP, HSP, SPP, OPP | GATT-आधारित (HRS, BLS, CTS, आदि) |
| विशिष्ट डिवाइस | हेडसेट, स्पीकर, कार हैंड्स-फ्री | फ़िटनेस ट्रैकर, टैग, हृदय गति मॉनिटर, IoT सेंसर |
| संगतता | भौतिक स्तर पर BLE के साथ संगत नहीं | दोहरे-मोड चिप्स दोनों स्टैक का समर्थन करते हैं |
BLE 5.x ने LE Coded PHY को 1 किमी (खुले क्षेत्रों में) तक की सीमा बढ़ाने के लिए और LC3 कोडेक के साथ LE Audio जोड़ा — नया संस्करण धीरे-धीरे ऑडियो परिदृश्यों के लिए Classic और 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 से अधिक नहीं होता है।
ATT (Attribute Protocol) मूल परिवहन मॉडल है जहाँ सर्वर (परिधीय डिवाइस) विशेषताओं को संग्रहीत करता है और क्लाइंट (स्मार्टफोन) उन्हें पढ़ता या लिखता है। GATT (Generic Attribute Profile) ATT के ऊपर एक पदानुक्रम बनाता है: Service → Characteristic → Descriptor।
प्रत्येक सेवा एक डिवाइस फ़ंक्शन का वर्णन करने वाली विशेषताओं का एक तार्किक समूह है: Heart Rate Service (UUID 0x180D) में Heart Rate Measurement विशेषता (UUID 0x2A37) होती है जिसमें एक Client Characteristic Configuration Descriptor (0x2902) होता है जो सूचनाओं को नियंत्रित करता है। मोबाइल ऐप डेवलपर discoverServices() के माध्यम से सेवाओं की सूची प्राप्त करता है, फिर UUID द्वारा आवश्यक विशेषता ढूंढता है और सूचनाओं की सदस्यता लेता है।
BLE मानकीकृत Bluetooth SIG सेवाओं के लिए 16-बिट UUID और कस्टम निर्माता सेवाओं के लिए 128-बिट UUID का उपयोग करता है। उदाहरण के लिए, एक ट्रैकर केस अपनी बैटरी चार्ज स्तर को प्रसारित करने के लिए एक विशेषता के साथ A000-… सेवा को परिभाषित कर सकता है।
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 एक महत्वपूर्ण BLE तंत्र है जहाँ एक Peripheral डिवाइस तीन प्राथमिक चैनलों (37, 38, 39) पर समय-समय पर प्रसारण पैकेट (advertising PDU) भेजता है। केंद्रीय डिवाइस इन चैनलों को स्कैन करता है, Advertising डेटा प्राप्त करता है और कनेक्शन शुरू कर सकता है।
एक Advertising पैकेट में 31 बाइट्स तक पेलोड होता है: फ्लैग, TX पावर लेवल, स्थानीय नाम, सेवा UUID, निर्माता-विशिष्ट डेटा। यह कनेक्शन स्थापित किए बिना सेंसर रीडिंग प्रसारित करने के लिए पर्याप्त है — कनेक्शन रहित मोड (Broadcaster प्रकार)। निरंतर डेटा ट्रांसमिशन (जैसे, प्रति मिनट एक बार तापमान) के लिए, 1000 ms तक के कनेक्शन अंतराल के साथ कनेक्शन का उपयोग किया जाता है।
मोबाइल प्लेटफ़ॉर्म पर, स्कैनिंग startScan() (Android) या scanForPeripherals() (iOS) के माध्यम से शुरू की जाती है। सेवा UUID द्वारा फ़िल्टरिंग सभी दृश्यमान डिवाइसों को संसाधित न करके ऊर्जा बचाती है — ऐप को केवल प्रासंगिक टैग या सेंसर के लिए कॉलबैक प्राप्त होता है।
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 CBPeripheral ऑब्जेक्ट पास करते हुए connect() को कॉल करता है। कनेक्शन पैरामीटर (अंतराल, विलंबता, पर्यवेक्षण टाइमआउट) लिंक लेयर स्तर पर बातचीत की जाती है — डेवलपर सीधे उन्हें प्रबंधित नहीं करता है, लेकिन Android पर requestConnectionPriority के माध्यम से प्रभावित कर सकता है।
दोनों मोबाइल प्लेटफ़ॉर्म BLE के साथ काम करने के लिए मूल API प्रदान करते हैं। Core Bluetooth (iOS) एक डेलीगेट दृष्टिकोण का उपयोग करता है: केंद्रीय प्रबंधक संचालन शुरू करता है, और परिधीय ऑब्जेक्ट डेलीगेट विधियों के माध्यम से परिणामों की रिपोर्ट करता है। android.bluetooth (Android) कॉलबैक इंटरफ़ेस पर बनाया गया है और कई डिवाइसों के साथ समानांतर GATT संचालन का समर्थन करता है।
प्लेटफ़ॉर्म के बीच मुख्य अंतर:
Bluetooth SIG परीक्षणों (2024) के अनुसार, स्मार्टफोन और फ़िटनेस ट्रैकर के बीच BLE कनेक्शन समय Android पर औसतन 150–300 ms और iOS पर 100–250 ms है — अंतर रेडियो फ्रीक्वेंसी मॉड्यूल प्रबंधन नीतियों के कारण है।
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 (BR/EDR) निरंतर स्ट्रीमिंग — ऑडियो कॉल, संगीत, फ़ाइल स्थानांतरण के लिए डिज़ाइन किया गया है। BLE न्यूनतम बिजली खपत — सेंसर, टैग, फ़िटनेस ट्रैकर के साथ छोटे डेटा पैकेट के लिए अनुकूलित है। Classic 10–30 mA की खपत करता है, BLE — पीक पर 5–15 mA।
भौतिक स्तर पर वे संगत नहीं हैं — अलग मॉड्यूलेशन और चैनल मैप। हालाँकि, अधिकांश आधुनिक चिप्स दोहरे-मोड हैं और दोनों स्टैक को लागू करते हैं। दोहरे-मोड चिप वाला स्मार्टफोन एक साथ Classic हेडसेट और BLE ट्रैकर के साथ संचार कर सकता है।
कनेक्शन अंतराल स्थापित कनेक्शन में दो डेटा पैकेट के बीच का समय है। मान 7.5 ms से 4 सेकंड तक होता है। अंतराल जितना छोटा होगा, थ्रूपुट उतना ही अधिक और बिजली की खपत उतनी ही अधिक होगी। प्रति मिनट एक बार रिपोर्ट करने वाले तापमान सेंसर के लिए, 1000 ms के अंतराल का उपयोग किया जाता है।
पेयरिंग Central और Peripheral के बीच एन्क्रिप्शन कुंजियों के आदान-प्रदान की प्रक्रिया है। BLE तीन विधियों का समर्थन करता है: Just Works (बिना पुष्टि के), Passkey Entry (स्क्रीन पर PIN प्रविष्टि), और OOB (NFC या QR के माध्यम से आदान-प्रदान)। पेयरिंग के बाद, डिवाइस कुंजियाँ संग्रहीत करते हैं (बॉन्डिंग) और बाद के कनेक्शनों पर पुनः प्रमाणीकरण का अनुरोध नहीं करते हैं।
सबसे सामान्य: Heart Rate Profile (0x180D) हृदय गति मॉनिटर के लिए, Blood Pressure Profile (0x1810) रक्तचाप मॉनिटर के लिए, Environmental Sensing (0x181A) तापमान और आर्द्रता सेंसर के लिए, Battery Service (0x180F) चार्ज स्तर के लिए, Device Information (0x180A) मॉडल और सीरियल नंबर के लिए।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें