This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2640:如何获取连接设备的实际蓝牙地址?

Guru**** 2387830 points
Other Parts Discussed in Thread: CC2640, CC2640R2L
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1169895/cc2640-how-to-get-the-actual-bluetooth-address-of-the-connected-device

器件型号:CC2640R2L
主题中讨论的其他器件:CC2640

大家好、

以下是客户的请求:

客户使用 CC2640作为蓝牙服务器进行广播、并且希望获取所连接设备的 MAC 地址、但获取的同一外围设备地址 始终会发生变化。

如标题所示、如何获取连接到 CC2640的蓝牙器件的实际 MAC 地址。

他使用下面显示的函数 来获取 MAC 地址:

linkDB_GetInfo()
uint8 linkDB_GetInfo ( uint16 connectionHandle,
linkDBInfo_t * pInfo
)
Get information about a link

Copies all of the link information into pInfo. Uses the connection handle to search the link database.

Parameters
connectionHandle controller link connection handle.
pInfo output parameter to copy the link information
Returns
SUCCESS
FAILURE connection wasn't found

您可以帮助检查此案例吗? 谢谢。

此致、                                                         

Nick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Nick、

    linkDB_getinfo()是本例中要使用的 corret 函数。 linkDBInfo_t * pInfo 指针将包含对等器件的 BLE 地址。 如果您观察到地址正在更改、则对等设备可能不使用公共地址、而是使用 RPA、这将导致地址定期更改。

    此致、

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    器件型号:CC2640

    您好!

    你好。

    客户希望获取连接到此蓝牙芯片(CC2640)的器件(应用)的 MAC 地址、但他只能获取随机地址。

    他想问如何获得实际地址。 请提供建议。 非常感谢。

    此致、

    Ray Vincent

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    器件型号:CC2640R2L

    大家好、

    以下是客户的请求:

    如下所示代码:

    case GAPROLE_CONNECTED:
    {
             linkDBInfo_t linkInfo;
             uint8_t numActive = 0;
             uint8 MacAddr[8] = {0}; //!< Other Device's address
             numActive = linkDB_NumActive();
    
             // Use numActive to determine the connection handle of the last
             // connection
    
             if ( linkDB_GetInfo( numActive - 1, &linkInfo ) == SUCCESS )
             {              
    
    
                     Display_print1("numActiveaddrType: %d\r\n", linkInfo.addrType);
                     Display_print1("Num Conns: %d\r\n", (uint16_t)numActive );
    
                     Display_print1("addr NEW:%s\r\n",Util_convertBdAddr2Str(linkInfo.addr));

    linkInfo.addrd 地址是随机的、客户如何获取主机的静态地址?

    您可以帮助检查此案例吗? 谢谢。

    此致、                                                         

    Nick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jan、

    你好。 我想跟进客户的询问。 请参阅以下内容以供参考。 非常感谢。

    "客户希望获取连接到此蓝牙芯片(CC2640)的器件(应用)的 MAC 地址、但他只能获取随机地址。  他想问如何获得实际地址。"

    此致、

    Ray Vincent

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ray:

    此线程 链接 DB_getinfo()中先前提供的函数应提供对等器件的蓝牙 地址。 但是、如果对等器件使用 RPA 作为 其地址模式而不是公共地址、则器件的地址将随着时间的推移而变化。  

    此致、

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Nick & Ray、您好!

    我要在此澄清,所看到的地址可能是一种随机地址形式。 它可以是随机静态地址(每个下电上电周期都会更改)、也可以是私有地址(随时间变化)。 BLE 堆栈能够解析所有这些地址以正确识别哪个器件是哪个器件。 用户指南的解析私有地址部分讨论了实现此操作的过程。 《用户指南》的"隐私"一章为不同类型的地址提供了大量非常有价值的信息。

    此致、

    1月