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.

[参考译文] CCS/BOOSTXL-CC3135:网络终端中的 P2P 问题

Guru**** 2394295 points
Other Parts Discussed in Thread: CC3135

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/878528/ccs-boostxl-cc3135-issue-with-p2p-in-network-terminal

器件型号:BOOSTXL-CC3135
主题中讨论的其他器件:CC3135

工具/软件:Code Composer Studio

您好!

我尝试通过 P2P 将两个 CC3135连接到网络终端示例。 为此、我对两个器件都使用命令"p2pstart"。 是这样吗? 他们只告诉我、他们找到了一个器件并在等待协商。 之后没有其他事情发生。 我有什么问题吗?

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

    嗨、Christoph、

    这应该可以正常工作并自动连接。 您可以尝试在 wlan_cmd.c 的 setP2Pparam 函数中将一个器件设置为 SL_WLAN_P2P_NEG_INITIATOR _ACTIVE、将另一个器件设置为 SL_WLAN_P2P_INITIATOR 被动 它应该与 SL_WLAN_P2P_NEG_INITIATER_RAND_BACKOFF 一起工作、但这不是您看到的结果。 如果我上面建议的内容不起作用、我必须对此进行测试。 请告诉我。

    如需更多信息、您还可以在 此处阅读第4.5.3节:http://www.ti.com/lit/ug/swru455i/swru455i.pdf

    Jesu

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

    您好、Jesu、

    到目前为止、谢谢。 我将一个器件设置为活动、将另一个设置为无源(请参阅屏幕截图中的代码)。 这是我必须更改的吗? 它们仍无法连接。 在终端中、它看起来与以前完全一样。 我还尝试了 sl_WLAN_P2P_NEG_INITIATOR 的多种不同组合... 和 SL_WLAN_P2P_Role。。 (Go 和 Silent)。 什么都不起作用。

    --------------------------------------------------------------------

    此致、

    Christoph

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

    您好、Christoph、

    我刚刚测试了这个、我得到了与您相同的行为。 我猜是因为找到了多个 P2P 远程设备-没有任何设备会自动发送协商请求、因为它们不知道要将协商请求发送到哪个设备。 我的环境不允许我测试这种理论、但如果您是、您可以尝试一下并告诉我。  

    如果您不能、下面是假设 network_terminal 示例保持原样的替代方法...

    在一个器件中调用 p2pstart、并等待否定请求。  

    在 p2pconnect()中,注释掉等待符号请求的代码并启动连接:

    UART_PRINT ("\n\n\r\n[p2pstart]:正在等待协商请求...\n");
    UART_PRINT (cmdlpPromptStr);
    RET = SEM_WAIT (&APP_CB.P2P_CB.RcvNegReq);
    
    IF (RET < 0)
    {
    show_warning (ret、os_error);
    return (NULL);
    }
    
    //带有连接请求的 Replay */
    uart_print ("\n\r\n\r\n\r\n[p2psstart]:正在连接...\n\n");
    ret = sendConnectionReq();
    
    if (ret < 0)
    {
    show_warning (ret、os_error);
    返回(NULL);
    } 

    现在添加您自己的代码、手动连接到等待连接请求的另一台设备:

    _i16状态;
    SlWlanSecParams_t SecParams;
    signed char* SSID ="mysimplelink_MB";
    
    SecParams.Type = SL_WLAN_SEC_TYPE_P2P_PBC;
    SecParams.Key ="";
    SecParams.KeyLen = 0;
    
    状态= SL_WlanConnect (SSID、 strlen("mysimplelink_MB),0&SecParams,0);
    if ( Status )
    {
    //检查错误
    }
    

    我测试了这个、它工作正常。 如果您需要更强大的解决方案  ,SimpleLinkWlanEventHandler 中的 sl_WLAN_EVENT_P2P_DEVFOUND 事件将通过在 这种情况下检查 pWlanEvent->Data.P2PDevBound.GoDeviceName 来告知您器件名称。 您可以在调用 sl_WlanConnect 时使用该器件名称、如上所示。

    Jesu

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

    您好、Jesu、

    感谢您为此付出的努力。 我会尝试一下。 周末愉快!

    此致、

    Christoph