3

Bluetooth LE ペリフェラルとして機能するアプリがあります。4 つの特性を持つ 1 つのサービスがあります。4 つのうち 2 つが読み取りおよび書き込み専用で、他の 2 つが通知として設定されています。

「通知」特性のいずれかに登録すると、アプリは手動で切断するまで切断されず、うまく機能します。

私の問題は、他の特性を読み書きした後、約 30 秒間非アクティブであると、BTLE 接続が周辺機器から切断されることです。これはアップルによって設定された制限かもしれませんが、確かではありません。

サブスクライバーがなく、読み取りまたは書き込みコマンドが 30 秒間受信されていない場合でも、周辺機器をアクティブに保つソリューションを知っている人はいますか??

4

2 に答える 2

1

これは、BLE 4.0 仕様の副産物です。Bluetooth Low Energy は、あなたが説明している長時間接続を維持しないように明示的に設計されています。

これを回避する唯一の方法 (見つけた特性にサブスクライブする以外) は、接続している周辺機器の BLE スタックの実装を変更し、満足できるポイントまで接続間隔を削除または延長することです。

BLE通信の両側がこれらの値をネゴシエートし、iOSが要求されたしきい値を下回る最大値を課す可能性があるため、これも役に立たない場合があります.

于 2015-04-20T14:34:43.527 に答える