레이블이 Scanner인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Scanner인 게시물을 표시합니다. 모든 게시물 표시

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월 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월 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