デバイスが解決可能アドレスを使用している場合にパブリック/スタティックランダムアドレスを取得する方法 - KBA203286 - Community Translated (JA)

Version 1

    Community Translated by HiOm_180242          Version: **

     

    Translation - English: How to get the public/static random address when a device uses a resolvable private address – KBA203286

     

    質問:

    デバイスが解決可能プライベートアドレスを使用している場合に、パブリック/スタティックランダムアドレスを取得するにはどうすればよいですか?

     

    回答:

    デバイスがピアデバイスに接続されると、各接続にハンドルが割り当てられます。ペリフェラルが特定のセントラル(セントラル 1)と結合(ボンディング)すると、コネクションハンドルはそのデバイスのみに割り当てられます。コネクションハンドルは、4、3、2、1または0 の内いづれか一つの値を持つことができます。結合されたデバイスがない場合、ハンドル「4」がすべての接続に割り当てられます。特定のデバイスとの結合後、結合されたデバイスだけがその特定のコネクションハンドルを使用します。他のすべての接続では、残りの空きハンドル(3、2、1、または0)が使用されます。コネクションハンドル数の制限は、結合されたデバイス数(4)の制限によるものです。

     

    ペアリングプロセス中に、デバイスはキーとパブリック/スタティックランダムアドレスを交換します。キーを交換した後、CYBLE_EVT_GAP_KEYINFO_EXCHNGE_CMPLTイベントがトリガーされます。ここでピアデバイスのパブリック/スタティックランダムアドレスを取得すべきです。ピアデバイスとボンディングすると、パブリック/スタティックランダムアドレスがフラッシュに保存されます。ピアデバイスは、接続にパブリック/スタティックランダム/解決可能プライベートアドレスを使用できます。接続に使用されるアドレスは、結合リストに格納されます。デバイスが次の接続の解決可能プライベートアドレス(RPA)を変更した場合、結合リストはこの新しいアドレスで更新されます。API CyBle_GapGetPeerDevSecurityKeyInfo() を使用して、保存されているデバイスのパブリック/スタティックランダムアドレスを取得できます。それはフラッシュから保存されたデータを読み出します。