2015년 8월 29일 토요일

BLE Beacon의 Connectable과 Non-Connectable 모드

오랜만에 블로그에 글을 올립니다. 아마도 8월달의 마지막 포스팅이 될 것 같네요.

비콘의 하드웨어에 대해서 관심 있으신 분들이나 직접 구매하여 비콘 설정에 대해 자세하게 확인하신 분들은 아마도 Connectable Mode와 Non-Connectable Mode에 대해서 들어보셨을거라 생각됩니다.  하지만 일반 App 개발자들은 이 두가지 모드에 대해서 아예 들어보지 못하셨거나 차이를 정확히 알지 못하신 분들이 대다수일 것입니다.
아마도 국내에서 판매하는 BLE Beacon의 대부분은 Connectable Mode만 지원하고 있기 때문일수도 있습니다.

우선 간단하게 Connectable Mode와 Non-Connectable Mode를 정의하자면 아래와 같습니다.

Connectable Beacon은 Peripheral Mode의 BLE 디바이스를 이야기하며 데이터를 송신할 뿐만 아니라 받을 수도 있습니다.  다시말하면,  스마트폰과 같은 Central 디바이스와 Scan_Request와 Scan-Response을 String Data로 주고 받을 수 있으며 이를 통해 OTA(Over the Air)로 Beacon 기기의 설정 값들을 변경할 수 있습니다.  즉 우리가 비콘의 ID, 송출 주기, Tx Power와 같은 설정값을 바꾸기 위해서는 비콘은 항상 Connectable Mode여야만 가능합니다.

그 와는 반대로 Non-Connectable Beacon은 Advertising Mode의 BLE 디바이스로 단순히 정의되어 있는 데이터를 송신하기만 하며 Advertising 데이터 전송 이후는 바로 Sleep 모드로 들어가고 다시 깨어나 송출하기 반복하기 때문에 전력을 최소한으로 사용할 수 있게 됩니다. 때문에 어떠한 Bluetooth 기기와도 Data를 주고 받으 수 없으며 UART, SPI, USB와 같은 물리적인 연결을 통해서만 가능합니다.  Non-Connectable Beacon의 최대 장점은 최소한의 전류 소모량을 통해 배터리 수명을 최대화 시키는 것입니다.

일반적인 Bluetooth 기기는 Central Mode 나 Peripheral Mode 혹은 두 가지 모두를 전부 지원하게 되며 Paring을 위해서 Peripheral만 지원되는 즉 다른 기기가 자신을 검색할 수 있는 기기일 경우 기기들은 모두 Connectable-Mode라고 보시면 됩니다. 하지만 비콘은 Paring이 아닌 이미 저장되어 있는 특정 Data Packet을 단 방향으로 Advertising 하는 기기이기 때문에 Non-Connectable Mode도 가능하게 됩니다.

iBeacon 발표 이후 초기에 출시된 비콘들은 대부분 Connectable Mode만을 지원하였고 실제 필드에서 몇 가지 문제점이 도출 되기도 하였습니다. 비콘의 신호를 검색하는 Central Mode의 기기들이 많아지게 되거나 동시에 여러개가 Scan을 위해 Scan_Request를 보내에 되면 Connectable Mode의 비콘들은 이에 대해 Response를 해야 하고 그에 따라 전류 소모가 많아지며 때에 따라서는 수신율도 떨어지게 됩니다.  또한 안드로이드 모델 및 버전별로 Connectable Mode와 Non-Connectable Mode의 비콘에 따라 스캔 시 Callback Event를 통한 수신 빈도도 달라지는 것이 확인 되기도 하였습니다.
이는 몇 개의 비콘을 스캔하여 서비스하는 것은 문제가 없지만 다수의 비콘을 지속적으로 스캔하는 서비스에서는 스마트 폰별로 서로 다른 수신율을 보일 수 있어 서비스의 퀄러티에 영향을 미칠 수 있다는 의미 입니다.

최근에 출시되는 해외의 비콘들은 대부분 두 가지 모두를 함께 사용할 수 있도록 합니다. 비콘의 설정 값들을 변경하기 위해서 Connectable Mode가 반드시 필요하지만 서비스를 위해 부착 또는 고정한 이후에는 Non-Connectable Mode가 전류소모 및 수신율에도 장점을 갖게 됩니다.  때문에 비콘은 두 가지 모드를 스위칭 하기 위해 몇 가지 방법을 사용하게 됩니다.
예를 들면, 전원 연결 이후 처음에는 Connectable Mode로 유지되다가 일정 시간(30초 or 1분) 이후 Non-Connectable Mode로 자동 전환되는 비콘이 있습니다.  혹은, 어떤 모델은 케이스를 분리하면 PCB 상에 작은 스위치가 있어 이를 눌러 Connectable 모드로 바꿔주어야 하기도 합니다.  이러한 비콘들은 설정값을 변경하려면 매번 배터리를 탈부착 시켜 재부팅을 해거나 케이스를 분리해야 하는 번거로움이 있습니다. 또한 배터리 교체가 불가능하거나 방수형 비콘으로 케이스 분리가 안되는 모델들은 적용이 불가능합니다.
그래서 비콘에 센서를 내장하여 외부의 물리적인 변경을 통해 Connectable Mode로의 전환을 하기도 합니다.   예를 들면 움직임 감지 센서를 통해 비콘을 두번 노크(Knock)를 하거나 흔들어서 외부 이벤트를 발생시키기도 하고 기울기 센서를 통해 비콘을 뒤집거나 새로로 굴리는 행위로 모드 전환을 하기도 합니다.
물론 센서가 이러한 이벤트를 감지하기 위해서 최소한의 전력소모가 발행하기도 함으로 어느 방법이 더 효율적인지는 제조사에서 판단하기에 따라 다를 것입니다.  기구 디자인 상으로 크게 문제가 되지 않는다면 외부에서 누를 수 있는 리셋 버튼 같은 것을 두는 것도 하나의 방법이겠죠.

앞에서도 이야기 했지만 이는 단지 비콘 디바이스의 전류 소모만을 고려하기 위한 Mode 변경의 문제가 아니라 실제 스마트 폰에서의 수신율도 달라질 수 있습니다. 비콘이 Connectable 모드로 동작될 때 수 많은 사람들이 주위에서 스마트폰으로 스캔을 하게 되면 비콘은 Scan_Request가 올 때마다 이에 대한 Scan_Response를 보내야 하기 때문에 실제 Advertising Packet과 Scan_Response를 동시에 보내야 하기 때문에 실제 모든 스캔 디바이스가 이를 받을 수 없는 경우가 생길 수도 있습니다.
또한 안드로이드에서 테스트 한 결과 서로다른 모델과 비콘의 모드에 따라 스캔 결과가 다르게 나온다는 실험 결과를 본 적이 있습니다.  제가 직접 테스트를 한 것은 아니지만 이 글에 따르면 Android 4.3이 탑재된 Nexus4 단말에서 Connectable 모드는 한 번의 스캔 사이클에서 한번의 Callback만 호출되는 반면 Non-Connectable 모드일 경우에는 여러번의 Callback을 받을 수 있다고 합니다.  이러한 Scan 결과는 폰의 모델이나 OS별로 상이하며 때문에 다양한 스캔 방법이 적용되어야 합니다.  Android 5.0이 탑재된 Nexus5에서 지원하는 Scanning 관련 API를 활용하면 동일한 비콘의 다른 Mode라 하더라도 동일하게 다수의 Callback을 받을 수 있습니다. 하지만 Nexus4에 Android 5.0을 업그레이드 하더라도 Connectable 모두에서는 한 사이클에서 한번의 Callback만 받을 수 있다고 하니 꼭 OS 버전의 문제만도 아닌 것 같습니다.
하지만, 아이폰의 경우  CBCentralManagerScanOptionAllowDuplicatesKey 라는 Flag를 스캔 함수에 전달하여 선택이 가능합니다.
이처럼 비콘을 이용하는 서비스를 개발하는 개발자의 경우 비콘의 모드에 따라 각 모델별 확인 및 테스트가 필요해 보입니다.


헬로팩토리 비콘 테스트랩에서는  40여종 이상의 다양한 비콘 제품들을 구비해서 직접 보거나 테스트 할 수 있는 공간을 마련해 놓았습니다.   제 개인적으로 시간을 할애해야 하기 때문에 한 번에 많은 분들을 응대할 수는 없지만 예약하시고 방문해 주시면 성심성의껏 대응해 드리도록 할 예정입니다.

Book an appointment with (주)헬로팩토리(HelloFactory) using SetMore

2015년 8월 14일 금요일

헬로팩토리, 국내 첫 `비콘 테스트랩` 오픈...40여종 체험 가능

스타트업 헬로팩토리가 우리나라 첫 비콘 테스트센터를 오픈했다. 공공기관이나 중견기업이 아닌 벤처기업이 테스트랩을 오픈한 것이어서 주목된다.

비콘 40여종과 관련 솔루션을 직접 체험할 수 있는 공간에서 다양한 비즈니스 모델이 창출될 것으로 기대된다.

헬로팩토리(대표 김경민)는 다양한 비콘 솔루션을 한자리에서 체험해볼 수 있는 ‘비콘 테스트랩’을 오픈했다고 12일 밝혔다.

지난 10일 서울 강남구 개포동에 문을 연 비콘 테스트랩은 국내외에서 수집한 다양한 비콘을 직접 체험해볼 수 있도록 구성했다. 비콘만 모아놓고 체험할 수 있도록 한 테스트랩이 문을 연 것은 처음이다.

국내 7개 제조사 13모델, 중국 6개 제조사 8모델, 미국 등 해외 10개 제조사 16모델 등 총 37개 모델을 시험할 수 있다.

최근 발표한 구글 에디스톤(Eddystone)을 지원하는 모델도 5종이 포함됐다. 애플 아이비콘(iBeacon)도 준비했다. 일반적인 실내 고정형 외에도 방수기능이 있는 실외형, 손목 밴드형, 초소형, USB 전원공급형, 태양광 충전형 등 다양한 형태의 비콘이 마련됐다. 비콘 신호를 측정하는 ‘비콘 스캐너’와 실내측위 시스템 등도 테스트할 수 있다.

김경민 헬로팩토리 대표는 “비콘을 이용한 B2C 서비스를 준비하기 위해 디자인과 구조, 전파성능 등을 테스트하다 보니 40여종의 비콘을 수집하게 됐다”며 “다양한 비콘을 만나보기 힘든 업체가 테스트를 바탕으로 자사 서비스에 적합한 모델을 선정하는 데 기여하고 싶다”고 말했다.

비콘 테스트랩에서는 웨어러블 스마트밴드와 스마트홈 사물인터넷(IoT)도 작동해볼 수 있다.

헬로팩토리는 비콘 및 모바일 라우터 전문기업 비트앤펄스 부사장 출신 김경민 대표가 6월 설립한 스타트업이다.

비콘을 활용한 대중서비스(B2C) 출시를 준비하고 있다. 비콘 하드웨어와 소프트웨어 기획과 개발을 진행 중이다.

비콘 테스트랩 방문 예약은 헬로팩토리 홈페이지(http://hellofactory.setmore.com)에서 하면 된다.

김 대표는 “우리나라는 아직 비콘 도입 초기 단계여서 많은 기업이 비콘을 자사에 적용하기 위해 고민하고 있다”며 “국내에서 비콘이 다양한 산업에 적용돼 널리 확산될 수 있도록 노력할 것”이라고 말했다.

김용주기자 kyj@etnews.com



원문 http://m.news.naver.com/read.nhn?mode=LSD&mid=sec&sid1=105&oid=030&aid=0002384719

2015년 8월 6일 목요일

Eddystone Beacon(에디스톤 비콘)에 관한 궁금한 점 FAQ 23가지

이번 포스팅은 Eddystone 비콘에 대한 궁금증에 대해 답변들을 정리해 보았습니다.  추가적인 문의 사항이 있으면 댓글로 달아주시면 성심성의껏 답변해 드리도록 하겠습니다.  Eddystone에 대한 기본적인 내용은 전 포스팅을 참고하시면 됩니다. 
이 글에 정리한 질문과 답변들은 Kontact.io 사의 Developer 사이트에서 퍼 왔으며 제가 아는 추가적인 내용들은 답변에 함께 포함하였습니다. 몇 가지 질의는 자체 작성하였으니 참고 바랍니다.
1. Eddystone Beacon은 3가지 프레임(UID, URL, TLM)을 모드 지원할 수 있나요?
답) 보통 제조사에 따라 다릅니다. 제품 기획을 어떻게 하느냐에 따라 다르며 기본적으로는 UID나  URL중 하나를 선택할 수 있도록 하고 TLM Packet은 모든 Eddystone Beacon이 지원될 것으로 생각됩니다.  가장 유명한 Estimote 비콘의 경우 기존 구입제품도 Firmware를 ver3.1.1로 업그레이드 하면 Eddystone UID나 URL중 하나를 선택할 수 있으며 TLM은 정해진 Interval(default 12초)에 따라 전송되게끔 되어 있습니다.
2. iBeacon과 Eddystone 규격 중 하나를 선택하여 브로드캐스팅 할 수 있나요?

답) 이 또한 제조사가 선택하기 나름입니다.  Estimote 비콘은 Firmware 업데이트 이후 이를 선택할 수 있으며 Kontakt.io 사의 비콘은 8월 7일 이후 Firmware 업데이트한 비콘에서 해당 기능이 가능하다고 합니다.

3. 하나의 비콘이 Eddystone 3개 프레임과 iBeacon을 모두 전송할 수 있나요?

답) 예, 가능합니다. 하지만 Eddystone UID와 iBeacon은 비슷한 ID 형식을 전달하는 방식이기 때문에 굳이 함께 혼용하여 사용할 필요는 없습니다. 또한 4가지 Packet과 Scan/Reponse Packet까지 을 모두 브로드캐스팅할 경우 전류소모량이 많아져 사용 기간이 짧아질 수 있습니다.

현재 제가 직접 테스트한 Eddystone Beacon은 Estimote, Radius Network, Kontakt.io 등이 있으며 Blesh사 제품도 곧 Shipping 될 예정입니다.  Radius Network 제품은 iBeacon, AltBeacon, Eddystone UID를 번갈아 브로드캐스팅 하며 간혹 Eddystone TLM을 전송합니다. Estimote 비콘은 Packet Type을 iBeacon과 Eddystone UID, Eddystone URL 중 하나를 선택할 수 있으며 Eddystone을 선택하면 Secondary로 TLM을 전송할 수 있습니다.


4. Eddystone Beacon은 배터리 잔량을 전송할 수 있나요?

답) 네. Eddystone TLM 규격에 보면 비콘의 상태를 파악하는 별도의 Packet을 구성하여 전달합니다.

5. Eddystone에는 어떤 센서 데이터가 포함되어 있나요?

답) 현재는 비콘의 배터리 상태와 온도와 같은 센서가 포함되어 있습니다. 하지만 Eddystone 규격은 Open 이고 TLM packet내에 버전 정보가 함께 들어 있어 향후 추가 지원 항목들이 업데이트 될 것으로 보여집니다.

6. Eddystone Beacon은 보안 관련 이슈에 대해 어떤 기능을 제공하나요? ID Rotation이 가능한지요?

답) Eddystone Beacon은 iBeacon과 보안에 관한 사항은 차이가 없습니다. ID들이 public하게 스캔되고 또 해당 ID로 쉽게 복제가 될 수 있기 때문에 이를 방지하기 위하여 ID를 Random한 ID나 여려개의 ID를 Rotatione하도록 하고 이를 App에서 Original ID로 변환할 수 있는 SDK를 사용하고 있습니다.  Gimbal 비콘처럼 보통은 디바이스의 ID인 MAC을 변경하여 보내는 제품도 있습니다.  

7. Eddystone은 iBeacon과 배터리 사용 기간의 차이가 있나요?

답) 전류 사용량의 큰 차이는 없습니다. 단, Eddystone은 멀티 Frame을 지원하는 경우가 있고 비콘의 상태 모니터링을 위해 중간 중간 TLM Frame을 별도로 전송하는 정도의 차이만 있을 뿐입니다.  TML Frame 전송을 위한 interval은 적용 사례에 따라 달라질 수 있습니다.

8. Eddystone 비콘도 블루투스가 켜저 있어야 검색이 가능한가요?

답) 네. Eddystone도 다른  BLE 비콘들처럼 Bluetooth Low Every 기반이며 하드웨어 상으로 iBeacon과 전혀 차이가 없습니다.  때문에 기존 판매된 iBeacon 지원 모델도 firmware만 업데이트하여 Eddystone으로 사용이 가능합니다.  물론 스마트폰에서 해당 신호를 스캔하기 위해서는 블루투스 기능을 활성화 해 두셔야 합니다.

9. Android 폰은 백그라운드에서 Eddyston Beacon을 스캔할 수 있나요?

답)  iBeacon처럼 일부 제조사에서 배포하는 SDK를 사용하면 백그라운드에서 모니터링이 가능합니다. 구글에 따르면 Google Play Service의 버전 업데이트(ver7.8)가 이루어지면 OS단에서 기능이 지원될 것이라고 합니다. 

10. Eddystone은 Android App을 Wake Up 할 수 있나요?

답) 네. iBeacon 활용 방법과 차이가 없습니다.

11. Eddystone은 Android 4.3 지원 폰에서 동작 하나요?

답) 네. 블루투스 4.0을 지원하고 Android 4.3버전의 단말에서 정상동작 됩니다.

12. Eddystone은 iOS에서 Background에 모니터링과 Foreground에서 Ranging(거리 판단)이 가능한가요?

답) 제조사에서 제공하는 iOS SDK를 사용하시면 가능합니다.  기본적으로 iOS 에서 제공하는 iBeacon Profile은 iBeacon 규격에 맞는 Frame만 스캔하고 처리할 수 있기 때문에 Eddystone은 CoreLocation을 사용할 수 없으며 대신 CoreBluetooth를 이용해야 합니다.  CoreBluetooth는 CoreLocation처럼 Beacon을 위해 최적화 되지 않았기 때문에 전류 소모의 효율성이나 몇 가기 기능들을 제공하지 못합니다.

13. Eddystone은  백그라운드에서 수행되지 않는 iOS App을 Wake up 시킬 수 있나요?

답) 아직은 불가능 합니다.

14. 하나의 App이 iBeacon과 Eddystone을 동시에 지원하도록 할 수 있나요?

답) 가능합니다. 하지만 두 가지 format을 모두 지원하기 위해 하드웨어가 지원되어야 하며 iOS의 경우 iBeacon과 Eddystone 기능 구현을 위한 Layer가 달라지게 됩니다. 

15. iOS에서 비콘 Region(zone) Monitoring을 확인하기 위해 어떤 값을 사용할 수 있나요?

답) Eddystone UID의 Namespace와 Instance를 활용할 수 있지만 iBeacon처럼 CoreLocation에서 region monitoring이 불가능하기 때문에 Eddystone은 CoreBluetooth에서 구현해야 하며 제조사에서 제공하는 SDK 또는 직접 구현을 하여야 합니다. 

16. Eddystone URL은 Chrome이 아닌 다른 브라우저를 통해 연동 될 수 있나요?

답) Eddystone URL은 Eddystone을 지원하는 브라우저에서만 인식할 수 있습니다.  현재 지원되는 브라우저는 Chrome 밖에는 없습니다.

17. Eddystone URL은 어떤 형태로 보여지게 되나요?

답) 사용자가 확인되는 구글에서 보여지는 것과 유사한 실제 URL과 메타데이터 정보들이 함께 표시됩니다.  실제 비콘에 저장되어 있는  URL은 'http://' 와 같은 prefix를 제외하고 17자리이기 때문에 줄여서 사용가능한 https://goo.gl/Aq18zF와 같은 형태 입니다. Physical Web에서는 url-caster.appspot.com을 통해 원래 URL과 Meta Data를 가져와 화면에 보여지게 되는 것입니다.

18. Eddystone은 어떻게 URL을 사용자에게 전달하게 되나요?  사용자는 내용을 보기 위해서 브라우저를 구동해야 하나요?

답) iOS의 경우 Chrome Today widget이 주위의 비콘이 브로드캐스팅 하는 URL의 리스트를 사용자가 선택하여 볼 수 있게 합니다. 이 리스트는 Notification Center를 통해 확인이 가능합니다. 이 중 하나를 선택하게 되면 브라우저가 해당 링크로 연결하여 컨텐츠를 보여주게 됩니다.
안드로이드의 경우는 Physical Web을 설치했을 경우만 Notification을 받아 보실 수 있습니다. Notification을 받으려면 App 설치 이후 한 번 재부팅(저의 경우)을 하셔야 합니다. 물론 Physical Web 내에서도 URL을 볼 수 있습니다.  향후 Google이 어떻게 어프로치 하느냐에 따라 달라지긴 하겠지만 Physical Web 설치 없이 Notification을 받고 브라우저로 연결되는 iOS와 비슷할 것으로 예상할 수 있으며 Google Play service가 ver7.8로 업데이트되면 확인이 가능할 것입니다.

19. URL을 받을 특정인에 대한 선택이 가능한가요?

답) 직접 URL에 대해서 특정인을 지정할 수는 없지만 어플리케이션에서 받은 URL을 보여줄지와 사용자가 선택하도록 할 수는 있습니다.

20. URL 주소를 줄일 수 있나요?

답) 물론 입니다.  Google의 URL Shortener를 이용하거나 동일한 기능을 제공하는 다른 사이트를 선택하셔도 됩니다.

21. URL 대신 텍스트(문자)를 브로드캐스팅 할 수 있나여?

답) 이론적으론 가능합니다. 하지만 굳이 URL 대신 테스트를 전송할 이유가 없으며 Eddystone URL은 브라우저와 연동되며 http://로 시작되기 때문에 해당 텍스트가 전달되면 연결 시 Error가 나게 됩니다.  전달하고자 하는 텍스트를 간단하게 HTML로 만들어 링크할 URL을 브로드캐스팅 하면 됩니다.

22. Eddystone TLM은 ID를 포함하고 있지 않은데 전달된 상태 값들이 어느 비콘에서 전달된 것이지 알 수 있나요?

답) TLM은 ID를 포함하고 있지 않기 때문에 비콘의 구별이 불가능하지만 브로드캐스팅 되는 Data에는 디바이스 ID가 포함되어 있습니다.  MAC Address로 디바이스의 구별이 가능하며 Gimbal 비콘처럼 보안을 위해 해당 값을 변경하여 보낼 경우 일정 시간동안은 구분이 가능한 동일한 디바이스 Address로 전송을 해야 합니다.

23. Eddystone을 지원하는 Beacon을 공급하는 제조사는 어디가 있나요?

답) 현재 해외 8개 제조사가 Eddystone을 지원하는 비콘을 판매하고 있습니다.  대표적인 Estimote, Radius Network, Kontakt.io 등이 있으며 기존의 Physical Web Beacon을 공급하던 Blesh도 포함되어 있습니다.  국내에는 아직 해당 제품을 구매할 수 있는 곳은 없으며 향후 기존 제품에 firmware 업데이트를 통해 지원될 가능성이 높습니다.  


 Eddystone 비콘을 직접 확인하거나 테스트해 보고 싶으신 분은 http://hellofactory.setmore.com을 통해 예약하신 후 방문하시면 됩니다.



2015년 8월 2일 일요일

비콘 스캐너(AP)의 종류와 역할

오늘은 비콘과 함께 사용되는 제품중의 하나인 스캐너에 대해 알아보도록 하겠습니다.
저는 개인적으로 스캐너라고 부르지만 활용 목적에 따라 다양하게 불리어 지고 있습니다.  블루투스 AP, 비콘 매니저, 비콘 Gateway, 블르투스 Sniffer, 또는 비콘 HUB 라고 부르기도 합니다.  기능상 약간의 차이들이 있지만 기본적으로 블루투스 Advertising 신호를 스캔하여 처리하는 공통 기능을 갖고 있습니다.  또한 Wi-Fi 등의 네트웍 접속이 가능하여 스캔된 신호의 값들을 서버로 전송하여 처리할 수 있습니다.

우선 블루투스 스캐너와 AP는 조금은 포괄적으로 비콘 신호를 스캐닝하여 네트웍을 통해 전송할 수 있는 모든 기기를 의미합니다.  그 중에 비콘의 상태를 모니터링하고 설정등을 리모트로 변경하는 목적으로 판매되는 제품은 비콘 매니저 혹은 비콘 HUB라고 불려지는 것 같습니다.  블루투스 Sniffer는 주로 개발용 제품으로 블루투스 신호를 스캔하여 분석하는 툴과 함께 활용되는 제품입니다.

비콘이라는 제품이 처음 나오면서 비콘을 어딘가에 고정하고 그 신호를 휴대폰으로 스캔하여 Micro-Location Service를 구현하는 목적으로 활용이 되다가 비콘이 웨어러블 형태나 다른 제품등에 부착하여 이동이 가능한 경우에 사용되기 위해 휴대폰과 같이 신호를 스캔하는 기기를 고정하여 비콘의 상태나 위치등을 파악하기 위한 기기의 필요성이 대두되기 시작했죠.  작년 말부터 블루투스 4.0을 지원하는 AP를 원하는 수요가 생겨났지만 제조사들은 제품 개발을 진행하는 중이었습니다.   올해 초부터 관련 제품들이 하나 둘씩 출시가 되었고 현재는 국내에 4~5개 제품, 해외에 유명 비콘 제조사에서 출시한 제품들이 시중에 나와 있습니다.  제품의 가격은 기능에 따라 10~15만원 내외로 형성되어 있습니다.

대부분의 제품들은 고정된 비콘들의 원격 관리를 위해 고정된 비콘들 주위에 설치하는 비콘 매니저 제품으로 비슷한 스펙을 갖고 있습니다.  아래 제품은 Kontakt.io사의 클라우드 비콘, 혹은 마스터 비콘이라고 불리는 매니저 제품으로 50m 반경의 비콘들의 상태를 모니터링하고 설정할 수 있는 제품으로 특징은 12800mAh의 배터리 용량으로 별도의 전원 공급 없이 최대 4년정도 동작이 가능한 제품입니다. 물론 외부 전원 공급도 가능합니다.
국내에는 대표적인 비콘 제조사들이 관련 제품을 이미 출시 혹은 출시 준비중에 있습니다. Reco Manager, 하나비 Gateway, 비트앤펄스의 Beepi 스캐너 등이 시중에 나와 있습니다. Reco Manager와 하나비 Gateway는 Kontakt.io사의 클라우드 비콘과 같은 매니저 제품입니다.  Beepi 스캐너는 비콘 관리 기능보다는 웨어러블이나 이동형 비콘의 위치를 파악하기 위한 목적이 더 강하며 외장형 Wi-Fi 안테나와 이더넷 연결과 동시에 전력을 공급할 수 있는 POE(Power Over Ethernet)를 지원합니다.
또한 라즈베리파이를 활용하여 필요한 기능을 구현하여 판매하는 제품도 있습니다.  라즈베리파이에 Wi-Fi 동글과 Bluetooth 4.0 USB 동글을 구매하여 Plug-in 하고 프로그램을 개발하여 원하는 기능을 지원하기도 합니다.  장점은 자기가 원하는대로 커스터마이징이 가능하다는 것이죠.  나중에 시간이 나면 이와 관련된 글을 포스팅 하도록 하겠습니다.

비콘은 기능이 간단하기 때문에 활용 범위가 상당히 넓습니다.  점차 이동형 비콘을 이용한 미아 방지, 인력 관리, 공장의 자재 관리 등의 요구가 늘어나고 있고 이와 함께 사용되는 스캐너 제품을 찾는 곳도 많아졌습니다.  아직은 관련 제품과 솔루션이 도입되어 있는 곳이 많지는 않지만 다양한 곳에서 도입 검토를 진행하거나 이미 시범 적용을 하고 있습니다. 기존의 RFID로 유사한 목적으로 도입을 검토하거나 진행했던 곳에서도 비콘을 이용한 관리 목적으로 제품 및 솔루션의 검토가 이루어 지고 있습니다. 

제품이나 솔루션에 대한 더 자세한 내용이나 궁금한 사항이 있으시면 언제든 아래의 링크를 통해 LAB에 방문해 주시기 바랍니다.

Book an appointment with (주)헬로팩토리(HelloFactory) using SetMore


2015년 7월 19일 일요일

Google의 Beacon 플랫폼 'Eddystone - 에디스톤' 들여다 보기(2)

1편에이어 Google의 Eddystone Beacon 플랫폼에 대해 알아보겠습니다.
구글은 비콘 플랫폼을 제공하기 위해 Nearby API와 Proximity Beacon API를 지원하고 있습니다.

Nearby API는 Nearby Message API와 Nearby Connections API로 나눠지는데 이중에 Beacon의 Advertising Data를 전달받기 위해서 Nearby Message API를 사용하게 되며 해당 규격은 아직 오픈되지 않았습니다.  해당 API를 지원하는 Android 상의 기능은 Play Store service가 7.8로 업데이트 되어야 가능하다고 합니다.  하지만 이는 새롭게 출시되는 단말기부터 지원하는 것이 아니라 기존의 Android 버전에서도 해당 모듈만 업데이트되면 가능함으로 오픈 이후 빠른 시간내에 적용 모델이 늘어날 것으로 예상됩니다.
Nearby connections API는 주로 같은 로컬 네트워크 상의 디바이스들과 연결하여 Multi Gaming과 같은 기능을 제공하기 위해 사용됩니다.

Proximity Beacon API는 Eddystone 플랫폼의 일부로 비콘을 등록하고 관리하고 업데이트 하기 위한 기능들을 제공하며 REST(Representational State Transfer) interface를 사용합니다.
Proximity Beacon API를 이용하여 등록된 비콘의 정보는 Cloud에 저장되며 아래와 같은 meta data를 포함하게 됩니다.
  • Advertised ID (required).
  • Status.
  • Expected stability.
  • Latitude and longitude coordinates.
  • Indoor floor level.
  • Google Places API Place ID.
  • Freeform text description.
또한 Proximity Beacon API를 이용하여 1024 byte 까지의 data를 첨부시키거나 기존에 첨부된 data를 불러올 수도 있습니다.

마지막으로 Eddystone - TLM 를 통해 기록된 아래 정보들을 활용해
  • Battery level.
  • Count of frames that the beacon has transmitted.
  • Amount of time the beacon has been active.
  • Beacon temperature.
비콘의 상태를 모니터링 하고 아래와 같은 상황을 알려주기도 합니다.
  • Predicted battery death
  • Beacons that have moved away from their expected location
  • Unusually low detection rates.

이런 Proximity Beacon API를 사용하기 위해서는 Google 계정이 있거나 새로 가입해야 합니다.  구글 개발자 Console에서 프로젝트를 새로 가입하거나 해당 API를 활성화 시켜야 합니다. 
그 이후 새로운 Application Key를 생성해서 사용하시면 됩니다.

한마디로 Google의 Proximity Beacon API를 사용하면 별도의 Beacon 모니터링 솔루션을 개발하실 필요가 없어지게 됩니다. 
이번에 자세하게 언급되지 못한 Nearby Message API에 대해서는 공개되는대로 다시 포스트 하도록 하겠습니다.


현재 20여종 이상의 다양한 비콘 제품들을 구비해서 직접 보거나 테스트 할 수 있는 공간을 마련해 놓았습니다.   제 개인적으로 시간을 할애해야 하기 때문에 한 번에 많은 분들을 응대할 수는 없지만 예약하시고 방문해 주시면 성심성의껏 대응해 드리도록 할 예정입니다.

http://hellofactory.setmore.com 또는
Book an appointment with (주)헬로팩토리(HelloFactory) using SetMore

Google의 Beacon 플랫폼 'Eddystone - 에디스톤' 들여다 보기(1)

안녕하세요.  주말에 예정에 없던 글을 하나 올리려고 합니다.
5일전에 구글에서 자체 비콘 플랫폼인 Eddystone(에디스톤)을 발표했습니다.


궁금해 하실 분들이 계실 것 같아 간단하게 정리해 보려 합니다.

Google의  Eddystone은 크게 하드웨어 데이터 규격과  구글에서 제공하는 Beacon Server-side 플랫폼 두가지로 구분할 수 있습니다.

먼저 하드웨에 대해 알아보겠습니다.  기존의 iBeacon과 비교하여 말씀드리면 iBeacon은 공식적으로 iOS 에서 지원하는 Beacon의 Advertising Data 규격입니다.  하지만 Eddystone은 Android와 iOS를 모두 지원하는 Open Protocol입니다. 또한 3가지의 Data Packet을 지원하고 있습니다. 

물론 기존에도 몇몇 제조사는  iBeacon 과 AltBeacon의 두 가지 규격 중 선택하여 지원하는 제품을 이미 출시한 바 있습니다. (iBeacon, AltBeacon, UriBeacon 규격은 전에 올린 글을 참조하세요.)

Beacon for Eddystone은 iBeacon이나 AltBeacon과  비슷하게 비콘 ID를 기반으로 한 Eddystone-UID와 UriBeacon과 유사한 URL을  Advertising하여 Physical Web으로 기존의 Contents를 바로 볼수 있도록 URL을 내보내는  Eddystone-URL과 비콘의 센서와 배터리, 송신 상태 등을 모니터링 할 수 있게 데이터 값을 실어보내는 Eddystone-TLM(Telemetry) 모드를 지원합니다.

각 모두의 특징을 알아보겠습니다.

Eddystone - UID  (Frame Type 0x00)
iBeacon의 ID 영역은 총  20 bytes( UUID 16 bytes, Major, Minor ID 각 2 bytes)로 되어 있지만 Eddystone의 UID는 총 16 bytes이며 두 영역으로 나눠져 있습니다. Namespace는 UUID와 비슷하며 10 bytes로 구성되어 있으며 기존의 UUID를 활용하여 사용가능합니다.  UUID의 총 16 bytes에서 가운데 6 bytes를 제외하고 앞과 뒷부분을 붙여주어 사용합니다.

예) UUID : 8B0CA750-E7A7-4E14-BD99-095477CB3E77 중 가운데 3영역 E7A7-4E14-BD99를 제외하면 8B0CA750095477CB3E77 가 됩니다.

나머지 6  bytes는 Instance로 iBeacon의 Major와 Minor ID처럼 비콘을 구별하는데 사용됩니다.
사용 가능한 수는 2^48 로 사용하기엔 충분한 갯수죠.

Eddystone - URL
iBeacon은 비콘의 ID를 활용하여 필요한 컨텐츠를 이미 설치되어 있는 스마트폰의 App을 통해 전달하도록 되어 있는 반면 UriBeacon은 이미 만들어진 Web Page의 URL을 그대로 전달하여 웹브라우저를 통해 추가적인 App 설치 없이 정보를 볼수 있게 하는 장점이 있습니다.  이러한 URL을 브로드케스팅 할 수 있게 Eddystone에서도 URL 형식을 지원합니다.  UriBeacon처럼 ID대신 URL scheme과 17 bytes의 압축된 URL을 전달하게 됩니다.

UID와 URL 모드에서 공통적으로 RSSI를 통한 거리측정의 기준이 되는 측정된 Tx값을 보내게 되는데 iBeacon은 1m에서 측정된 RSSI 값을 보내게 되지만 Eddystone은 0m에서 측정한 값을 보냅니다.  

Eddystond - TLM
기존의 다른 비콘 모드와는 달리 TLM 모드는 실제 데이터를 실어 보내게 됩니다. 현재 규정된 Data 필드는 배터리의 Voltage와 비콘의 온도, 비콘의 동작(리셋)이후  Packet이 전송되는 횟수, 비콘의 동작(리셋)이후 0.1초 단위의 시간이 있습니다. 
시간과 packet 수는 비콘이 정상적으로 동작하는지를 모니터링하기 위한 것으로 생각됩니다.

이렇게 Eddystond을 지원하는 비콘은 해외의 6개의 제조사에서 지원하고 있으며 새롭게 구입하시거나 Estimote 사의 비콘의 경우 펌웨어를 3.1.1로 업그레이드 하시면 Eddystone을 지원하게 됩니다.

2편에 계속 이어집니다.


현재 20여종 이상의 다양한 비콘 제품들을 구비해서 직접 보거나 테스트 할 수 있는 공간을 마련해 놓았습니다.   제 개인적으로 시간을 할애해야 하기 때문에 한 번에 많은 분들을 응대할 수는 없지만 예약하시고 방문해 주시면 성심성의껏 대응해 드리도록 할 예정입니다.

http://hellofactory.setmore.com 또는
Book an appointment with (주)헬로팩토리(HelloFactory) using SetMore

2015년 7월 4일 토요일

Beacon(비콘) 제품의 종류 및 용도

오늘은 다양한 beacon 제품에 대해서 알아보도록 하겠습니다.

제가 YTN Science채널의 사과나무 방송에서 발표한 자료를 보시면 실내용, 옥외용, 측위 전용, 초소형, 밴드타입의 웨어러블, UBS 타입 등 여러 종류가 이미 시중에 나와 있습니다.


실내용의 다양한 비콘들은 대부분 동일한 기능과 스펙을 갖고 있습니다. 배터리의 종류와 그에 따른 외형의 모습이 가장 큰 차이이며 배터리 교체가 가능한 제품과 방수 및 제품 컨셉을 위해 배터리 교체가 불가능 하여 방전 시 새로 구매해야 하는 제품이 있습니다. 대부분의 제품은 코인셀 타입의 CR2450(620mA)이나 CR2470(1,000mA)을 사용합니다.

옥외형은 실내용과 기능은 같지만 기구적인 디자인 및 기능이 외부에 설치 및 외부 환경에서 동작이 가능하도록 설계되어 있습니다.  기본적으로 방진과 방수를 위해 IP66 인증을 받아야 하며 우리나라 겨울 기온에서 동작 및 배터리 방전을 최소화 할 수 있어야 합니다.  실내용 제품을 옥외에 설치할 경우 코인셀이나 일반 알카라인 등의 배터리의 사용하게 되면 배터리 Spec상 -10도 이하에서는 급격히 자연방전되기 때문에 제공되는 배터리의 DataSheet를 꼭 참고하셔야 합니다.

초소형이나 웨어러블 같은 제품의 Beacon은 일반적인 실내용이나 옥외용처럼 벽면이나 시설물에 부착되는 것이 아니라 고정되지 않은 물건에 부착 또는 몸에 지니고 다닐 수 있는 형태이며 최근 관련 제품들이 출시되고 있습니다.  Gimbal 10은 출시된지 좀 지난 일반적인 비콘 기능에 충실한 제품이며 Estimote사의 Sticker는 센서와 결함한 모델이며 두께가 3mm 정도로 얇은 제품이지만 작년 가을에 출시 예정일이 한참 지난 현재까지도 정식 출시되지 못하고 있습니다.  리니어블은 서비스를 기반으로한 미아방지용 비콘으로 1년동안 사용 가능합니다.  그 외에 국내 비콘 하드웨어 개발 전문 회사인 비트앤펄스의 Beacon Tag는 가속 센서와 버튼 기능이 추가되고 배터리 교체가 가능한 제품으로 곧 출시를 앞두고 있습니다.
리니어블과 Estimote 제품들은 배터리 교체가 불가능하도록 되어 있어 재구매가 필요한 제품이고 다른 제품도 설치 후 주기적으로 배터리를 교체해야 하는 운영 및 유지보수의 필요성이 있는 반면 이를 해결하기 위한 USB 타입의 Beacon은 USB아답타에 Plug-in 하는 형태로 상시 전원을 공급합니다.
국내 N사의 제품은 각종 센서(온도, 습도, 조도)와 배터리 외에 micro USB 연결 단자를 갖고 있어 사용자의 기호에 맞춰 사용이 가능하게끔 통합된 모델을 공급하기도 합니다.

또한 설치된 비콘들을 관리 혹은 움직이는 비콘의 위치를 파악하기 위한 비콘 스캐너(AP) 제품과 비콘 활용 목적에 따라 특화된 제품도 출시되고 있습니다.  이런 제품들은 판매용인 제품도 있지만 관련 사업을 위해 자체적으로 개발하여 사업의 주체가 직접 활용하는 경우가 많습니다.   측위를 전문으로 하기 위한 지향성 비콘과 WiFi Client 기능을 탑재하여 인터넷에 연결이 가능한 스마트한 제품도 이미 상용화 되고 있습니다.

Beacon의 기본적인 기능은 간단하지만 제품별 차별화를 갖기 위해 스마트한 기능과 디자인이 적용되어 가고 있습니다.  예를 들면 배터리의 전류 소모를 줄이기 시계 기능을 탑재하여 비콘이 동작하는 시각을 사용자가 조정할 수 있게 하거나 복제 방지를 위해 ID를 계속 변화시키는 제품도 있습니다.  이렇게 점점 스마트해지는 Beacon 디바이스들은 앞으로 일반인들 곁으로 파고들날이 개인적으로는 얼마 남지 않았다고 생각합니다.

현재 20여종 이상의 다양한 비콘 제품들을 구비해서 직접 보고나 테스트 할 수 있는 공간을 마련해 놓았습니다.   제 개인적으로 시간을 할애해야 하기 때문에 한 번에 많은 분들을 응대할 수는 없지만 예약하시고 방문해 주시면 성심성의껏 대응해 드리도록 할 예정입니다.

http://hellofactory.setmore.com 또는
Book an appointment with (주)헬로팩토리(HelloFactory) using SetMore