Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

iOSデバイスでBLEデバイスを検出可能にする- KBA223312- Community Translated (JA)

iOSデバイスでBLEデバイスを検出可能にする- KBA223312- Community Translated (JA)

ChaitanyaV_61
Employee
50 questions asked 25 likes received 25 sign-ins
Employee

iOSデバイスでBLEデバイスを検出可能にする- KBA223312- Community Translated (JA)

Community Translated by HiOm_1802421          Version: **

Translation - English: Making a BLE Device Discoverable on iOS Devices - KBA223312

質問:BLEデバイスがアドバタイズしている時、AndroidやiOSの携帯電話機ではCySmartやLightblue等のアプリで通常見つけられます。

しかし、これらのアプリなしで携帯電話でBluetoothを使用すると、Androidデバイスのみがデバイスを検出し、iOSデバイスは検出しません。

iOSデバイスでBLEデバイスを検出するにはどうすればよいですか?

回答:iPhone、iPad、Mac等のApple製品と通信するBLE デバイスを設計する場合、Appleのデザインガイドラインに従う必要があります。

正常な接続を確立し維持するには、Bluetooth SIGの仕様とAppleのガイドラインの両方に従う必要があります。

これらのガイドラインはBLEデバイスの、ロール、アドバタイズPDU、アドバタイズインターバル、コネクションパラメータ、データパケット長の拡張、プライバシー、パーミッション、ペアリング、MTUサイズ、サービス及びGATTサーバを定義します。

iOSデバイス上のBLE実装は、アドバタイズPDU、アドバタイズデータ、アドバタイズインターバル、コネクションパラメータとプライバシー等のパラメータがAndroidデバイスとは異なります。

  1. アドバタイズPDU:iOSデバイスは、ADV_DIRECT_INDアドバタイズPDUをサポートしていません。ADV_IND、ADV_NOCONN_IND及びADV_SCAN_IND の3つのアドバタイズPDUの内1つだけを使用します。
  2. アドバタイズデータ:アドバタイズデータには、少なくとも送信電力レベル、ローカル名及びサービスフラグを含める必要があります。
  3. アドバタイズインターバル:推奨されるアドバイスパターン及びアドバタイズインターバルは、次の通りです。
    まず、少なくとも30秒間は20msインターバルでアドバタイズします。30秒後に検出されない場合、次の長いインターバルの何れかに変更出来ます。
      152.5ms、211.25ms、318.75ms、417.5ms、546.25ms、760ms、852.5ms、1022.5ms、1285ms
    これらの、正確な特定のインターバルを使用する必要があります。わずかな偏差でも検出までの時間が大幅に増加する可能性があります。
  4. コネクションパラメータ:パラメータは、特定のルールと式に従う必要があります。
    最小インターバル = 最大インターバル = 15msに設定した場合、一部のiOSデバイスは、電力とパフォーマンスの制約のバランスをとるためにインターバルを30msに拡大します。
    接続されているサービスにHIDサービスが含まれている場合、11.25msまでのコネクションインターバルが受け入れられる場合があります。
    iOSデバイスは Peripheral Preferred Connection Parameters 特性のパラメータを読み取ったり使用したりしないため、コネクションパラメータを更新する必要がある場合は、ペリフェラルは L2CAP Connection Parameter Update Request を送信する必要があります。
    コネクションパラメータの規則は次のとおりです。
    • 最小インターバル ≥ 15ms(15msの倍数)
    • 最小インターバル + 15ms ≤ 最大インターバル(最大インターバル = 15msは許可されます)
    • 最大インターバル *(スレーブレイテンシ + 1)≤ 2秒
    • 最大インターバル *(スレーブレイテンシ + 1)* 3 < connSupervisionTimeout
    • スレーブレイテンシ ≤ 30
    • 2秒 ≤ connSupervisionTimeout ≤ 6秒
  5. プライバシー:iOSデバイスは全ての状況でランダムデバイスアドレスを使用するので、ピアデバイスは全ての状況でResolvable Private Addressを解決できる必要があります。

詳細はAppleデザインガイドラインを参照してください。https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf

0 Likes
Contributors