BLEデバイスへの総接続+書き込み時間を最小限に抑えようとしています。 BLEモジュールは、私が働く会社によって開発されているので、私はすでにデバイスのすべてのサービスと特性を知っています。BLEサービスディスカバリをスキップ
これまでのところ、接続時間+サービス検出時間が長すぎます(約800msです。要件は500msの上になります)。私はサービス発見をスキップしようとしました。そのために、コード内に特性やサービスを手動で作成しました(保護されたプロパティを設定するためにリフレクションを使用するなど)、サービス発見に合格することによって "技術的に"できます。
問題が発生した場合、最初のパケットには約300msかかります。サービス検出では約280ms、最初のパケットでは20msかかるため、サービス検出は次のようになります。私がそれを直接と呼んでいなくても、ただちに何が行われたのか - 私の前提ですか? もしそうなら、発見をバイパスする方法はありますか?
これまでのところ、助けていただけると助かりましたが、オンラインで役立つ情報は見つかりませんでした。これらの300ミリ秒は批判的です。
GATTは最適化される前に最適化されています(必要なサービスと特性のみが存在します)。ファームウェア/ハードウェアチームをリンク層に向けて結果を報告します。ありがとうございました –
もう一度試すことができます:MTUをデフォルトの23(たとえば512)より高い値に増やしてください。そうすれば、より多くのサービス/特性が各応答に収まるため、接続イベントの数が減ります。 – Emil