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.

[参考译文] CC3220SF-LAUNCHXL:Wi-Fi Direct

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1373848/cc3220sf-launchxl-wi-fi-direct

器件型号:CC3220SF-LAUNCHXL

工具与软件:

您好!
我一直在尝试让 WIFI-Direct 按照我需要的方式工作一段时间,但我没有成功,我正在做的是以下几点:
-将 CC3220配置为仅作为客户端工作站/P2P 运行,并在协商连接时使用被动功能。
-我正在使用两部手机进行测试、首先在电池1上启用 WIFI-DIRECT、我在整个调试过程中看到 CC3220通过 SL_WLAN_EVENT_P2P_DEVFOUND 事件找到它、然后在电池2上启用 WIFI-DIRECT、但 CC3220没有找到它。
-如果我在手机上颠倒了启用 WiFi-Direct 的顺序,手机2被找到,手机1不是。
-如果我在初始化 CC3220之前让两部手机的 WIFI-Direct,这两部手机都可以找到。
我尝试了使用 sl_WLAN_POLICY_SCAN 更改网络扫描时间并使用 sl_WlanGetNetworkList 函数搜索可用网络列表、但没有更改。
无论如何、我需要 CC3220能够在其触手可及的范围内找到新的 WiFi-直连设备、有人能帮助我解决这个问题吗?
非常感谢你的评分

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

    因此看起来只有在建立第1个连接之前才会执行 P2P 发现。

    我需要检查这一点、看看是否有办法启用此功能(除了偶尔断开连接)。

    找到更多详细信息后、我将会更新。

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

    你好、Kobi!

    首先感谢您的帮助。

    如果 P2P 在首次连接后就能找到器件、效果会非常好、因为我没有建立任何连接、CC3220也找不到其他 Wi-Fi Direct 器件。 它启动后就能找到、我没有建立任何连接、我启用了手机的 Wi-Fi Direct、CC3220找不到它。

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

    我明白了。 您等待找到第二个器件多长时间?  

    您是否尝试过重置 P2P 模式?

    例如(待定:检查状态):

    sl_WlanSetMode(ROLE_STA); 
    sl_Stop(0); 
    sl_Start(NULL,NULL,NULL);
    sl_WlanSetMode(ROLE_P2P); 
    sl_Stop(0); 
    sl_Start(NULL,NULL,NULL);

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

    甚至仅重置 NWP (保持 P2P 模式):

    sl_Stop(0); 
    sl_Start(NULL,NULL,NULL);

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

    我最后做了这个,每5秒重置 NWP,在我的情况下,我也不得不重新启动 http 服务器,在重新启动~10次停止工作后,我尝试了不同的方式重新启动,但没有成功,所以我不得不放弃这个想法。

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

    我不使用 P2P、现在一切都像一个站(STA)、但即使如此、我找到其他 WiFi Direct 网络的唯一方法是重置 NWP (由于 http 服务器有问题、我无法执行此操作)。
    在上一次测试中、我将其设置为每10秒重新配置一次扫描策略并搜索一次网络列表。

    uint32_t intervalScanInSeconds = 10;
    sl_WlanPolicySet(SL_WLAN_POLICY_SCAN, SL_WLAN_SCAN_POLICY(1, 0), (_u8 *)&intervalScanInSeconds, sizeof(intervalScanInSeconds));
    
    sl_WlanGetNetworkList(0, numNetworks, netEntries);

    *以上代码不完整。

    它也不起作用,我等了20秒,在手机1上启用 WiFi,这被发现很快,我等了20秒,打开手机2,这是没有找到,然后我关闭手机1,但它的网络继续被函数 sl_WlanGetNetworkList 发现约6分钟,没有找到其他网络。

    注意:手机始终可以找到 CC3220网络、如果我尝试连接、我可以看到该请求通过调试到达 CC3220、但它没有连接。

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

    "手机始终能找到 CC3220网络"是什么意思? 这意味着 CC3220处于 P2P 模式。

    P2P 发现不能在 STA 模式下正常运行。 发现方法与工作站扫描不同。

    请描述您使用的(SL 命令的)确切序列。

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

    抱歉、我更改了 syscfg 文件、忘记了代码中的 P2P 设置。

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

    我想选择通过手机连接的 CC3220、我成功的最大机会是作为 AP、对吗? 我不知道如何通过将 CC3220配置为 STA 来实现这一点、您会有什么建议吗?

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

    这种联系的性质是什么? 它是否用于配置? 您是否已查看我们的配置文档? (AP 模式暂时用于配置)

    作为与手机连接到同一网络的工作站-您可以使用 MDNS (例如)、使设备能够相互找到、然后您可以使用任何 IP 协议在它们之间进行连接(例如 HTTP)。

    您还可以使用 cc3220作为 AP、并让手机与其进行通信、但这意味着手机在此期间将与本地网络(和互联网)断开连接。  

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

    是的、它用于配置。 我目前正在查看应用报告 SimpleLink Wi-FiRegisteredCC3x20、CC3x3x 器件配置文档、以尝试一种临时使用 AP 模式来接收网络配置、然后作为 STA 连接到此网络的方法。