メインコンテンツへスキップ

BLEのフィルタリングについて

コメント

5件のコメント

  • obnizサポートチーム

    BLEにはアドバタイズメントとスキャンレスポンスの2種類があります。

    iBeaconとのことですので、おそらく、アドバタイズメントにはiBeacon情報が入っており、スキャンレスポンスの方にlocalNameが入っているデバイスを利用されているのではないかと推測しています。

    filterOnDeviceの際のフィルタ条件はそれぞれで判定を行いますので、localNameで指定した際にはiBeaconが入っているアドバタイズメントデータが取れない、ということが起きていると思われます。

     

    上記を解消するためには、アドバタイズメントおよびスキャンレスポンスの両方が該当するようなフィルタ条件を設定いただければと思います。

     

     

    0
  • wami

    ありがとうございます。

    原因についてはおっしゃる通りだと思いますが、アドバタイズメントがデバイスにより異なるためアドバタイズフィルターが行えないのです…

     

    現状はフィルターをかけずにスキャンしたデータにあとで検索をかけて絞りこみをかけていますが、非常に無駄なのでなにか回避方法があればと質問させていただきました。

     

    0
  • obnizサポートチーム

    少し対象が幅広くなりますが、下記の2つの組み合わせでの対応になるかと思います。
    ①アドバタイズメントデータは[iBeaconである]という情報でフィルタリングする(Apple社のベンダーコードを含めた[0xFF, 0x4C, 0x00] )
    ②スキャンレスポンスはlocalNameでフィルタリングする

    フィルタ条件はORで複数記述ができますので、①②を記載することで両方取れるかと思われます。

    0
  • wami

    アドバイスありがとうございます。

    その方法であれば現実的なフィルタリングができそうです。アドバイスありがとうございました。

    0
  • Data migrator

    Nice thanks

    edu.jo
    0

サインインしてコメントを残してください。