MOKOSmart SDK를 탑재한 iBeacon Android
Apple이 Bluetooth Low Energy(BLE)를 기반으로 개발한 iBeacon 프로토콜은 다양한 기기에서 지원됩니다. 이 글에서는 iBeacon과 Bluetooth Low Energy에 대해 설명하고, 위치 기반 쇼핑 목록을 제공하는 Android 앱 개발 사례를 통해 앱과 iBeacon Android 기기 간의 위치 기반 상호 작용을 보여줍니다. 구현은 MokoBeacon과 관련 SDK를 기반으로 합니다.
iBeacon, Bluetooth 4.0, BLE, SMART. 뭐죠?
iBeacon의 기본 기술은 블루투스입니다. 블루투스 스마트(Bluetooth Smart) 마케팅 라벨로도 불리는 블루투스 저에너지(BLE)는 블루투스 표준 4.0 버전에 포함되었습니다. BLE는 블루투스 클래식(Bluetooth Classic)이라고 불리는 이전 버전과 하위 호환되지 않습니다. 블루투스 4.0은 표준을 준수하는 기기가 저에너지 또는 클래식 중 하나 또는 두 가지 버전을 모두 구현해야 한다고 규정하고 있습니다.
BLE는 iPhone 4+와 Samsung Galaxy 3+ 등 거의 모든 최신 스마트폰에 구현되어 있습니다. iPhone은 iBeacon 신호 수신 장치로 사용할 수 있을 뿐만 아니라, iBeacon Android와는 달리 비콘 자체로도 사용할 수 있습니다. Android에는 API 버전 18, 즉 Android 4.3의 BLE 드라이버가 포함되어 있습니다. 참고로, 현재 출시된 컴퓨터도 BLE를 지원합니다. 그러나 Windows의 경우 드라이버는 Windows 8부터 탑재되었으며, 2011년 중반부터 Apple 컴퓨터에서도 BLE를 사용할 수 있게 되었습니다.
BLE는 심박수 모니터, 장난감 헬리콥터, 온도계, 피트니스 장비, 칫솔 등 다양한 주변 장치를 계속 지원하고 있습니다. 물론 칫솔과 운동화도 포함됩니다.
최초의 iBeacon 앱이 탑재된 iOS 및 Android
iOS 7은 현재 개발자에게 앱에 iBeacon을 통합하기 위한 최적의 전제 조건을 제공합니다. iOS 7부터 운영 체제는 자신이 등록한 iBeacon을 발견하거나 신호가 끊어진 경우에도 더 이상 메모리에 없는 앱을 실행합니다. 이러한 앱의 등록은 코어 위치 프레임워크를 통해 이루어지며, 코어 블루투스보다 사용하기 쉽습니다. 가장 잘 알려진 iBeacon Android 및 iOS 앱은 MokoBeacon입니다. MokoBeacon은 선택된 이벤트가 발생하면 동작을 수행합니다. 예를 들어, 집에 돌아오면 캘린더에 일정을 기록합니다.
안드로이드는 iBeacon을 기본적으로 지원하지 않습니다. Radius Networks와 Sensorberg를 비롯한 여러 서드파티 업체들이 자사 솔루션으로 개발자의 호감을 얻기 위해 경쟁하고 있습니다. 무료 Radius Networks 솔루션은 안드로이드가 iBeacon 서비스와 함께 제공하는 프로그램 라이브러리와 필수 API로 구성됩니다.
센서버그는 하드웨어, 소프트웨어 개발 키트, 그리고 iBeacon 관리, 앱 콘텐츠 및 사용자 상호작용을 위한 소프트웨어로 구성된 완전한 패키지를 사용합니다. 센서버그 솔루션은 예를 들어 Cebit 2014 앱에 사용되었으며, iBeacon Android 및 iBeacon iOS에서 사용할 수 있습니다. 이 앱은 선정된 박람회장에서 스마트폰으로 교육 장소, 인턴십, 구인 정보를 제공했습니다.
성공을 위해서는 정보 품질과 데이터 보호가 중요합니다.
소비자 입장에서 iBeacon은 영화 '마이너리티 리포트'에서처럼 광고로 도배된 스마트폰, 그리고 개인 맞춤형 고객 접촉에 대한 우려를 불러일으킵니다. 이러한 우려 중 일부는 근거 없는 것으로, iBeacon 안드로이드 기능이 그 예입니다. iBeacon은 옵트인(opt-in) 방식을 사용합니다. iBeacon 앱을 설치해야만 사용자가 되며, 다른 모든 스마트폰 사용자는 이러한 걱정에서 자유로울 수 있습니다.
iOS는 iBeacon에서 트리거되는 정보만 은밀하게 표시합니다. 사용자가 비콘 범위 내에 있을 때 스마트폰을 켜면 정보가 표시되고, 비콘에서 멀어지면 사라집니다. 삐 소리나 진동, 심지어 쇼핑몰 방문 후 메시지 센터가 붐비는 경우에도 아무런 방해가 되지 않습니다.
사용자가 iBeacon 앱을 유용하다고 생각하는지, 아니면 불편하다고 생각하는지는 제공되는 정보와 기능의 품질을 크게 좌우합니다. 욀링은 "위치 마케팅이 아니라 위치 서비스"라고 설명합니다. 따라서 유용성이 있는 앱만 성공할 수 있습니다. 불편한 앱은 팔려 나가고, 부정적인 리뷰가 나머지를 좌우합니다.
iBeacon 안드로이드로 무엇을 할 수 있나요?
iBeacon은 예를 들어 "직장"이나 "집"과 같은 특정 위치를 식별하는 데 사용될 수 있습니다. 그러면 스마트폰에서 미리 정의된 동작을 실행할 수 있습니다. 예를 들어, 사용자가 집을 나서거나 들어올 때 WLAN을 자동으로 켜고 끌 수 있습니다.
다양한 앱을 통해 GPS 데이터나 기지국을 기반으로 이러한 기능을 구현할 수도 있지만, 두 방법 모두 단점이 있습니다. GPS 추적은 많은 에너지를 소모하며 건물 내에서는 작동하지 않습니다. 기지국의 위치 정보는 정확하지 않습니다. 시골 지역에서는 기지국이 수 킬로미터 밖에서도 보일 수 있습니다. iBeacon을 사용하면 불과 몇 미터 거리입니다. 심지어 집 안의 각 방을 식별하는 데에도 사용할 수 있습니다. 최후의 수단으로, SSID를 정기적으로 브로드캐스트하는 WLAN을 사용할 수도 있습니다. 하지만 안타깝게도 휴대폰이 에너지를 절약하기 위해 WLAN 하드웨어는 꺼지지만 블루투스 수신기는 꺼지지 않기 때문에 이 방법은 효과가 없습니다.
MkiBeacon 매개변수 구성
이 글에서는 MkiBeacon을 사용합니다. iBeacon은 USB 포트에 꽂기만 하면 됩니다. 전압만 필요하므로 PC일 필요는 없습니다.
다음 앱은 구성을 위해 스마트폰에 설치됩니다.
앱을 실행하면 모든 iBeacon이 근처에 표시됩니다. 여러 개가 있는 경우, 가장 가까운 거리에 있는 iBeacon일 가능성이 높습니다. 자신의 iBeacon을 클릭하면 설정 화면이 열립니다.
![]()
다음 설정을 조정할 수 있습니다.
UUID :
iBeacon의 실제 ID입니다. 예를 들어 모든 Vodafone 비콘은 동일한 UUID를 갖습니다. 따라서 앱에 유효한 비콘 목록을 유지할 필요가 없습니다. 예를 들어, 매장은 주요 비콘과 부 비콘을 통해 식별될 수 있습니다.

전공/부전공:
모든 매장에 동일한 UUID를 부여하는 것이 핵심입니다. Major는 부서(전자제품, 의류, 식료품 등)를 식별하는 데 사용할 수 있습니다. Minor는 예를 들어 "전자제품" 부서의 "키보드" 선반과 같은 선반을 식별하는 데 사용됩니다.

전송 거리 :

전송 전력 :
여기서는 전송 강도를 7단계로 설정할 수 있습니다. 직접 테스트해 보시는 게 좋습니다. 물론 거리는 추정치입니다.

방송 간격:
iBeacon이 ID를 전송하는 빈도를 나타냅니다. 이 경우 1은 100밀리초를 의미합니다.

일련번호:
일련번호입니다. 조정 가능합니다.

iBeacon 이름:
이름과 일련번호는 iBeacon을 식별하는 데 사용되는 이름입니다. 하지만 UUID가 더 중요합니다.

연결 모드 :
이렇게 하면 설정을 변경할 수 없습니다. 값이 1이면 본인은 잠겨 있지만 비콘은 계속 작동합니다.

비밀번호 변경 :
여기서 비밀번호를 설정할 수 있습니다.

iBeacon을 재부팅하세요:
설정을 변경한 후에는 iBeacon을 다시 시작해야 합니다. 이때 이전 비밀번호가 필요합니다.
값을 변경한 후 오른쪽 상단의 '저장'을 클릭하세요. 변경 사항이 iBeacon에 아직 전송되지 않았음에도 불구하고 항상 약 1초 정도 걸렸습니다. 모든 변경이 완료되면 'iBeacon 재부팅'을 클릭하면 다음 대화 상자가 열립니다.
![]()
이 단계는 중요합니다. 그렇지 않으면 변경 사항이 적용되지 않습니다. 무슨 문제인지는 모르겠지만, 제가 넣은 겁니다. 처음에는 공장 출고 시 설정된 Moko4321 비밀번호를 여기에 입력해야 합니다. 그렇지 않으면 오류 메시지 없이 프로세스가 실패합니다. 🙁 물론 두 번째부터는 사용자 본인의 비밀번호가 사용됩니다.
아이비콘 기술은 휴대폰에서 위치 기반 동작을 트리거하는 이상적인 방법을 제공합니다. 저렴한 비용과 낮은 에너지 소비 덕분에 여러 개의 비콘을 문제없이 사용할 수 있습니다. 비콘은 세 가지 거리 범위를 구분하므로, 스마트폰이 비콘 바로 옆(예: 침대)에 있는 경우에도 동작을 트리거할 수 있습니다.
앱은 좀 부실해 보이지만, 비콘 자체는 꽤 괜찮은 인상을 줍니다. 앱은 잘 작동하며 최초 설정 시 한 번만 필요합니다. 애플리케이션에 따라 처음에 송신 전력을 조정해야 할 수도 있습니다.
집에서는 배터리가 필요 없는 제품을 선택하는 것이 좋습니다. 배터리가 필요 없기 때문에 사용 범위 문제가 적기 때문입니다. 숲에 들어간 후 휴대폰을 자동으로 무음으로 설정하고 싶다면 배터리로 작동하는 제품을 사용하는 것이 좋습니다. 배터리는 보통 1년 이상 사용할 수 있습니다.
iBeacon 기술: 마이크로 위치 스마트폰 및 태블릿 앱
이름에서 알 수 있듯이 iBeacon 기술은 2013년 Apple에서 처음 선보였습니다. 비콘은 상점이나 박물관 등에 설치하여 고객이나 방문객에게 특정 정보를 전송하는 소형 무선 송신기입니다. BLE(Bluetooth Low Energy)가 여기에 사용됩니다. BLE는 새로운 기술은 아니지만, 이미 맥박 측정기 등에 사용되고 있습니다. 하지만 무선 송신기의 도달 거리는 그리 길지 않습니다. 비콘에는 모바일 기기나 사용자가 직접 인식하거나 모니터링할 수 있는 다른 기술이 포함되어 있지 않습니다. iBeacon을 지원하는 앱도 필요합니다. 모바일 기기에 iBeacon 기술 앱이 설치되어 있지 않으면, 예를 들어 스마트폰은 매장에 설치된 iBeacon에 반응하지 않습니다.
iBeacon/비콘 작동 방식
해당 앱이 설치되어 있고 기기가 비콘에 접근하면 시스템이 앱을 활성화합니다. 이를 위해 앱은 비콘으로부터 신호를 수신하여 근처에 특정 iBeacon이 있음을 인식합니다. 앱과 운영자에 따라 세부적인 동작은 항상 다릅니다. 예를 들어, 어떤 경우에는 하나의 메시지만 표시되고, 다른 경우에는 쿠폰이나 상품권이 표시됩니다. 각 iBeacon에는 기술 용어로 UUID(Universally Unique Identifier)라고도 하는 특정 식별자가 있습니다. 앱은 이를 통해 인터넷을 통해 추가 정보를 검색하여 사용자에게 표시할 수도 있습니다.
하지만 앱은 주변의 비콘을 인식할 뿐만 아니라, 해당 비콘과 해당 핸드헬드 기기 사이의 거리도 측정할 수 있습니다. 세 가지 다른 거리가 있습니다.
1. 멀리(거리 “far”)
이는 약 2m에서 20m의 거리를 의미합니다. 예를 들어, 근처 상점 정보가 스마트폰으로 전송됩니다.
2. 근처 (거리 “근처”)
여기서 거리는 약 0.5m~2m입니다. 예를 들어 매장에 들어가면 앱이 사용자를 환영합니다.
3. 직접적(거리 “즉각적”)
이는 직접적인 근접성을 의미합니다. 예를 들어, 사용자가 박물관에서 그림 바로 앞에 서 있을 때 앱은 해당 작품에 대한 구체적인 정보를 제공할 수 있습니다.
또한, 거리 측정은 비교적 잘 되지만, 정확한 것은 아니라는 점을 강조하고 싶습니다. 정확한 위치는 실제 위치와 몇 미터 정도 오차가 있을 수 있습니다.
iBeacons = Apple – 비교 대상이 무엇인가요?iBeacon 안드로이드에 대한 지원은 있나요?
앞서 언급했듯이 Apple은 iBeacon을 도입했습니다. 개발자에게 iOS8은 iBeacon을 앱에 통합하기에 가장 적합한 환경입니다. 하지만 iBeacon은 Android 기기에서도 사용할 수 있습니다. 하지만 이는 자연스러운 과정은 아닙니다. 여러 업체가 이를 위한 다양한 솔루션을 제공하고 있습니다.
예를 들어 Radius Networks에서 제공하는 잘 알려진 무료 솔루션이 있습니다. iBeacon과 iBeacon 서비스 사용에 필요한 API로 구성된 프로그램 라이브러리가 여기에 제공됩니다.
센서버그(Sensorberg)는 또 다른 솔루션을 제시합니다. 하드웨어, 소프트웨어 개발 키트(SDK), iBeacon 관리 소프트웨어, 앱 콘텐츠, 사용자 상호작용 등 구현에 필요한 모든 것이 패키지로 제공됩니다.
하지만 스마트폰이나 태블릿이 BLE 기술을 지원하고 호환 칩을 탑재하고 있는지 확인해야 합니다. 이는 애플이 iPhone 4S부터 이미 보장하고 있습니다. 하지만 HTC One, Google Nexus 4, 5, 7, 10, 그리고 S3부터 출시된 Samsung Galaxy 스마트폰처럼 많은 안드로이드 기기에 이미 이러한 칩이 탑재되어 있습니다.
하지만 하드웨어뿐만 아니라 소프트웨어도 중요합니다. BLE는 iOS 5 버전부터 지원됩니다. Android는 4.3 버전부터만 지원됩니다. 하드웨어는 정상이지만 소프트웨어가 문제인 경우, 스마트폰이나 태블릿을 업그레이드하기 위한 커스텀 ROM과 같은 솔루션이 있습니다.















