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

ダイレクトアドバタイズを行なうためのBLEペリフェラルの設定 - KBA218959 - Community Translated (JA)

ダイレクトアドバタイズを行なうためのBLEペリフェラルの設定 - KBA218959 - Community Translated (JA)

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

ダイレクトアドバタイズを行なうためのBLEペリフェラルの設定 - KBA218959 - Community Translated (JA)

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を使用して、アドバタイズを開始してください。

注:

  1. アドバタイズを開始する前にアドバタイズパラメータを変更してください。アドバタイズ開始後に行っても果はありません。
  2. BLEコンポーネント設定で設定された初期のアドバタイズタイプは重要ではありません。
0 Likes
497 Views
Contributors