ちょっとやってみたいことがあって、WEB Bluetooth経由でBLE Beaconの類のTX Powerが知りたかった。
いまのところ、できない気がする。
・アドバタイズメントパケットの構造
Android BLE API及びAndroid Beacon Libraryの設計の酷さを技術的に説明する - Qiita
http://qiita.com/TakahikoKawasaki/items/a2062147b5fa82abc0b3
・現在のWEB Bluetoothの仕様書
Web Bluetooth
https://webbluetoothcg.github.io/web-bluetooth/
4.2.1. Responding to Advertising Events下にある EXAMPLE 9 がすごいそれっぽく見えるんだけど、
どうやら今のところ、セキュリティのためペアリングをしなければならない。
しかも、純粋にアドバタイズメントパケットだけを配信しているiBeaconはペアリングのリストに出てこない。(当然だが)
アドバタイズメントは、デバイスの存在を告知しているもので、これはiBeaconですよーとか、心拍数のサービスが存在していますよーとか、そういうのを伝えてくれるものである。
これをみて、親機(セントラル)は、例えば心拍数が取れるデバイスにペアリングしてキャラクタリスティックの読み書きをするとか。しかし、Beaconの代名詞とも言える(?)iBeaconやEddystoneは、ペアリングする以前のアドバタイズメントパケットの中に、自身のUUIDの他にTX Power含んでいる。つまりペアリングする必要がない。
といことで、こちらとしては、ペアリング以前の問題で、BLEデバイスが発してるアドバタイズメントパケットが見れればいいのだけど、
どうもそんなパケットを受け取れるようには見えない。パケットの内容を返してくれるような関数もない気がする。
うーん。
0 件のコメント:
コメントを投稿