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

obniz ble からの反応が遅いです。速度計測の方法はありますか

コメント

5件のコメント

  • obnizサポートチーム

    obniz BLEのconnect時はいくつか接続シーケンスが行われております。具体的にはサービスやキャラクタリスティクスのdiscoveryを行なっております。こちらで時間がかかっている可能性がありますので、connectWaitのoptionにてスキップさせることで速度向上が可能です。
    https://obniz.com/ja/doc/reference/common/ble/central-connect#%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A8%E3%82%AD%E3%83%A3%E3%83%A9%E3%82%AF%E3%82%BF%E3%83%AA%E3%82%B9%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%AE%E8%87%AA%E5%8B%95%E6%A4%9C%E7%B4%A2

    0
  • kubota

    ご回答ありがとうございます。

    同じアプリで社内とお客様環境で速度が違うため、切り分けの方法を

    探しておりました。何か手法やサービスはございますか。

    また、次のアラートが発生することがあります。意味と対処法を教えてください。

    勿論、onconnect時にはobniz.ble.initWait()しています。

    【アラート】

    alert: 'warning',
    message: "BLE is not initialized. Please call 'await obniz.ble.initWait()'"

     

    以上、よろしくお願いいたします。

    0
  • obnizサポートチーム

    BLEの初期化ができてないことによるアラートです。obnizデバイスと切断、再接続が起きた際に古いonconnect内のプログラムが悪さをして同様なアラートが出ることがあります。プラグラムを見直しいただければと思います。

    通信速度に関しては環境依存のため、こちらでは分かりませんが、1コマンドあたりのネットワーク時間を調べることは可能です。こちらのコマンドを使って前後の時間をお調べください。
    https://obniz.github.io/obniz/obnizjs/classes/obnizcore.obniz.html#pingwait

    BLEのconnectは通常10から50コマンド程度を使用しますのでpingwaitを合わせることで、ネットワークの問題かどうかを切り分けが可能です。

    0
  • kubota

    ご回答ありがとうございます。

    ①アラートの件、「再接続が起きた際に古いonconnect内のプログラムが悪さ」とは

    例えば、接続中のデバイスに、disconnectせずに再度接続しに行くといった状況でしょうか。

    ②通信速度の件、pingwait()は「アプリとobnizクラウド間の速度」と存じます。

    「obnizクラウドとデバイス間」の速度計測手段は何かございますか。

    ③onfinish()は「スキャンの停止」で発生すると存じますが、「duplicate:false」の場合は

    下記条件の他に発生しますか。

    ・スキャンtimeout

    ・connectによるスキャン強制終了

     

    よろしくお願い致します。

    0
  • obnizサポートチーム

    >①アラートの件、「再接続が起きた際に古いonconnect内のプログラムが悪さ」とは
    >例えば、接続中のデバイスに、disconnectせずに再度接続しに行くといった状況でしょうか。
    onconenctが2重に走っている可能性がございます。一つ目は1回目の起動時でその後デバイスが切断され、再度接続した時には2回目のonnconnectが実行されます。仮に1回目のonnconnectが無事に終了しなかった場合並行して二つが動くことになります。

    >②通信速度の件、pingwait()は「アプリとobnizクラウド間の速度」と存じます。
    >「obnizクラウドとデバイス間」の速度計測手段は何かございますか。
    pingwait()はアプリ⇔デバイス間(obnizCloud経由も含む)の内容になります。
    クラウドとアプリの通信速度を計測する方法はございません。

    >③onfinish()は「スキャンの停止」で発生すると存じますが、「duplicate:false」の場合は
    >下記条件の他に発生しますか。
    >・スキャンtimeout
    >・connectによるスキャン強制終了
    obnizがオフラインになった時やBLEスキャンが不明な理由で終了された場合も発生します。

    0

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