'iBeacon'에 해당되는 글 1건

  1. 2013.10.18 좌충우돌! iBeacon 구현기 #1 (28)
ebadaq.com2013.10.18 10:47

오늘부터, 부정기적으로 apple.com 의 새로운 실내 위치 기반 기술인, iBeacon 접근에 대한 이야기들을 적어볼까 합니다.


목표는 현재 구상중인 실제 필드 설치, 3rd party 하드웨어, 독립적인 개발 프레임워크, 마지막으로 그 하드웨어를 직접 만들어서 상용화 하기.. 입니다.


0. What is iBeacon?


 2013년 6월, WWDC 에서 애플은 배터리 소모 관점에서, Mac OS와 iOS의 새로운 기술들을 선보였습니다.

 그와 동시에 위치 정보 처리 방식도 많이 바뀌고, 또한 새로운 기능을 소개하기도 했습니다.

 

 그 중, 제 눈길을 끌었던 기술이 바로 iBeacon이었습니다.

 



 

 

1. 무엇에 쓰는 물건인고?

 

 iBeacon은 간단히 이야기하자면, '실내 위치 정보'를 앱이 알 수 있도록 신호를 발생해주는 장치. 라고 정의할 수 있겠습니다.

  

 일반적으로, 이러한 목적으로 사용되는 대표적인 장비는 역시 'NFC - RFID' 이라 생각됩니다.

  



  

 그런데, 우리가 잘 하는 NFC 의 경우 '실사용'에 있어서 몇가지 현실적인 문제가 존재합니다.

  

 1. GPS 신호가 약하거나 없는 실내에서 '위치 혹은 정보'를 각인하기 위해서는 사용자가 '능동적'으로 태깅을 해야 한다.

   - 예: 버스카드. - 이론상 10cm, 현실적으로는 4cm 이내.

 2. iOS 계열은 NFC 를 하드웨어 자체에서 지원하지 않는다.

  

 또한, 실내 위치정보의 관점에서 보았을 때, iOS는 문제점 아닌 문제점이 있는데요..

  

 1. iOS는 '순정' 상태에서 더이상 근처 AP의 이름과 주파수 세기를 가져올 수 없다.

   - AP를 기반으로 실내 위치 정보 서비스를 할 수 있지만, 아쉽게도 iOS 에서는 불가능 하죠.

   

 이러한 문제점을 해결하고, 좀 더 능동적으로, 그리고 한창 페이팔과 스퀘어가 전쟁중인 '모바일 결제 시스템'이라는 큰 시장에 애플이 뛰어드는 그 시발점이 바로 iBeacon 이라 할 수 있겠습니다.

 

 

2. 어떻게 쓰는 물것인고?


 간단합니다. 기술 이름 그대로, '신호를 발생하는 beacon'이 존재하고, iOS 장비들이 앱 안에서 beacon의 신호를 받아서 처리하게 됩니다. 태깅과정 없이 말이죠..

 

 그런데, 이쯤되면 한가지, 기술자로서 의심아닌 의심이 시작됩니다.

 

 

3. 그럼 이건 애플 혼자 만든 독자 표준인가요?


 아닙니다. Bluetooth LE (LE means Light Energy. aka. Bluetooth 4.0) 라는 (상대적으로) 가벼운 근거리 통신 기술을 사용합니다.

 

 LE 라는 이름에서 처럼, 저전력, 저비용, 근거리 통신을 위한 표준 통신 규약이라고 생각하면 될 것 같습니다.

 

 제가 처음 이녀석에 대해서 관심을 가졌을때가, 처음 발표 되었던 iOS5 - 2011년 WWDC - 였고, 햇수로 3년이 흐른 지금 우리 주변에서는 상당히 많은수의 하드웨어 장비들이 BLE 를 기반으로 다양한 서비스를 제공하는 걸 알 수 있습니다.

 



 특히 최근에는 e-Health, 혹은 fitness 장비들이 훌륭하게 앱과 SNS와 연동되어 돌아가죠. 많이들 쓰시는 나이키 퓨얼밴드, 또 최근의 '핏 빗'등이 iOS 상에서 페어링 하지 않고, 앱상에서 페어링 후 데이터를 앱에게 전송하는, BLE 기술을 기반으로 만들어지고 있지요.

 

 다시 원점으로 돌아와서, iBeacon 이 제 눈길을 끌었던 이유중의 하나가 바로 BLE를 기반으로 하고 있다는 점이었습니다.

 즉, 독자 규격이 아닌 표준 규격을 기반으로 하기 때문에 다른 하드웨어와의 연동도 충분히 가능하다는 것이지요. 

 - 안드로이드도 드디어 BLE 를 4.3 부터 지원한다고 하지요? 짝짝짝. 

  (물론 하위 지원도 생각해야 하기에... 요것도 나중에 프레임워크 개발때 이야기를...)

  

 또하나, 사실 지금 당장 iBeacon을 테스트 & 구축 해볼 수 있는데요. 바로 기존에 가지고 있는 iOS장비를 iBeacon으로 만들어 줄 수 있기 때문입니다.

 

 하지만 늘 그렇듯, 실제 구현에 있어서 모든 문제의 시작은 여기서부터..이지요.



4. 아이팟 터치나 아이패드를 비콘으로 뿌릴수는 없기에...

 

 WWDC 2013에서 관련 영상을 보았을때, 기뻤던 부분이 바로 위의 3항을 설명하며, 3rd party beacons 을 이야기 할 때였습니다.

 

 글쵸. 키오스크로 사용한다거나 하는 특별한 기능을 제외하고는 단순히 비콘으로 쓰기 위해서 아이패드나 아이폰, 터치등을 쓴다는 건 역시 낭비가 아닐 수 없습니다. 작고, 단단하고, 운영 및 유지관리가 쉽고, '저렴'한 3rd party beacon.

 

 그러나, 9월, 10월이 될때까지 3rd party의 beacon들을 볼수 없었습니다.

 

 유일?하게 9월에 들어와서 많이 알려졌던 곳이 바로 http://estimote.com 사의 beacon pre-order 였습니다.

 


.대체 왜 오더링이 진행이 안되는게요.

 

 문제는 'pre-order' 답게, 9월이면 된다더니~ 10월이 되어도, 아직도 대답없는~~ 비콘들 ㅠ.ㅜ

 


5. 무엇이 문제일까


 10월 초순 경, 출국 직전 검색을 통해서 제품 개발보드 하나를 찾아냅니다.

 

 http://redbearlab.com/ibeacon/

 

 그리고, 출국 전날 바로 주문, 결제. 그리고 글쓰는 오늘 바로 해외에서 이 손에...;;;

 

.배송 관련 한마디 : 대한민국, 짱! - 실제 ems는 1박2일걸렸는데, 

이친구들은 배송 준비자체가 결과적으로 일주일+1일.

 

 잘 됩니다. ㅠ.ㅜ 예전 앱이 더이상 iOS 디바이스가 아니라도 이쁘게 잘 돌아가는 것이죠... ㅠ.ㅜ

 

 그리고 제품이 손에 떨어지길 기다리면서 발견한 훌륭한 포스팅.

 

 http://stackoverflow.com/questions/18906988/what-is-the-ibeacon-bluetooth-profile

 

 넵 그렇습니다.

 

 a. iBeacon은 BLE 표준 advertisement 에서 애플 코드 - 0x004C - 를 붙인 채 브로드 캐스팅 됨.

 b. 브로드 캐스팅되는 내부 패킷은 미리 설정된 UUID, MAJOR, MINOR, Tx - 전파 신호 - 비콘과의 거리 확인용 - 를 순차적으로 가짐.

 c. 'b' 항의 패킷 구조가 아직 BLE 표준안에서 소개 안된..줄 알았는데 있음. -.-;; (Core Bluetooth Spec v4, Vol 3, Part C, 11) - 근데 또 아직 애플껀 소개가 안된것 같기도 하고.. @_@;;;

 


.목차를 보면 낯이 익은 녀석들이 보이죠?? 서비스 UUID 라던지..  TX 파워 레벨이라던지.

 

 조금 더 찾아봐야 하지만, - 사실 여기서부터는 살짝 부탁해둔 기술지원(!) - 블투쪽 하시는 엔지니어분들은 금방(!) 만드실 듯 싶어요.;;;

 

 

6. So, what?

 

 이제, 하드웨어는 개발킷이라도 어쨌던 확보가 되었으니, 스탭 1.5로 진행하려 합니다.

다음 목표는 4분기 예정인 앱에 적용하고, 필드에 설치하는 것입니다. 아마도, 구현 시점에 '안드로이드 4.3'에서의 테스트와, NFC와의 연동 운영(!)에 대한 고민, 그 결과가 이야기되지 않을까 싶습니다.


 물론, 실제 하드웨어를 어떻게 개발, 운영할지도 고민해 보렵니다.

 

다음달 쯤에 2편에서 봐요~ (진짜?!)


-코나-

Posted by 코나