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.

[参考译文] CC2564CSTBTBLESW:限制LE连接到仅通过BR/EDR连接的设备

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1084887/cc2564cstbtblesw-restricting-the-le-to-connect-to-a-device-which-is-connected-over-br-edr-only

部件号:CC2564CSTBTBLESW

您好,TI:

我们正在使用一个应用程序/设备来与具有音乐和电话基本功能的Android/ iOS手机配合使用,并使用一个通过BLE的应用程序来控制设备参数。

在BR/EDR中,我们正在进行安全简单配对,并存储Linkkeys以进行重新连接。  

现在我希望BLE仅连接到该设备(BR/EDR连接到的设备),在测试时,我们观察到BR/EDR连接到一部电话,BLE连接到另一部电话。

我们仅在BT连接后才公布BLE,现在有任何方法可以将同一电话的BLE (随机地址)添加 到白名单,以便仅连接到该电话。

我们看到了一些关于从Linkkeys生成BLE铁杆的文章。 是否有任何功能可用于实现此目的?  

此致,

Vishnuprasad V

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

    您好,Vishnuprasad,

    明天我会跟进。

    谢谢!
    雅各布

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

    您好,Vishnuprasad,

    是否要与一部手机建立BLE和BT经典连接? 我认为SPPLEDemo中可能提供了您正在寻找的一些功能(白名单,配对)。 我要在蓝牙中使用API,但您可能想从这里开始。

    我们只在BLE 连接到电话后才会公布BLE (随机地址),现在我只能在连接到任何电话时才会添加BLE/Blt (随机地址)

    实现此功能的另一种方法是直接,可连接的广告。 这种类型的通告被发送到特定设备以建立连接。

    最佳,
    雅各布

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

    您好,Jacob,

    是的,我们正在查看BLE的白名单和可直接连接的广告,我们想要的是如何从BT地址获取BLE地址,以便我们可以将其列入白名单或定向广告。

    此致,  

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

    好的,很好,我很快会有更多信息

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

    您好,Vishnuprasad,

    我有一些关于如何在蓝牙中完成直接连接广告和接受列表(白名单)的更多信息。

    直接,可连接的广告  

    实际上ConnectabilityParameters AdvertisingParametersGAP_LE_Advertising_Enable,在调用之前,您需要修改和。  

     /* Set up the advertising parameters.                 */
    AdvertisingParameters.Advertising_Channel_Map   = HCI_LE_ADVERTISING_CHANNEL_MAP_DEFAULT;
    AdvertisingParameters.Scan_Request_Filter       = fpNoFilter;
    AdvertisingParameters.Connect_Request_Filter    = fpNoFilter;
    AdvertisingParameters.Advertising_Interval_Min  = 100;
    AdvertisingParameters.Advertising_Interval_Max  = 200;
    
    /* Put the controller in direct, connectable mode */
    ConnectabilityParameters.Connectability_Mode   = lcmDirectConnectable;
          ConnectabilityParameters.Own_Address_Type      = OwnAddressType;
    ConnectabilityParameters.Direct_Address_Type   = latPublic;
    
    /* Set the BD_ADDR to advertise to directly */
    ASSIGN_BD_ADDR(ConnectabilityParameters.Direct_Address, 0x88, 0xC2, 0x55, 0xD1, 0xD6, 0x4D);

    白名单

    要完成白名单,您需要先创建白名单结构并添加蓝牙地址。

    /* create a WhiteListEntries struct and filter for the desired BD_ADDR */
    GAP_LE_White_List_Entry_t WhiteListEntries;
    WhiteListEntries.Address_Type = latPublic;
    ASSIGN_BD_ADDR(WhiteListEntries.Address, 0xC8, 0xDF, 0x84, 0x25, 0x68, 0x2B);
    
    unsigned int AddedDeviceCount = 1;
    
    GAP_LE_Add_Device_To_White_List(BluetoothStackID, 1, &WhiteListEntries, &AddedDeviceCount);
    
    /* Not currently scanning, go ahead and attempt to perform the    */
    /* scan.                                                          */
    Result = GAP_LE_Perform_Scan(BluetoothStackID, stActive, 10, 10, latPublic, fpWhiteList, TRUE, GAP_LE_Event_Callback, 0);

     irk

    签出 GAP_LE_Identity_Information_tGAPAPI.h 您可以在此处指定irk,然后生成随机地址()GAP_LE_Generate_Resolvable_Address和验证响应()GAP_LE_Authentication_Response

    最佳,

    雅各布

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

    您好,Jacob,

    感谢您提供信息。  

    我了解白名单流程。

    我想知道的更多细节是,

    1)如果需要添加到白名单的设备使用随机地址,我如何将该设备添加到白名单,白名单条目是否也有提供irk的规定?

    我们仅使用静态地址。

    此致,

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

    您好,Vishnuprasad,

    将设备添加到白名单的唯一方法是事先知道地址。 如果您的地址在引导时更改 ,我建议您在引导前与设备绑定,以便您可以重新连接。 由于您使用的是随机静态地址,您是否可以使用GAP_LE_Add_Device_To_White_List上述API提供该地址?

    根据我的理解,如果您使用的是随机静态地址,则不需要irk。 我认为情况就是这样,因为irk与随机数相结合,生成可解析的随机私有地址中使用的地址。

    谢谢!
    雅各布