8
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

BLE Beaconからの電波のRSSIをAndroidアプリで測定してみた

Last updated at Posted at 2016-01-09

BluetoothLowEnergyの受信電波強度によってジオフェンシングができる、という記事はよく見るのですが、いざ自分でそのようなアプリを作ろうとした時に「どの値を境界にして近くにいるか、いないかを判定するか?」というのは問題になってくると思います。
今回はその基準を決めるための電波強度計測を行ってみました。これらの情報が上記問題の解決の糸口になってくれれば幸いです。

今回の実験で使ったもの

デバイス・端末

受信側は以下のとおり
・Nexus7(2013) Android6.0
・Sharp Aquas Phone SHV32 Android5.0

送信側は以下のとおり
・Sharp Aquas Phone SHV32 Android5.0
・EddyStone Beacon(正式なデバイスの名称がわからなくてすみません。。2015年8月末に行われた勉強会で買ったBeaconなんですが…写真はこんな感じ。)
スクリーンショット 2016-01-10 1.00.40.png

使用するプログラム

受信側
https://github.com/LyricalMaestro/BLECentralBenchmarkApp
Android5.0以上の端末に対応したものになっています。(自慢ではないですがAndroid6.0のM Permissionにも少し対応しています)

送信側
GoogleのEddystoneサンプルアプリ(TxEddystone-UI)
https://github.com/google/eddystone/tree/master/eddystone-uid/tools/txeddystone-uid

測定条件

今回は以下の条件で測定を行う。(受信側はLow-Latencyだけ)

送信側 受信側
AQUOS PHONE(TxEddyStone-UIDのLowPower) Nexus7(2013)
AQUOS PHONE(TxEddyStone-UIDのBalanced) Nexus7(2013)
AQUOS PHONE(TxEddyStone-UIDのLowLatency) Nexus7(2013)
EddyStoneのBeacon Nexus7(2013)
EddyStoneのBeacon AQUOS PHONE

測定場所

私の部屋でやりました。
・発信源から数十cmのところ
・発信源から2メートル程度離れているところ(発信源のある部屋からでました)
でやりました。(写真や見取り図は…ごめんなさい、秘密でお願いします)

測定結果

各項目の最後の方に測定時のグラフがあります。

TxEddyStone-UIDのLowPower x Nexus7(2013)

数十秒に一度Scanされるのがわかります。発信源からの距離の変化に対応するにかなり時間がかかります。実装によっては「射程範囲外」とちょくちょく判定されるかもしれません。
ちなみに以下の2パターンだと平均電波強度に差があるといえそうです。(数十センチぐらいのところだと-65前後が平均値なのに対して、後者は-90前後の値を示しています)

・発信源から数十cmのところ
スクリーンショット 2016-01-10 1.30.32.png!

・発信源から2メートル程度離れているところ
スクリーンショット 2016-01-10 1.32.02.png

TxEddyStone-UIDのBalanced x Nexus7(2013)

5秒に一度Scanされるのがわかります。ほどよい頻度でScanしていると思います。
以下の2パターンだと平均電波強度に差があるのでややゆるめのジオフェンシングには使えるかもしれません。

・発信源から数十cmのところ
スクリーンショット 2016-01-10 1.39.54.png

・発信源から2メートル程度離れているところ
スクリーンショット 2016-01-10 1.40.18.png

TxEddyStone-UIDのLowLatency x Nexus7(2013)

Balancedの時と比べてさほどさはないように思えます。強いて言うなら電波強度のブレがこちらのほうが少ないです。

・発信源から数十cmのところ
スクリーンショット 2016-01-10 1.44.04.png

・発信源から2メートル程度離れているところ
スクリーンショット 2016-01-10 1.44.17.png

EddyStoneBeacon + Nexus7(2013)

Balancedの時と比べてさほどさはないように思えます。電波強度のブレがこちらのほうがかなり少ないです。

・発信源から数十cmのところ
スクリーンショット 2016-01-10 1.45.54.png

・発信源から2メートル程度離れているところ
スクリーンショット 2016-01-10 1.46.06.png

EddyStoneBeacon + AQUOS PHONE SHV32

電波受信間隔がかなり短いです。ブレがありますが、最大2-3秒の間隔しか開かないのはすごいです。
しかも、距離によって値の幅も差が出ているのでジオフェンシングにはまさにうってつけの状態だと言えます。

・発信源から数十cmのところ
スクリーンショット 2016-01-10 1.48.25.png

・発信源から2メートル程度離れているところ
スクリーンショット 2016-01-10 1.48.08.png

考察

送信側のLatency・受信側の機器によって受信間隔・電波強度のブレに差が出てきていることがわかりました。
しかし、発信源からの距離によって電波強度の差が出てきていることはどの条件下でも出てきることもわかりました。
なので、ここから境界値みたいなのを割り出せると思います。

(P.S. ここで「差が出ている」というのは時系列グラフを見た感じで結論付けています。本当ならt検定とかやって差があることを示してみてもいいかもしれません。。。)

8
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?