Advertising (اشتہار) Bluetooth Low Energy میں ایک طریقہ کار ہے جس کے ذریعے Peripheral آلہ تین مخصوص چینلز (37، 38، 39) پر مختصر ڈیٹا پیکٹ منتقل کر کے اپنی موجودگی کا اعلان کرتا ہے۔ Bluetooth Core Specification 5.4 (2023) دو قسم کے اشتہار کی وضاحت کرتا ہے: connectable — آلہ کنکشن کے لیے تیار ہے، اور non-connectable — بیکن (Beacon) کے ذریعے استعمال کیا جاتا ہے جو دو طرفہ مواصلات قائم کیے بغیر صرف ڈیٹا منتقل کرتے ہیں۔ اشتہار کے پیرامیٹرز — وقفہ 20 ms سے 10.24 s، ٹرانسمیٹر پاور -20 سے +10 dBm اور پیکٹ کی قسم — براہ راست آلے کی دریافت کی رفتار اور اس کی بجلی کی کھپت کو متاثر کرتے ہیں، جو بیٹری سے چلنے والے IoT آلات کی ترقی میں اہم ہے۔
اہم نکات
Advertising (اشتہار) مختصر ڈیٹا پیکٹ کی متواتر ترسیل کا عمل ہے جس کے ذریعے BLE آلہ اپنی موجودگی اور دستیابی کا اعلان کرتا ہے۔ کلاسک Bluetooth کے برعکس، جہاں آلات کی دریافت میں سیکنڈ لگتے ہیں، BLE اشتہار کم سے کم بجلی خرچ کرتے ہوئے ملی سیکنڈ میں آلے کی دریافت کی اجازت دیتا ہے۔
BLE فن تعمیر آلات کو دو کرداروں میں تقسیم کرتا ہے: Peripheral (اشتہار دیتا ہے) اور Central (سکین کرتا ہے)۔ Peripheral اشتہاری پیکٹ بھیجتا ہے، جبکہ Central ہوا کو سکین کرتا ہے اور کنیکٹ ہونے کا فیصلہ کرتا ہے۔ یہ غیر متناسب ماڈل BLE کا ایک اہم فائدہ ہے: اشتہار دینے والا آلہ مسلسل ہوا سننے کے بجائے صرف مختصر پیکٹ بھیجنے پر توانائی خرچ کرتا ہے۔
اشتہار کا عمل تین مراحل پر مشتمل ہے: advertising event (تینوں چینلز پر پیکٹ بھیجنا)، scan request/response (Central کے ساتھ اختیاری تبادلہ) اور connection request (Central کی طرف سے کنکشن شروع کرنا)۔ ہر مرحلہ Link Layer کی سطح پر Bluetooth Controller کے ذریعے منظم کیا جاتا ہے۔
BLE 2.4 GHz بینڈ میں 40 چینلز استعمال کرتا ہے، جن میں سے 37 (2402 MHz)، 38 (2426 MHz) اور 39 (2480 MHz) خصوصی طور پر اشتہار کے لیے مختص ہیں۔ تین چینلز دریافت کی بھروسے اور تھروپٹ کے درمیان ایک سمجھوتہ ہیں: ایک چینل Wi-Fi یا دیگر مداخلت سے مصروف ہو سکتا ہے، لیکن آلہ دوسرے دو پر دریافت ہو جائے گا۔
چینل 37 Wi-Fi چینل 1 کے قریب، چینل 39 Wi-Fi چینل 6 کے قریب، اور چینل 38 ان کے درمیان کم سے کم مداخلت کے علاقے میں واقع ہے۔ تین چینلز کا انتخاب اس بات کو یقینی بناتا ہے کہ آلہ گھنے ریڈیو ماحول میں بھی دریافت ہو گا — مثال کے طور پر، درجنوں Wi-Fi رسائی پوائنٹس والے شاپنگ سینٹر میں۔
Peripheral تینوں چینلز پر ترتیب وار اشتہاری پیکٹ بھیجتا ہے — اسے advertising event کہا جاتا ہے۔ مرکزی آلہ ایک بار میں ایک چینل سکین کرتا ہے، Bluetooth Controller میں لاگو الگورتھم کے مطابق ان کے درمیان سوئچ کرتا ہے۔ تصادم کی غیر موجودگی میں ایک advertising event کے اندر دریافت کا امکان 100% کے قریب ہے۔
Bluetooth Core Specification کئی اقسام کے اشتہاری PDU (Protocol Data Unit) کی وضاحت کرتی ہے، ہر ایک کا اپنا مقصد ہوتا ہے۔ اہم اقسام ہیں: ADV_IND (connectable undirected advertising) — کنکشن کی صلاحیت کے ساتھ معیاری اشتہار، ADV_NONCONN_IND (non-connectable undirected advertising) — کنکشن کے بغیر صرف اشتہار، ADV_SCAN_IND (scannable undirected advertising) — سکین کی درخواست کو سپورٹ کرتا ہے، ADV_DIRECT_IND (directed advertising) — مخصوص Central کے لیے اشتہار۔
ADV_IND سب سے عام قسم ہے جو زیادہ تر BLE آلات میں استعمال ہوتی ہے۔ ADV_IND وصول کرنے پر، Central کنکشن کی درخواست بھیج سکتا ہے اور کنکشن قائم کر سکتا ہے۔ ADV_NONCONN_IND بیکن (Beacon) میں استعمال ہوتا ہے: آلہ اشتہار دیتا ہے لیکن کنکشن کی درخواستیں قبول نہیں کرتا — صرف یک طرفہ ڈیٹا ترسیل۔
| PDU قسم | وضاحت | کنکشن | Scan response |
|---|---|---|---|
| ADV_IND | معیاری اشتہار | ہاں | ہاں |
| ADV_DIRECT_IND | مخصوص Central کو اشتہار | ہاں | نہیں |
| ADV_NONCONN_IND | بغیر کنکشن (بیکن) | نہیں | نہیں |
| ADV_SCAN_IND | سکین سپورٹ کے ساتھ | ہاں | ہاں |
| ADV_EXT_IND | توسیعی اشتہار (BLE 5.0) | ہاں | ہاں |
ADV_DIRECT_IND میں ہدف Central کا پتہ ہوتا ہے، جو سکیننگ کا انتظار کیے بغیر فوری کنکشن قائم کرنے کی اجازت دیتا ہے۔ یہ اس وقت استعمال ہوتا ہے جب آلات ایک دوسرے کو “پہچانتے” ہوں — مثال کے طور پر، پہلے سے جوڑے گئے اسمارٹ فون سے دوبارہ کنکشن کے بعد۔ یہ قسم بجلی کی کھپت کو کم کرتی ہے کیونکہ اسے تمام چینلز پر اشتہار کی ضرورت نہیں ہوتی۔
Advertising interval متواتر advertising events کے درمیان کا وقت ہے۔ تصریح 0.625 ms کے مرحلے کے ساتھ 20 ms سے 10.24 s تک کے وقفے کی اجازت دیتی ہے۔ حقیقی وقفہ ایک مقررہ قدر اور بے ترتیب تاخیر (0–10 ms) کے مجموعے کے طور پر شمار کیا جاتا ہے، جو متعدد اشتہار دینے والے آلات کے درمیان تصادم کے امکان کو کم کرتا ہے۔
وقفے کا انتخاب دریافت کی رفتار اور بجلی کی کھپت کے درمیان توازن ہے۔ 20 ms کے وقفے پر، آلہ 20–30 ms میں دریافت ہو جائے گا، لیکن اوسط کرنٹ تقریباً 1–2 mA ہو گا۔ 1000 ms کے وقفے پر، دریافت میں 1 سیکنڈ تک لگ سکتا ہے، لیکن اوسط کرنٹ 50–100 µA تک گر جائے گا۔ زیادہ تر IoT آلات کے لیے تجویز کردہ وقفہ 200–1000 ms ہے۔
Texas Instruments Application Report SWRA478 (2024) کے مطابق، اشتہار کے وقفے کو 100 ms سے 1000 ms تک بڑھانے سے بجلی کی کھپت 90% کم ہو جاتی ہے۔ اگر آلہ کو فوری دریافت کی ضرورت نہیں ہے (مثال کے طور پر، درجہ حرارت کا سینسر جو منٹ میں ایک بار ڈیٹا منتقل کرتا ہے)، تو بہترین وقفہ 1000–2000 ms ہے۔
ایک اضافی پیرامیٹر advertising timeout ہے — زیادہ سے زیادہ وقت جس کے دوران آلہ اشتہار دیتا ہے۔ iOS میں، Peripheral خود بخود پس منظر میں 180 سیکنڈ کے بعد اشتہار بند کر دیتا ہے۔ Android میں ایسی کوئی حد نہیں ہے، لیکن مینوفیکچررز اپنی حدود شامل کر سکتے ہیں۔
Scan Response ایک اضافی ڈیٹا پیکٹ ہے (31 بائٹ تک) جو Peripheral Central کی سکین درخواست کے جواب میں بھیجتا ہے۔ سکین کی درخواست Central کی طرف سے اشتہاری پیکٹ وصول کرنے کے بعد بھیجی جاتی ہے اگر اسے کنکشن سے پہلے مزید معلومات کی ضرورت ہو۔ Scan Response کو اضافی اشتہار کی ضرورت نہیں ہے — یہ صرف درخواست پر بھیجا جاتا ہے، جس سے ہوا کے وقت کی بچت ہوتی ہے۔
عام ڈیٹا کی تقسیم: اشتہاری PDU (31 بائٹ) میں جھنڈے (3 بائٹ)، سروس UUID (2–16 بائٹ) اور مینوفیکچرر ڈیٹا (بقیہ بائٹ) ہوتے ہیں۔ Scan response میں مکمل آلے کا نام (28 بائٹ تک) اور اضافی UUID یا TX Power Level ہوتا ہے۔ یہ علیحدگی Central کو scan response پڑھے بغیر UUID کے ذریعے آلات کو تیزی سے فلٹر کرنے کی اجازت دیتی ہے۔
اشتہاری پیکٹ ڈیزائن کرتے وقت ذہن میں رکھیں: اگر اشتہاری PDU میں تمام 31 بائٹ مصروف ہیں، تو Central یہ تعین نہیں کر سکے گا کہ آیا آلہ scan response کو سپورٹ کرتا ہے۔ Scan response کی صلاحیت ظاہر کرنے کے لیے اشتہاری PDU میں کم از کم 3–5 بائٹ خالی چھوڑنے کی سفارش کی جاتی ہے۔
توسیعی اشتہار (Extended Advertising BLE 5.0) اشتہاری طریقہ کار کی ایک توسیع ہے جو اشتہاری پیکٹ کا سائز 31 سے 251 بائٹ تک بڑھاتی ہے اور نئی پیکٹ اقسام شامل کرتی ہے۔ Extended Advertising کھلے علاقوں میں مواصلات کی حدود کو 1 کلومیٹر تک بڑھانے کے لیے coded PHY اور متعدد Central کو ہم آہنگ کرنے کے لیے متواتر اشتہار (Periodic Advertising) کو بھی سپورٹ کرتا ہے۔
اہم اختراعات: ADV_EXT_IND — توسیعی اشتہاری PDU جو ایک ہی پیکٹ میں 251 بائٹ تک ڈیٹا منتقل کر سکتا ہے۔ Extended Advertising بنیادی چینلز (37، 38، 39) کو صرف یہ بتانے کے لیے استعمال کرتا ہے کہ مکمل ڈیٹا کس ثانوی چینل (0–36) پر منتقل کیا جاتا ہے۔ یہ اشتہاری چینلز پر بوجھ کم کرتا ہے اور نظام کی مجموعی تھروپٹ بڑھاتا ہے۔
متواتر اشتہار (Periodic Advertising) ایک اضافی طریقہ کار ہے جس میں Peripheral مقررہ وقفے پر ثانوی چینلز پر ڈیٹا بھیجتا ہے، اور Central اس ترتیب کے ساتھ ہم آہنگ ہو سکتا ہے۔ یہ باقاعدہ ڈیٹا اپ ڈیٹ کی ضرورت والی خدمات کے لیے استعمال ہوتا ہے — مثال کے طور پر، آڈیو اسٹریمنگ یا ریئل ٹائم سینسر ریڈنگ۔
| پیرامیٹر | معیاری BLE | توسیعی BLE 5.0 |
|---|---|---|
| زیادہ سے زیادہ پیکٹ سائز | 31 بائٹ | 251 بائٹ |
| چینلز | صرف 37، 38، 39 | + ثانوی 0–36 |
| حدود | 100 میٹر تک | 1000 میٹر تک (coded PHY) |
| رفتار | 1 Mbps | 125 kbps – 2 Mbps |
| متواتر | نہیں | ہاں |
iOS (Core Bluetooth) اشتہار کے انتظام کے لیے CBPeripheralManager فراہم کرتا ہے۔ اشتہار کے پیرامیٹرز advertisementData ڈکشنری میں کلیدوں CBAdvertisementDataLocalNameKey (آلے کا نام)، CBAdvertisementDataServiceUUIDsKey (سروس UUID)، CBAdvertisementDataTxPowerLevelKey (طاقت کی سطح) کے ساتھ سیٹ کیے جاتے ہیں۔ iOS خود بخود اشتہار کے وقفے کا انتظام کرتا ہے اور اسے دستی طور پر سیٹ کرنے کی اجازت نہیں دیتا۔
import CoreBluetooth
class AdvertiserManager: NSObject, CBPeripheralManagerDelegate {
private var peripheralManager: CBPeripheralManager!
func startBLEAdvertising() {
let data: [String: Any] = [
CBAdvertisementDataLocalNameKey: "BLE Beacon",
CBAdvertisementDataServiceUUIDsKey: [
CBUUID("180F")
],
CBAdvertisementDataIsConnectable: true
]
peripheralManager.startAdvertising(data)
}
}
Android (BluetoothLeAdvertiser) زیادہ تفصیلی کنٹرول فراہم کرتا ہے۔ دستیاب: AdvertiseSettings — موڈ کنفیگریشن (LOW_POWER، BALANCED، LOW_LATENCY)، ٹرانسمیٹر پاور اور وقفہ؛ AdvertiseData — پیکٹ ڈیٹا۔ Android مطابقت رکھنے والے آلات پر توسیعی اشتہار (BLE 5.0) کو سپورٹ کرتا ہے، لیکن بازار میں ایسے آلات کا حصہ تقریباً 30–40% ہے۔
BluetoothLeAdvertiser advertiser =
BluetoothAdapter.getDefaultAdapter()
.getBluetoothLeAdvertiser();
AdvertiseSettings settings = new AdvertiseSettings.Builder()
.setAdvertiseMode(
AdvertiseSettings.ADVERTISE_MODE_LOW_POWER
)
.setTxPowerLevel(
AdvertiseSettings.ADVERTISE_TX_POWER_MEDIUM
)
.build();
AdvertiseData data = new AdvertiseData.Builder()
.setIncludeDeviceName(true)
.addServiceUuid(new ParcelUuid(
UUID.fromString(
"0000180F-0000-1000-8000-00805F9B34FB"
)
))
.build();
advertiser.startAdvertising(
settings, data, advertiseCallback
);
کراس پلیٹفارم BLE ایپلیکیشن تیار کرتے وقت اختلافات پر غور کریں: iOS براہ راست اشتہار کے وقفے کو کنٹرول کرنے کی اجازت نہیں دیتا لیکن تمام آلات پر مستحکم آپریشن کو یقینی بناتا ہے؛ Android مکمل کنٹرول فراہم کرتا ہے، لیکن ورژن اور مینوفیکچرر کی تقسیم عدم مطابقت کا سبب بن سکتی ہے۔ دونوں پلیٹ فارمز کے حقیقی آلات پر اشتہار کی جانچ کرنے کی سفارش کی جاتی ہے۔
اکثر پوچھے گئے سوالات
Connectable اشتہار (ADV_IND) Central کو آلے کے ساتھ دو طرفہ کنکشن قائم کرنے کی اجازت دیتا ہے۔ Non-connectable (ADV_NONCONN_IND) صرف یک طرفہ ڈیٹا ترسیل ہے، جو کنکشن کی صلاحیت کے بغیر شناخت کنندہ نشر کرنے کے لیے بیکن (Beacon) میں استعمال ہوتا ہے۔
معیاری اشتہاری پیکٹ 31 بائٹ ہے، scan response اضافی 31 بائٹ ہے۔ توسیعی اشتہار (BLE 5.0+) ڈیٹا کی ترسیل کے لیے ثانوی چینلز استعمال کر کے حد بڑھا کر 251 بائٹ کر دیتا ہے۔
زیادہ تر IoT آلات کے لیے 500–1000 ms تجویز کیا جاتا ہے۔ اگر تیز دریافت ضروری ہو (مثال کے طور پر، ہیڈ فون کنیکٹ کرنے کے لیے)، 20–50 ms استعمال کریں۔ کم ڈیٹا بھیجنے والے سینسر کے لیے، بجلی بچانے کے لیے 1000–2000 ms استعمال کریں۔
تین چینلز (37، 38، 39) دریافت کی بھروسے اور تھروپٹ کے درمیان ایک سمجھوتہ ہیں۔ ایک چینل Wi-Fi سے مصروف ہو سکتا ہے، لیکن آلہ دوسرے دو پر دریافت ہو جائے گا۔ چینل 38 Wi-Fi چینلز کے درمیان کم سے کم مداخلت کے علاقے میں واقع ہے۔
اشتہار BLE میں بجلی کا سب سے بڑا صارف ہے۔ 1000 ms کے وقفے پر، اوسط کرنٹ 50–100 µA ہے، جو آلہ کو CR2032 بیٹری پر ایک سال چلنے دیتا ہے۔ 20 ms کے وقفے پر، کرنٹ بڑھ کر 1–2 mA ہو جاتا ہے، جس سے آپریٹنگ وقت کئی ہفتوں تک کم ہو جاتا ہے۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں