1

私の BLE アプリケーションは、サーバー側 (BLE チップ) での計算を必要とし、時間がかかり、切断が発生します。

流れはこんな感じです。

1- Android フォンが特性値を BLE チップに書き込みます。2- チップはこの値を評価し、計算を開始します。3- 計算が開始された直後に接続が失われます。

切断を防ぐためにどのような解決策を適用できますか? 私は2つの解決策を考えています:

1- 接続間隔の変更: 現在、Android は接続間隔として 7.5 ミリ秒を使用しています。BLE チップの計算には時間がかかるため、計算中はパケットの送受信を行いません。接続間隔を長くすると、失われるパケットの数が減少します。ただし、Android フォンが新しい接続パラメーターを受け入れるという保証はありません。

2- 別のスレッドで計算を実行する: BLE チップの SDK がマルチスレッドをサポートしているとは思わないため、計算プロセスが進行している間、パケットの送受信を続けて切断を防ぎます。CSRチップを使用していますが、サポートしていないと思います。

私のポイントが間違っている場合は修正してください。

問題を解決するための他の提案はありますか?

前もって感謝します。

4

2 に答える 2

0

低レベルのアプリケーションでのみ BLE を使用したため、説明する内容が Android で実行可能かどうかは正確にはわかりませ

このパラメーターをいじってみると、接続が失われたと見なされるまで中央デバイスが待機できる接続間隔の数を変更できるため、便利です。

次の式は、接続パラメータを導出するのに役立ちます。 Effective_Connection_Interval = (Connection_Interval)*(1+(Slave_Latency))

あなたのEffective_Connection_Intervalと衝突する可能性のあるある種のSupervision_Timeoutが存在する可能性があることに注意してください

于 2014-05-28T18:20:00.140 に答える