BLEが幸せにする世界

Blog Single

みなさんは”BLE”と呼ばれる技術をご存知でしょうか?

何かの短縮文字であること分かるかと思いますが、さて。
と早速解説してしまいますが、これは Bluetooth Low Energy の略で、非接触型の通信規格です。
Bluetoothと聞けば少し安心できるかと思いますが、意味は実に単純で、Bluetoothを利用する通信という以外何者でもありません (ぁ

調べてみると

Bluetooth Low Energy (Bluetooth LE, BLE)とは、無線PAN技術である Bluetooth の一部で、バージョン 4.0 から追加になった低消費電力の通信モード。Bluetooth は Bluetooth Basic Rate/Enhanced Data Rate (BR/EDR) と Bluetooth Low Energy (LE) から構成される
[ wikipedia参考 ]

このように記載されています。

大分堅苦しいですね。

  • 端的に説明すると、Bluetoothの電力を抑えて、非接触の近距離通信を行うよっ!

こう言うことですね。

ここで皆さん疑問に思うのが、Bluetoothイヤホンにも同じ物が付いているけど、BLEと何が違うのか? といった事でしょうか。
厳密に言えば、無線のイヤホンなどに使われているBluetoothの規格よりも通信容量に劣る一方で、低電力での通信を実現している規格です。おおよそBluetoothの拡張版がBLEという位置付けです。
実際どれくらい低電力なのかというと、ボタン電池で1~2年は持つと言われています。

そんなBLE、何かに使えないかということで、多方面から商標が発表されています。聞き馴染みのあるものだとアップルの”iBeacon”ですね。
2013年に発表されたプロダクトなのですが、とっかかりがなく、実際に使うところで尻込みしてしまいますよね。

なので今回は、BLEの発信についてまとめ、今後ステップアップ的に皆さんと学んでいけたらと思います。

どうやって発信するのか

発信と言っても、どんなものが発信機となるのか…。
実際には電池を仕込む商品も売られておりますが、相場はピンキリです。日本での取り扱いも少なく、海外からの取り寄せがメインなのが現状です。

ですが、作って動かす、と言う目的なのであれば、お手持ちのPCを発信機とすることが可能です。

Nodeのプラグインにbeaconを簡単に取り扱うためのものが用意されているので、ささっと組んでしまいましょう。

プロジェクトディレクトリにて以下を実行します

npm install bleacon

/node_modules が作成され、bleaconが無事インストールされたら、プロジェクトディレクトリにbeacon.jsを作成します。

Bleacon = require('bleacon');

var uuid = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';
var major = 0;
var minor = 0;
var measuredPower = -50;

Bleacon.startAdvertising(uuid, major, minor, measuredPower);

上記の様に必要な値を設定したら、node beacon.jsを実行

画面には何も表示されないので、実行できているかはアプリで確認します。

iPhone用の受信アプリのリンクです。

beacon.jsで設定したuuidをアプリ内で登録したら、発信されているBLEを受信できるかと思います。

これで無事BLEの発信機を用意することができました!
実際にプロダクトとして昇華させるには、発信しているIDをアプリと連携させるなどの実装が必要となることや、受信側はスマートホンなどのBluetoothに接続できる端末を想定する必要があります。

まとめ

ここまでBLEの解説とパパッと作れる発信源を紹介しましたが、次回は今回受信に利用したような受信アプリを実際に作って行きたいと思います。

Posted by SakaiYasuhiro
PHP,NodeJS,Reactを主に使っているが、デザイン周りもこなす何でも屋。 自称: 可能性の獣

Other Posts: