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.

[参考译文] LP-EM-CC2745R10-Q1:[BLE 6.0 CS DKC]如何使用 CC2745R10 中的白名单连接

Guru**** 2419530 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1544622/lp-em-cc2745r10-q1-ble-6-0-cs-dkc-how-to-use-whitelist-connections-in-cc2745r10

器件型号:LP-EM-CC2745R10-Q1


工具/软件:

*SDK:9.11.00.18

我目前需要在 CC2745(car_node 演示代码)上设置电话白名单管理(器件角色:外设+中央器件)。 我们期望启用白名单、并将指定的 MAC 地址添加到白名单、以便能够连接具有相应 MAC 地址的电话、 而不在白名单中的电话无法连接。在系统配置中、过滤策略被设置为处理来自所有设备的扫描请求、并且仅处理来自 AL 中设备的连接请求。当我们使用 HCI_LE_AddAcceptListCmd (uint8 addrType、uint8) 成功后 BLEAppUtil_devterEventHandler (&peripheralConnAddr)*连接时、返回我的 iCmd_develt 地址并尝试连接、但返回我的 hibitle_develt rece/deft。 我想询问如何实现我想要的结果?配置如下:

    bStatus_t status2;
    PHSCA_ESELOG_PRINTF("%s", "app_peripheral.c -> test_name\r\n");
     uint8_t peer_addr[B_ADDR_LEN] = {0x72,0x59,0x7b,0x63,0x9c,0xb0};
     uint8_t peer_addr2[B_ADDR_LEN] = {0xb0,0x9c,0x63,0x7b,0x59,0x72};
     PHSCA_ESELOG_PRINTF("app_peripheral.c -> addr: %02X:%02X:%02X:%02X:%02X:%02X\r\n",
                         peer_addr[0],peer_addr[1],peer_addr[2],peer_addr[3],peer_addr[4],peer_addr[5]);
     PHSCA_ESELOG_PRINTF("app_peripheral.c -> addr2: %02X:%02X:%02X:%02X:%02X:%02X\r\n",
                            peer_addr2[0],peer_addr2[1],peer_addr2[2],peer_addr2[3],peer_addr2[4],peer_addr2[5]);
     HCI_LE_ClearAcceptListCmd("");
     PHSCA_ESELOG_PRINTF("%s", "app_peripheral.c -> clearAcceptlist\r\n ");

          status =   HCI_LE_AddAcceptListCmd(ADDRTYPE_PUBLIC,peer_addr);
          status2 =   HCI_LE_AddAcceptListCmd(ADDRTYPE_PUBLIC,peer_addr2);
     if((status != SUCCESS) || (status2 !=SUCCESS))
     {
         PHSCA_ESELOG_PRINTF("app_peripheral.c -> AddAcceptlist fail status:0x%2x\r\n",status);
     }
     else
     {
         bStatus_t gstatus;
         PHSCA_ESELOG_PRINTF("%s", "app_peripheral.c -> Local MAC AddAcceptlist SUCCESS\r\n");
         gstatus =  HCI_LE_ReadWhiteListSizeCmd();
         if(gstatus != SUCCESS)
         {
         PHSCA_ESELOG_PRINTF("app_peripheral.c -> Local MAC ReadAcceptlistSize fail status:0x%2x\r\n",gstatus);
         }
         else
         {
             PHSCA_ESELOG_PRINTF("app_connection.c -> Local MAC ReadAcceptlistSize success status:0x%2x\r\n",gstatus);
         }
     }

系统配置:

结果:

此致、

Burt

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

    您好!

    出于好奇心、地址是采用小端字节序还是大端字节序格式? 可能是地址必须按相反顺序排列。

    如果这不起作用、我可以在我这边尝试一下、并在星期一上给出答复。

    快速记下 HCI API、它们将始终返回 TRUE。 您必须检查生成的 HCI 事件以获取实际结果、但是、我认为这不是问题。

    此致、

    Nima Behmanesh

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

    嗨、Nima、

    地址采用小端字节序格式。我尝试了反转地址的顺序、但它不起作用。

    此致、

    Burt

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

    您好、James:

    感谢您测试它。 我会按照您提供的代码在我这边尝试一下。

    请允许我花几天时间回复您。

    此致、

    Nima Behmanesh