iOS와 node.js에서 Eddystone 입문

Google Chrome for iOS가 ver44에서 Eddystone URL을 지원했기 때문에.

Chrome 44 for iOS brings beacon-powered Physical Web closer to reality, new gestures - 9To5Mac

우선 수신할 때까지를 정리해 보았습니다.

Eddystone 정보



Eddystone에는 세 가지 유형의 데이터 전송 형식이 있습니다.

* Eddystone-UID … 16byte unique ID. iBeacon에서 말하는 UUID/major/minor.
* Eddystone-URL … URL 보내기
* Eddystone-TLM … beacon의 배터리 잔량이나 기동으로부터의 경과 시간 등

Chrome for iOS가 지원하는 것은 두 번째 Eddystone-URL입니다.

node-eddystone-beacon 설정



Github node-eddystone-beacon 을 이용합니다.
npm install eddystone-beacon
mac라면 아래의 2행의 코드로 Eddystone-URL이 동작합니다.

test.js
var EddystoneBeacon = require('eddystone-beacon');
EddystoneBeacon.advertiseUrl('http://qiita.com/');
node test.js
node와 ble이 동작하면 mac에 한하지 않고 raspberry-pi등 기기는 묻지 않는다고 생각합니다.
mac 본체의 bluetooth가 ON되어 있는지 확인합시다.

Chrome for iOS 설정



알림 센터 (위에서 풀다운)의 "Today"위젯에 Chrome을 추가.



Chrome 위젯 하단에 Eddystone 지원 비콘이 발신하는 URL이 표시됩니다.


아무쪼록 타이틀도 크롤링되고 있네요. validate하고 있습니까?

소감



2014년 10월에 Google이 Physical-Web을 시작했을 때부터 Eddystone-URL의 기반인 UriBeacon

A core principle of this system is no proactive notifications. The user will only see a list of nearby devices when they ask.

“푸쉬 알림과 같은 거동은 하지 않고, 사용자 측이 능동적으로 주변의 정보를 조사하고 싶을 때만 동작시킨다”고 선언하고 있었습니다.

iOS에서 어떤 UX로 실현시켜 오는 것일까,라고 생각하고 있었지만, Chrome 경유로 통지 센터의 위젯에 탑재시키는 것으로 훌륭하게 실현시키고 있습니다.

Android에서의 구현도 기대됩니다.

좋은 웹페이지 즐겨찾기