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 ประกอบด้วยบีคอนที่ติดตั้งนับล้านทั่วโลก แม้ว่าจะมีโปรโตคอลทางเลือก — Eddystone ของ Google และ AltBeacon โอเพนซอร์ส — เกิดขึ้น
iBeacon ใช้ในห้าสถานการณ์หลัก: การนำทางภายในอาคาร (ศูนย์การค้า, สนามบิน, พิพิธภัณฑ์), การแจ้งเตือนตามบริบท (ส่วนลดเมื่อเข้าร้าน), ระบบอัตโนมัติของเวิร์กโฟลว์ (การบันทึกการแสดงตน), โลจิสติกส์และการจัดการคลังสินค้า และไกด์นำเที่ยวที่เล่นเนื้อหาอัตโนมัติเมื่อเข้าใกล้วัตถุ ตาม ABI Research (2025) ตลาดบีคอน BLE มีมูลค่าประมาณ 3.2 พันล้านอุปกรณ์ที่ใช้งานอยู่
แพ็กเก็ต iBeacon คือ Advertising PDU (หน่วยข้อมูลโปรโตคอล) ที่ส่งในช่องโฆษณา BLE ที่ความถี่ 2402, 2426 และ 2480 MHz รูปแบบแพ็กเก็ตถูกกำหนดตายตัวและประกอบด้วยสี่ฟิลด์: คำนำหน้า Apple iBeacon (0x4C000215), UUID 16 ไบต์, Major 2 ไบต์ และ Minor 2 ไบต์ พร้อม TX Power 1 ไบต์สำหรับการสอบเทียบระยะทาง ขนาดข้อมูลทั้งหมดคือ 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 ไบต์ | ความแรงสัญญาณสอบเทียบที่ระยะ 1 เมตร (dBm) |
ตัวระบุ iBeacon สร้าง ลำดับชั้นสามระดับ UUID ถูกกำหนดให้กับองค์กร (เช่น เครือร้านค้า), Major กำหนดให้กับร้านค้าหรือชั้นเฉพาะ, Minor กำหนดให้กับจุดเฉพาะภายในโซน (พื้นที่ชำระเงิน, แผนกสินค้า) ลำดับชั้นนี้ช่วยให้แอปตอบสนองต่อบริบทในระดับต่างๆ ได้อย่างยืดหยุ่น: เมื่อเข้าร้าน (UUID + Major) แอปสามารถโหลดแผนผังชั้น และเมื่อเข้าใกล้แผนกเฉพาะ (Minor) แสดงข้อมูลสินค้า
ฟิลด์ TX Power คือค่าอ้างอิงของระดับสัญญาณ (RSSI) ที่ระยะ 1 เมตรจากบีคอน เมื่อได้รับแพ็กเก็ต อุปกรณ์จะบันทึก RSSI จริงและคำนวณระยะทางตามสูตร: distance = 10^((TX_Power - RSSI) / (10 * n)) โดยที่ n คือค่าสัมประสิทธิ์การลดทอนของสื่อ (โดยปกติ 2-4) การสอบเทียบ TX Power ที่ถูกต้องมีความสำคัญต่อความแม่นยำของตำแหน่ง: ข้อผิดพลาด 1 dBm ทำให้เกิดความคลาดเคลื่อนสูงถึง 30% ที่ระยะ 5 เมตร
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 RSSI จะแปรผันระหว่าง -60 ถึง -80 dBm ที่การสอบเทียบ TX Power = -59 dBm
Far คือโซนตรวจจับสัญญาณบีคอนสูงสุด ใช้สำหรับตรวจสอบการเข้าสู่ภูมิภาค (เช่น เข้าสู่ศูนย์การค้า) ที่ระยะ Far RSSI โดยทั่วไปอ่อนกว่า -80 dBm และความแม่นยำในการกำหนดระยะทางลดลงอย่างมาก สำหรับการตรวจสอบการเข้าใช้ API ระบบ region monitoring แทนการกำหนดโซนที่แน่นอน
ภูมิภาค iBeacon คือพื้นที่เสมือนที่กำหนดโดย UUID (และเลือกได้ Major + Minor) iOS อนุญาตให้ตรวจสอบสูงสุด 20 ภูมิภาคพร้อมกันด้วย CLLocationManager เมื่อเข้าสู่ภูมิภาค ระบบจะปลุกแอปแม้ในโหมดพื้นหลังหรือปิดอยู่ และส่งการแจ้งเตือนผ่านเดลิเกต 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) นักพัฒนาสามารถรวม iBeacon ในแอปพลิเคชัน Android ไลบรารี AltBeacon ใช้การสแกนแพ็กเก็ต BLE, การแยกวิเคราะห์รูปแบบ iBeacon และการจำลอง ranging และการตรวจสอบภูมิภาคที่คล้ายกับ iOS API
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)
รูปแบบการแยกวิเคราะห์ iBeacon ในไลบรารี AltBeacon ถูกกำหนดโดยสตริง layout: “m:2-3=0215” — การตรวจสอบสองไบต์ของเครื่องหมาย iBeacon, “i:4-19” — UUID 16 ไบต์, “i:20-21” — Major, “i:22-23” — Minor, “p:24-24” — TX Power รูปแบบเดียวกันนี้รองรับสำหรับ Eddystone และโปรโตคอลอื่นๆ ทำให้ AltBeacon เป็นไลบรารีสากลสำหรับทำงานกับบีคอน BLE บน Android
บน Android การทำงานกับ iBeacon มีข้อจำกัดหลักสามประการ: การสแกนพื้นหลังถูกจำกัดโดยผู้ผลิต (Xiaomi, Huawei, Samsung มักฆ่ากระบวนการพื้นหลัง), ความแม่นยำของ RSSI ต่ำกว่า iOS เนื่องจากความแตกต่างในสแต็ก BLE และต้องได้รับสิทธิ์ ACCESS_FINE_LOCATION ตั้งแต่ Android 6.0 และ BLUETOOTH_SCAN ตั้งแต่ Android 12
Eddystone เป็นโปรโตคอลบีคอน BLE แบบเปิดของ Google ที่เปิดตัวในปี 2015 ต่างจาก iBeacon, Eddystone รองรับแพ็กเก็ตสี่ประเภท: Eddystone-UID (ตัวระบุคงที่), Eddystone-URL (การส่ง URL สำหรับ Physical Web), Eddystone-TLM (การวัดระยะไกลของบีคอน — ประจุแบตเตอรี่, อุณหภูมิ) และ Eddystone-EID (ตัวระบุที่เข้ารหัสเพื่อป้องกันการโคลนนิ่ง) แม้ว่า Google จะหยุดการพัฒนา Physical Web ในปี 2022 แต่โปรโตคอล 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 สามารถระบุตำแหน่งภายในอาคารได้ด้วยความแม่นยำระดับเซนติเมตรโดยอาศัยการวิเคราะห์ระดับสัญญาณ (RSSI) ของแพ็กเก็ต BLE ที่ส่ง
Bluetooth เป็นโปรโตคอลการสื่อสารไร้สายทั่วไปสำหรับการส่งข้อมูลระหว่างอุปกรณ์ที่ต้องการการจับคู่ iBeacon เป็นโปรโตคอลเฉพาะทางบน BLE ที่ออกแบบมาเพื่อการส่งตัวระบุแบบบรอดคาสต์เท่านั้นโดยไม่ต้องสร้างการเชื่อมต่อ บีคอน iBeacon ไม่ส่งข้อมูล — เพียงแจ้งการมีอยู่ของมัน
iBeacon ทำงานในโหมด Advertising — บีคอนส่งแพ็กเก็ต BLE แบบบรอดคาสต์พร้อมข้อมูล ID อย่างต่อเนื่อง อุปกรณ์รับแพ็กเก็ตแต่ไม่ได้เชื่อมต่อกับบีคอน ซึ่งช่วยประหยัดแบตเตอรี่ของบีคอน (นานถึง 2-3 ปีด้วย CR2032 หนึ่งก้อน) และตรวจจับบีคอนแบบพาสซีฟโดยไม่ต้องสแกนแบบแอคทีฟ
ไม่ iBeacon ไม่ได้ออกแบบมาเพื่อค้นหาอุปกรณ์ บีคอน iBeacon เป็นตัวส่งสัญญาณคงที่ และ iPhone ทำหน้าที่เป็นตัวรับ iPhone ไม่ส่งสัญญาณ iBeacon (ยกเว้นฟังก์ชัน Find My ที่ใช้โปรโตคอลอื่นบน BLE) การค้นหาโทรศัพท์ใช้เทคโนโลยีอื่น (เครือข่าย Find My, UWB)
ระยะของ iBeacon ขึ้นอยู่กับการตั้งค่าบีคอนและสภาพแวดล้อม ระยะทั่วไป: Immediate — สูงสุด 0.5 ม., Near — สูงสุด 3 ม., Far — สูงสุด 30-50 ม. ด้วยบีคอนที่มีเครื่องขยายสัญญาณและในพื้นที่เปิด ระยะอาจถึง 70 ม. แต่ความแม่นยำในการกำหนดระยะทางที่ระยะดังกล่าวน้อยมาก
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ