ダイレクトアドバタイズを行なうためのBLEペリフェラルの設定 - KBA218959 - Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Community Translated by HiOm_1802421 Version: **
Translation - English: Configuring BLE Peripheral to Perform Directed Advertisement - KBA218959
質問:
ダイレクトアドバタイズを行うためのBLEペリフェラルの設定方法を教えてください。
回答:
BLE Component Configurationにオプションがなく、ダイレクトアドバタイズを有効にするAPIもないため、ダイレクトアドバタイズを実行するするためのBLEペリフェラルの設定は容易ではありません。しかし、検出モード情報のアドバタイズパラメータを変更することにより、アプリケーションでダイレクトアドバタイズを有効にできます。
1. CYBLE_GAPP_CONNECTABLE_LOW_DC_DIRECTED_ADV または CYBLE_GAPP_CONNECTABLE_HIGH_DC_DIRECTED_ADV のいずれかにアドバタイズタイプを変更してください。
cyBle_discoveryModeInfo.advParam->advType = CYBLE_GAPP_CONNECTABLE_LOW_DC_DIRECTED_ADV;
2. ダイレクトデバイスの(セントラル)アドレスタイプとアドレスを設定してください。アドレスタイプを CYBLE_GAP_ADDR_TYPE_PUBLIC または CYBLE_GAP_ADDR_TYPE_RANDOM のいずれかに設定してください。この例では、パブリックアドレスが 0x00A05000251F であるセントラルに対してペリフェラルがダイレクトアドバタイズを実行することを示します。
cyBle_discoveryModeInfo.advParam->directAddrType = CYBLE_GAP_ADDR_TYPE_PUBLIC;
cyBle_discoveryModeInfo.advParam->directAddr[5] = 0x00;
cyBle_discoveryModeInfo.advParam->directAddr[4] = 0xA0;
cyBle_discoveryModeInfo.advParam->directAddr[3] = 0x50;
cyBle_discoveryModeInfo.advParam->directAddr[2] = 0x00;
cyBle_discoveryModeInfo.advParam->directAddr[1] = 0x25;
cyBle_discoveryModeInfo.advParam->directAddr[0] = 0x1F;
3. CyBle_GappStartAdvertisement() または CyBle_GappEnterDiscoveryMode() APIを使用して、アドバタイズを開始してください。
注:
- アドバタイズを開始する前にアドバタイズパラメータを変更してください。アドバタイズ開始後に行っても効果はありません。
- BLEコンポーネント設定で設定された初期のアドバタイズタイプは重要ではありません。