私の BLE アプリケーションは、サーバー側 (BLE チップ) での計算を必要とし、時間がかかり、切断が発生します。
流れはこんな感じです。
1- Android フォンが特性値を BLE チップに書き込みます。2- チップはこの値を評価し、計算を開始します。3- 計算が開始された直後に接続が失われます。
切断を防ぐためにどのような解決策を適用できますか? 私は2つの解決策を考えています:
1- 接続間隔の変更: 現在、Android は接続間隔として 7.5 ミリ秒を使用しています。BLE チップの計算には時間がかかるため、計算中はパケットの送受信を行いません。接続間隔を長くすると、失われるパケットの数が減少します。ただし、Android フォンが新しい接続パラメーターを受け入れるという保証はありません。
2- 別のスレッドで計算を実行する: BLE チップの SDK がマルチスレッドをサポートしているとは思わないため、計算プロセスが進行している間、パケットの送受信を続けて切断を防ぎます。CSRチップを使用していますが、サポートしていないと思います。
私のポイントが間違っている場合は修正してください。
問題を解決するための他の提案はありますか?
前もって感謝します。