RAD Studio XE8에서는 비콘(Beacon)과 연동할 수 있는 TBeacon 컴포넌트가 추가되었습니다.
이제 비콘 컴포넌트를 이용해 근거리 위치기반 서비스를 개발할 수 있습니다.
비콘(Beacon)은?
비콘은 일정 주기로 작은 데이터(일명 광고 데이터)를 주변으로 송출하는 장비입니다. 비콘이 제공하는 광고 데이터에는 "Manufacturer Specific Data(기업 고유 데이터)"를 포함합니다. 이 정보를 통해 주변의 블루투스 LE 장비는 페어링 및 접속 없이 비콘을 식별하고 거리를 계산할 수 있습니다.
이제 여러분은 비콘을 이용해 다음의 예시에서 볼 수 있는 근거리 위치기반 서비스를 개발할 수 있습니다.
- 환자가 병원 방문 시 환자의 모바일기기가 비콘을 인식하고 접수대에 자동으로 방문을 알려줍니다.
- 공장내의 위험지역에 작업자가 들어오면 작업자의 모바일기기에 위험을 통지하는 알람을 울리고, 방문로그를 남겨 시설관리자가 작업동선을 조정할 수 있어 사고를 사전에 방지할 수 있습니다.
- 진열상품 근처에 고객이 다가오면 고객의 모바일 기기에 상품정보 또는 할인쿠폰 등을 전달하는 앱을 만들 수 있습니다.
비콘(iBeacon)에 대해서는 아래 링크에서 잘 설명하고 있습니다. 비콘을 좀 더 이해할 수 있는 자료여서 공유합니다.
비콘 컴포넌트(TBeacon)
❑ 비콘타입
비콘은 iBeacon과 AltBeacon 2종류의 신호 형식이 있습니다.
- iBeacon : Apple 사에서 정의된 형식입니다. iBeacon은 표준 모드로 간주됩니다.
- AltBeacon : 대체 비콘이라고도 하는 오픈형식입니다. 사양은 http://altbeacon.org에 공개되어 있습니다.
TBeacon에서는 Mode 속성을 통해 Standard(iBeacon), Alternative(AltBeacon)을 선택할 수 있습니다.
❑ 업체정보
광고 모드 블루투스 LE 장치는 다양한 광고 데이터(AD) 타입 구조의 광고 데이터를 무선으로 반복해 전송합니다. 광고 데이터 종류 중 하나가 비콘에 이용되는 "기업 고유 데이터"입니다. "기업 고유 데이터"에는 다음 정보가 포함 되어있습니다.
- UUID : 비콘의 그룹을 식별할 수 있는 고유 식별자, 특정 회사의 비콘.
- MajorID, MinorID : 특정 UUID로 지정되는 지역 내부 영역을 식별합니다. MajorID는 UUID로 정의되는 지역의 부분영역을 식별합니다. MinorID는 MajorID 영역의 더 작은 부분을 식별합니다.
- TxPower : 1m 떨어진 위치에서 측정되는 송신 전력입니다. TxPower와 RSSI(수신신호강도)를 이용해 비콘과의 거리를 계산합니다.
❑ 비콘 컴포넌트 이벤트
다음 이벤트를 통해 비콘의 동작을 알 수 있습니다.
- OnBeaconEnter : 새로운 신호 영역에 들어갈 때마다 발생합니다.
- OnBeaconExit : 비콘 지역에서 나올 때마다 발생합니다.
- OnBeaconProximity : 근접 ( Proximity )의 값이 변경 될 때마다 발생합니다.
레벨 값 설명 Inmediate
1 0.5 m 미만 Near
2 0.5 m 이상 1.5 m 이하 Far
3 1.5 m보다 먼 Away
4 판정 불능
- OnCalcDistance : 거리 ( Distance )가 계산되기 직전에 발생합니다.
- OnEnterRegion : 등록 된 지역에서 비콘에 처음 도달 가능하게 될 때 발생합니다.
- OnExitRegion : 지역에 등록 된 모든 신호가 도달 불능이되었을 때 발생합니다.
❑ 플랫폼 지원
플랫폼 | 지원 상황 |
---|---|
Windows | |
Mac OS X | |
iOS | |
Android |
Windows 플랫폼에서는 광고 데이터에 엑세스 할 수 없기 때문에 비콘 API를 사용할 수 없습니다.
한번에 윈도우, 맥, iOS, 안드로이드, 사물인터넷(IoT)을 개발할 수 있는