BLEデータ受信用Androidアプリケーションについて

BLEデータ受信用Androidアプリケーションについての内容になります。現在、RL78/G1Dモジュールを使って一定間隔でBLEアドバタイズデータを送信(ブロードキャスト、ペアリングなし)する小型のIoTボード用として、そのBLEデータを受信する為のAndroid用アプリケーションを作成しています。Androidアプリケーションですが、開発環境はVisualStudioとXamarinを使い、BLEライブラリはXamarin用で提供されている、Plugin.BluetoothLE 6.2.3を用いています。

IoTボードからは5秒間隔でBLEデータを送信しているのですが、Androidアプリでの受信率が、あるタブレットでは60%台(1分間に7,8回受信)、あるタブレットでは10%未満(1分間に1回程度受信)となっており、BLEデータの受信率を上げたいと考えております。

Androidアプリケーションで上記BLEライブラリを使わず、AndroidOSが提供しているBLE処理を使う事で取りこぼしは殆ど発生しない、など、BLE受信Androidアプリケーションに関して、実際に何か試された情報をお持ちでしたら教えて頂けないでしょうか?通信環境に依存する内容である事は承知しておりますが、参考情報がありましたら非常に助かります。

  • babaさん
    BLEアドバタイズデータを送信(ブロードキャスト、ペアリングなし)で使用の場合、Android端末のスキャン設定にも影響します。なので、Android端末のAdvertising Channelである3チェネルの切り替え時に受信できない時間も影響しますので、Bluetooth ICや、BLEライブラリの構成で違いがでると思います。

    AndroidのAPIでもいろんなモードがあります。highest duty cycleのSCAN_MODE_LOW_LATENCYというものもあります。
    developer.android.com/.../ScanSettings
  • babaです。

    >o2tomoさん

    返信ありがとうございます。

    >Bluetooth ICや、BLEライブラリの構成で違いがでると思います。

    情報ありがとうございます。承知致しました。

    >highest duty cycleのSCAN_MODE_LOW_LATENCYというものもあります。

    こちらについては既にSCAN_MODE_LOW_LATENCYを設定して
    使用しておりました。

    現状ですが、アプリ内使用メモリの削減や、Xamarin.Formsの
    DependencyServiceを使ってのBLE受信機能の実装等を進めており、
    10%未満の受信率だったタブレットで、従来よりも受信率が
    改善する結果がようやく見えてきております。
    また何かありましたら御相談させて頂けますと幸いです。