iBeacon — এটি Apple-এর একটি মালিকানাধীন প্রোটোকল Bluetooth Low Energy বীকনের জন্য, যা iOS ডিভাইসগুলিকে সেন্টিমিটার নির্ভুলতার সাথে ঘরের ভিতরে তাদের অবস্থান নির্ধারণ করতে সক্ষম করে। প্রোটোকলের ভিত্তি হল BLE প্যাকেটের সম্প্রচার যা UUID, Major এবং Minor মান সম্বলিত একটি অনন্য শনাক্তকারী বহন করে। Apple iBeacon Design Guidelines (2025) অনুসারে, প্রযুক্তিটি শপিং মল, জাদুঘর, বিমানবন্দর এবং স্টেডিয়ামে ন্যাভিগেশনের জন্য ব্যবহৃত হয়, ডিভাইসগুলির সক্রিয় পেয়ারিং ছাড়াই প্যাসিভ সনাক্তকরণ সমর্থন করে।
মুখ্য বিষয়
iBeacon — এটি Apple-এর তৈরি একটি অভ্যন্তরীণ অবস্থান নির্ধারণ প্রযুক্তি, যা WWDC 2013-এ উপস্থাপিত হয়েছিল। GPS-এর বিপরীতে, যা ভবনের ভিতরে কাজ করে না, iBeacon Bluetooth Low Energy বীকন ব্যবহার করে — ছোট ব্যাটারিচালিত ডিভাইস যা নির্দিষ্ট শনাক্তকরণ প্যাকেট প্রেরণ করে। iOS এবং Android ডিভাইস এই প্যাকেটগুলি গ্রহণ করে এবং সংকেত স্তর (RSSI) এর ভিত্তিতে বীকন পর্যন্ত আনুমানিক দূরত্ব গণনা করে।
iBeacon প্রোটোকলটি BLE বীকনের প্রথম ব্যাপক মান হয়ে ওঠে, যা Apple 2013 সালে iOS 7-এ চালু করেছিল। প্রাথমিকভাবে প্রযুক্তিটি খুচরা বাণিজ্যে ব্যবহৃত হয়েছিল: Apple Store নির্দিষ্ট জোনে প্রবেশ করলে গ্রাহকদের ডিসকাউন্ট সম্পর্কে জানাতে iBeacon প্রয়োগ করেছিল। 2025 সালের মধ্যে, iBeacon পরিকাঠামো বিশ্বব্যাপী লক্ষ লক্ষ ইনস্টল করা বীকন নিয়ে গঠিত, যদিও বিকল্প প্রোটোকল — Google-এর Eddystone এবং ওপেন সোর্স AltBeacon — আবির্ভূত হয়েছে।
iBeacon পাঁচটি প্রধান পরিস্থিতিতে ব্যবহৃত হয়: অভ্যন্তরীণ স্থানে ন্যাভিগেশন (শপিং মল, বিমানবন্দর, জাদুঘর), প্রাসঙ্গিক বিজ্ঞপ্তি (দোকানে প্রবেশের সময় ডিসকাউন্ট), ওয়ার্কফ্লো অটোমেশন (উপস্থিতি চিহ্নিতকরণ), লজিস্টিক এবং গুদাম ব্যবস্থাপনা, এবং পর্যটক গাইড যা বস্তুর কাছে গেলে স্বয়ংক্রিয়ভাবে কন্টেন্ট চালায়। ABI Research (2025) অনুসারে, BLE বীকনের বাজার কার্যরত ৩.২ বিলিয়ন ডিভাইসে পৌঁছেছে।
iBeacon প্যাকেট — এটি একটি Advertising PDU (প্রোটোকল ডেটা ইউনিট), যা BLE বিজ্ঞাপন চ্যানেলে 2402, 2426 এবং 2480 MHz ফ্রিকোয়েন্সিতে প্রেরিত হয়। প্যাকেট ফরম্যাটটি কঠোরভাবে নির্ধারিত এবং চারটি ক্ষেত্র নিয়ে গঠিত: Apple iBeacon উপসর্গ (0x4C000215), 16-বাইট UUID, 2-বাইট Major এবং 2-বাইট Minor মান এবং দূরত্ব ক্যালিব্রেশনের জন্য 1-বাইট TX Power। মোট ডেটা আকার 30 বাইট, যা একটি BLE Advertising PDU-তে ফিট করে।
| ক্ষেত্র | আকার | বিবরণ |
|---|---|---|
| Apple উপসর্গ | 9 বাইট | Company ID (0x004C) + iBeacon type (0x0215) |
| UUID | 16 বাইট | সংস্থা বা অ্যাপ্লিকেশনের অনন্য শনাক্তকারী |
| Major | 2 বাইট | জোন শনাক্তকারী (0-65535), যেমন দোকান নম্বর |
| Minor | 2 বাইট | পয়েন্ট শনাক্তকারী (0-65535), যেমন শেল্ফ নম্বর |
| TX Power | 1 বাইট | ১ মিটার দূরত্বে ক্যালিব্রেশন সংকেত শক্তি (dBm) |
iBeacon শনাক্তকারী একটি তিন-স্তরের শ্রেণিবিন্যাস গঠন করে। UUID সংস্থাকে বরাদ্দ করা হয় (যেমন একটি দোকানের চেইন), Major নির্দিষ্ট দোকান বা ফ্লোরকে, Minor জোনের ভিতরে নির্দিষ্ট পয়েন্টকে (ক্যাশ জোন, পণ্য বিভাগ)। এই শ্রেণিবিন্যাস অ্যাপ্লিকেশনকে বিভিন্ন স্তরের প্রসঙ্গে নমনীয়ভাবে প্রতিক্রিয়া জানাতে দেয়: দোকানে প্রবেশের সময় (UUID + Major) অ্যাপ্লিকেশন ফ্লোরের মানচিত্র লোড করতে পারে এবং নির্দিষ্ট বিভাগের কাছে গেলে (Minor) পণ্যের তথ্য দেখাতে পারে।
TX Power ক্ষেত্রটি বীকন থেকে ১ মিটার দূরত্বে সংকেত স্তরের (RSSI) রেফারেন্স মান। প্যাকেট পাওয়ার পর, ডিভাইস প্রকৃত RSSI নিবন্ধন করে এবং সূত্র অনুযায়ী দূরত্ব গণনা করে: distance = 10^((TX_Power - RSSI) / (10 * n)), যেখানে n — মাধ্যমের ক্ষয় সহগ (সাধারণত 2-4)। অবস্থান নির্ধারণের নির্ভুলতার জন্য TX Power-এর সঠিক ক্যালিব্রেশন গুরুত্বপূর্ণ: 1 dBm-এর ত্রুটি 5 মিটার দূরত্বে 30% পর্যন্ত ভুল দেয়।
iOS বীকন পর্যন্ত গণনাকৃত দূরত্বের ভিত্তিতে তিনটি নিকটবর্তী জোন নির্ধারণ করে: Immediate (0.5 মিটারের কম), Near (0.5 থেকে 3 মিটার) এবং Far (3 থেকে 30-50 মিটার অবস্থার উপর নির্ভর করে)। সঠিক দূরত্ব জানানো হয় না — শুধুমাত্র বিভাগ। এটি ইচ্ছাকৃতভাবে করা হয়েছে: RSSI হস্তক্ষেপ, সংকেত প্রতিফলন এবং মানব দেহের প্রভাবের সাপেক্ষ, তাই বিভাগগুলি আরও স্থিতিশীল অবস্থান নির্ধারণ দেয়।
Immediate — সরাসরি যোগাযোগের জোন, যখন ডিভাইসটি বীকন থেকে কয়েক সেন্টিমিটারের মধ্যে থাকে। সর্বোচ্চ নির্ভুলতা প্রয়োজন এমন পরিস্থিতিতে ব্যবহৃত হয়: টার্মিনালের মাধ্যমে পেমেন্ট, ডিজিটাল লক খোলা, চেকপয়েন্টে ভেরিফিকেশন। Immediate জোনে RSSI সাধারণত -30 থেকে -60 dBm হয়।
Near জোন — iBeacon-এর প্রধান কার্যক্ষেত্র, যা 0.5 থেকে 3 মিটার পর্যন্ত দূরত্ব কভার করে। অভ্যন্তরীণ ন্যাভিগেশনের জন্য ব্যবহৃত হয় — যেমন পণ্যের ডিসপ্লের কাছে গেলে অ্যাপ্লিকেশন বিস্তারিত তথ্য দেখায়। Near জোনে TX Power = -59 dBm ক্যালিব্রেশনে RSSI -60 থেকে -80 dBm পর্যন্ত ওঠানামা করে।
Far — বীকন সংকেত সনাক্তকরণের সর্বোচ্চ জোন। অঞ্চলে প্রবেশ মনিটরিংয়ের জন্য ব্যবহৃত হয় (যেমন শপিং মলে প্রবেশ)। Far দূরত্বে RSSI সাধারণত -80 dBm-এর চেয়ে দুর্বল হয় এবং দূরত্ব নির্ধারণের নির্ভুলতা উল্লেখযোগ্যভাবে কমে যায়। প্রবেশ মনিটরিংয়ের জন্য সঠিক জোন নির্ধারণের পরিবর্তে সিস্টেম API region monitoring ব্যবহার করা হয়।
iBeacon অঞ্চল — এটি একটি ভার্চুয়াল এলাকা যা UUID (এবং ঐচ্ছিকভাবে Major + Minor) দ্বারা নির্ধারিত। iOS CLLocationManager-এর মাধ্যমে একসাথে 20টি অঞ্চল মনিটর করতে দেয়। অঞ্চলে প্রবেশের সময় সিস্টেম অ্যাপ্লিকেশনটিকে ব্যাকগ্রাউন্ড বা বন্ধ অবস্থায়ও জাগিয়ে তোলে এবং locationManager:didEnterRegion ডেলিগেটের মাধ্যমে বিজ্ঞপ্তি পাঠায়। অঞ্চল থেকে প্রস্থানের সময় locationManager:didExitRegion কল করা হয়।
import CoreLocation
let locationManager = CLLocationManager()
let region = CLBeaconRegion(
uuid: UUID(uuidString: "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0")!,
identifier: "myBeaconRegion"
)
locationManager.delegate = self
locationManager.requestAlwaysAuthorization()
locationManager.startMonitoring(for: region)
জোন (Immediate, Near, Far) নির্ধারণের জন্য ranging ব্যবহার করা হয় — রিয়েল টাইমে বীকন স্ক্যানিং। মনিটরিংয়ের বিপরীতে, ranging শুধুমাত্র অ্যাপ্লিকেশনের সক্রিয় মোডে কাজ করে এবং অবস্থানে অ্যাক্সেসের অনুমতি প্রয়োজন। locationManager:didRangeBeacons:inRegion মেথডটি CLBeacon-এর একটি অ্যারে ফেরত দেয় যার ক্ষেত্রগুলি হল proximity (CLProximity.immediate, .near, .far, .unknown), accuracy (মিটারে ক্যালিব্রেটেড দূরত্ব) এবং rssi।
func locationManager(
_ manager: CLLocationManager,
didRangeBeacons beacons: [CLBeacon],
in region: CLBeaconRegion
) {
for beacon in beacons {
switch beacon.proximity {
case .immediate:
print("তাৎক্ষণিক নিকটবর্তী")
case .near:
print("কাছাকাছি নিকটবর্তী")
case .far:
print("দূরবর্তী নিকটবর্তী")
default:
print("অজানা নিকটবর্তী")
}
}
}
Android-এ iBeacon-এর জন্য অন্তর্নির্মিত সমর্থন নেই, কারণ প্রোটোকলটি Apple-এর একটি মালিকানাধীন সমাধান। তবে AltBeacon (Radius Networks, বর্তমানে Open Beacon সংস্থার অংশ) এর মতো তৃতীয় পক্ষের লাইব্রেরির সাহায্যে ডেভেলপাররা Android অ্যাপ্লিকেশনগুলিতে iBeacon সংহত করতে পারেন। AltBeacon লাইব্রেরি BLE প্যাকেট স্ক্যানিং, iBeacon ফরম্যাট পার্সিং এবং iOS API-এর অনুরূপ ranging এবং অঞ্চল মনিটরিংয়ের এমুলেশন প্রয়োগ করে।
val beaconManager = BeaconManager.getInstanceForApplication(context)
beaconManager.beaconParsers.add(
BeaconParser().setBeaconLayout(
"m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"
)
)
beaconManager.backgroundBetweenScanPeriod = 5000
beaconManager.foregroundScanPeriod = 1100
beaconManager.bind(this)
AltBeacon লাইব্রেরিতে iBeacon পার্সিং ফরম্যাট layout স্ট্রিং দ্বারা নির্ধারিত: "m:2-3=0215" — iBeacon মার্কারের দুই বাইট পরীক্ষা, "i:4-19" — 16-বাইট UUID, "i:20-21" — Major, "i:22-23" — Minor, "p:24-24" — TX Power। একই ফরম্যাট Eddystone এবং অন্যান্য প্রোটোকলের জন্যও সমর্থিত, যা AltBeacon-কে Android-এ BLE বীকন নিয়ে কাজ করার জন্য একটি সার্বজনীন লাইব্রেরি করে তোলে।
Android-এ iBeacon নিয়ে কাজ করার তিনটি মূল সীমাবদ্ধতা রয়েছে: ব্যাকগ্রাউন্ড স্ক্যানিং প্রস্তুতকারকদের দ্বারা সীমিত (Xiaomi, Huawei, Samsung প্রায়ই ব্যাকগ্রাউন্ড প্রক্রিয়া বন্ধ করে), BLE স্ট্যাকের পার্থক্যের কারণে RSSI নির্ভুলতা iOS-এর চেয়ে কম, এবং Android 6.0 থেকে ACCESS_FINE_LOCATION এবং Android 12 থেকে BLUETOOTH_SCAN অনুমতি প্রয়োজন।
Eddystone — Google-এর ওপেন BLE বীকন প্রোটোকল, যা 2015 সালে উপস্থাপিত হয়েছিল। iBeacon-এর বিপরীতে, Eddystone চার ধরনের প্যাকেট সমর্থন করে: Eddystone-UID (নির্দিষ্ট শনাক্তকারী), Eddystone-URL (Physical Web-এর জন্য URL প্রেরণ), Eddystone-TLM (বীকন টেলিমেট্রি — ব্যাটারি চার্জ, তাপমাত্রা) এবং Eddystone-EID (ক্লোনিং থেকে সুরক্ষার জন্য এনক্রিপ্টেড শনাক্তকারী)। Google 2022 সালে Physical Web-এর উন্নয়ন বন্ধ করলেও, Eddystone প্রোটোকল কর্পোরেট সমাধানে ব্যবহৃত হচ্ছে।
| প্যারামিটার | iBeacon | Eddystone |
|---|---|---|
| মালিক | Apple | Google (ওপেন) |
| প্যাকেটের ধরন | 1 (UID) | 4 (UID, URL, TLM, EID) |
| ডেটা | UUID+Major+Minor | ID/URL + টেলিমেট্রি |
| নেটিভ iOS সমর্থন | হ্যাঁ (CoreLocation) | না (CoreBluetooth-এর মাধ্যমে) |
| Physical Web | না | হ্যাঁ (Eddystone-URL) |
| নিরাপত্তা | কোনো এনক্রিপশন নেই | কী রোটেশন সহ EID |
iBeacon এবং Eddystone-এর মধ্যে নির্বাচন লক্ষ্য প্ল্যাটফর্ম এবং ব্যবহারের পরিস্থিতির উপর নির্ভর করে। iBeacon iOS অ্যাপ্লিকেশনের জন্য পছন্দনীয়, কারণ CoreLocation-এর সাথে নেটিভ ইন্টিগ্রেশন এবং ব্যাকগ্রাউন্ড মোডে অঞ্চল মনিটরিং। Eddystone Android-ভিত্তিক প্রকল্প এবং Physical Web পরিস্থিতির জন্য বেশি উপযুক্ত, যেখানে বীকন অ্যাপ ইনস্টল না করেই URL প্রেরণ করে। ক্রস-প্ল্যাটফর্ম প্রকল্পের জন্য প্রায়ই AltBeacon ব্যবহার করা হয়, যা উভয় প্রোটোকল সমর্থন করে।
iBeacon বাস্তবায়নের সময় ডেভেলপাররা বেশ কিছু সীমাবদ্ধতার সম্মুখীন হন যা আর্কিটেকচার ডিজাইন পর্যায়ে বিবেচনা করা প্রয়োজন। এই কারণগুলির ভুল মূল্যায়ন ন্যাভিগেশনের অস্থির কাজ, মিথ্যা ট্রিগার এবং প্রত্যাশিত সময়ের আগে বীকনের ব্যাটারি শেষ হওয়ার দিকে নিয়ে যায়।
সংকেত স্তর RSSI দেয়াল থেকে প্রতিফলন, ধাতব কাঠামো, মানুষের উপস্থিতি এবং 2.4 GHz ব্যান্ডের অন্যান্য ওয়্যারলেস ডিভাইসের কারণে উল্লেখযোগ্য ওঠানামার সাপেক্ষ। একটি ঘরে একটি বীকনের জন্য RSSI-তে এক মিনিটে 10-15 dBm পর্যন্ত পার্থক্য হতে পারে, যা ফিল্টার (মুভিং এভারেজ, কালমান ফিল্টার) ব্যবহার ছাড়া দূরত্ব গণনাকে অপ্রয়োগ্য করে তোলে।
iOS প্রতি অ্যাপ্লিকেশনের জন্য একসাথে সর্বাধিক 20টি অঞ্চল মনিটরিং সমর্থন করে। বড় এলাকা (বিমানবন্দর, স্টেডিয়াম) কভারেজ প্রয়োজন এমন প্রকল্পের জন্য এটি যথেষ্ট নয়। সমাধান — গতিশীল অঞ্চল স্যুইচিং ব্যবহার করা: এক অঞ্চলে প্রবেশের সময় পার্শ্ববর্তী অঞ্চলগুলি সক্রিয় হয় এবং দূরবর্তীগুলি নিষ্ক্রিয় হয়।
অঞ্চলে প্রবেশ এবং বিজ্ঞপ্তি পাওয়ার মধ্যে বিলম্ব অবস্থার উপর নির্ভর করে 1 থেকে 30 সেকেন্ড হতে পারে। iOS ব্যাটারি বাঁচাতে পর্যায়ক্রমে বীকন স্ক্যান করে, তাই তাৎক্ষণিক প্রতিক্রিয়া আশা করা উচিত নয়। সময়-সংবেদনশীল পরিস্থিতিতে (দরজার কাছে গেলে খোলা) Immediate ranging ব্যবহার করার পরামর্শ দেওয়া হয়, তবে এটি শুধুমাত্র অ্যাপ্লিকেশনের সক্রিয় মোডে কাজ করে।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
iBeacon — এটি Apple-এর Bluetooth Low Energy বীকনের জন্য প্রোটোকল, যা iOS এবং Android ডিভাইসগুলিকে BLE প্যাকেটের সংকেত স্তর (RSSI) বিশ্লেষণের ভিত্তিতে সেন্টিমিটার নির্ভুলতার সাথে ঘরের ভিতরে তাদের অবস্থান নির্ধারণ করতে দেয়।
Bluetooth — এটি ডিভাইসের মধ্যে ডেটা প্রেরণের জন্য সাধারণ ওয়্যারলেস যোগাযোগ প্রোটোকল, যার জন্য পেয়ারিং প্রয়োজন। iBeacon — BLE-এর উপরে একটি বিশেষায়িত প্রোটোকল, যা সংযোগ স্থাপন ছাড়াই শুধুমাত্র সম্প্রচারিত শনাক্তকারী প্রেরণের জন্য ডিজাইন করা হয়েছে। iBeacon বীকন ডেটা প্রেরণ করে না — তারা কেবল তাদের উপস্থিতি জানায়।
iBeacon Advertising মোডে কাজ করে — বীকন ক্রমাগত ID তথ্য সহ সম্প্রচারিত BLE প্যাকেট প্রেরণ করে। ডিভাইস প্যাকেটটি গ্রহণ করে কিন্তু বীকনের সাথে সংযোগ স্থাপন করে না। এটি বীকনের ব্যাটারি বাঁচাতে দেয় (একটি CR2032 থেকে 2-3 বছর পর্যন্ত) এবং সক্রিয় স্ক্যানিং ছাড়াই প্যাসিভভাবে বীকন সনাক্ত করতে দেয়।
না, iBeacon ডিভাইস খোঁজার জন্য ডিজাইন করা হয়নি। iBeacon বীকন — স্থির ট্রান্সমিটার, এবং iPhone রিসিভার হিসেবে কাজ করে। iPhone iBeacon সংকেত প্রেরণ করে না (Find My ফাংশন ব্যতীত, যা BLE-এর উপর ভিত্তি করে অন্য প্রোটোকল ব্যবহার করে)। ফোন খোঁজার জন্য অন্যান্য প্রযুক্তি ব্যবহার করা হয় (Find My network, UWB)।
iBeacon-এর কার্যক্ষেত্র বীকনের সেটিংস এবং পরিবেশের অবস্থার উপর নির্ভর করে। সাধারণ পরিসর: Immediate — 0.5 মিটার পর্যন্ত, Near — 3 মিটার পর্যন্ত, Far — 30-50 মিটার পর্যন্ত। সংকেত পরিবর্ধক সহ বীকন এবং খোলা জায়গায় পরিসর 70 মিটার পর্যন্ত পৌঁছাতে পারে, তবে এত দূরত্বে অবস্থান নির্ধারণের নির্ভুলতা ন্যূনতম।
সারাংশ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন