Help us understand the problem. What is going on with this article?

iOSとnode.jsでEddystone入門

More than 5 years have passed since last update.

Google Chrome for iOS がver44でEddystone URLに対応したので。

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

とりあえず受信するまでをまとめてみました。

Eddystoneについて

Eddystoneには3タイプのデータ送信フォーマットがあります。

* Eddystone-UID … 16byteのunique ID。iBeaconでいうUUID/major/minor。
* Eddystone-URL … URLを送信
* Eddystone-TLM … beaconの電池残量や起動からの経過時間など

Chrome for iOSが対応したのは2番目の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を追加。
IMG_3777.PNG

IMG_3776.PNG

Chrome ウィジェット下部にEddystone対応ビーコンが発信するURLが表示されます。
IMG_3780.PNG

何気にタイトルとかもクロールされてますね。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.

「Push通知のような挙動はさせず、ユーザー側が能動的に周囲の情報を調べたいときだけ動作させる」と宣言していました。

iOSでどのようなUXで実現させてくるのかな、と思案していたのですが、Chrome経由で通知センターのウィジェットに搭載させることで見事に実現させています。

Androidでの実装も楽しみです。

formulynx
Application Engineer | Audio Programmer / [ iOS, Android, Electron ] / [ ObjC, Java, JS, Python, C, C++, C#, Fortran ]
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away