デバイスが解決可能アドレスを使用している場合にパブリック/スタティックランダムアドレスを取得する方法 - KBA203286 - Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Community Translated by HiOm_1802421 Version: **
Translation - English: How to get the public/static random address when a device uses a resolvable private address – KBA203...
質問:
デバイスが解決可能プライベートアドレスを使用している場合に、パブリック/スタティックランダムアドレスを取得するにはどうすればよいですか?
回答:
デバイスがピアデバイスに接続されると、各接続にハンドルが割り当てられます。ペリフェラルが特定のセントラル(セントラル 1)と結合(ボンディング)すると、コネクションハンドルはそのデバイスのみに割り当てられます。コネクションハンドルは、4、3、2、1または0 の内いづれか一つの値を持つことができます。結合されたデバイスがない場合、ハンドル「4」がすべての接続に割り当てられます。特定のデバイスとの結合後、結合されたデバイスだけがその特定のコネクションハンドルを使用します。他のすべての接続では、残りの空きハンドル(3、2、1、または0)が使用されます。コネクションハンドル数の制限は、結合されたデバイス数(4)の制限によるものです。
ペアリングプロセス中に、デバイスはキーとパブリック/スタティックランダムアドレスを交換します。キーを交換した後、CYBLE_EVT_GAP_KEYINFO_EXCHNGE_CMPLT
イベントがトリガーされます。ここでピアデバイスのパブリック/スタティックランダムアドレスを取得すべきです。ピアデバイスとボンディングすると、パブリック/スタティックランダムアドレスがフラッシュに保存されます。ピアデバイスは、接続にパブリック/スタティックランダム/解決可能プライベートアドレスを使用できます。接続に使用されるアドレスは、結合リストに格納されます。デバイスが次の接続の解決可能プライベートアドレス(RPA)を変更した場合、結合リストはこの新しいアドレスで更新されます。API CyBle_GapGetPeerDevSecurityKeyInfo()
を使用して、保存されているデバイスのパブリック/スタティックランダムアドレスを取得できます。それはフラッシュから保存されたデータを読み出します。