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.

[参考译文] CC3200重新连接问题- CC3200打开、移动热点随后启动

Guru**** 2769425 points

Other Parts Discussed in Thread: CC3200, CC3200SDK

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/595565/cc3200-reconnection-issue--cc3200-is-on-and-mobile-hotspot-started-after-while

Thread 中讨论的其他器件:CC3200CC3200SDK

您好!

我正在处理 MQTT 客户端项目、在该项目中、我尝试从 CC3200LP 重新连接服务器。

我将移动热点用作 WiFi 路由器。在这里、 当移动热点打开、CC3200启动并尝试连接热点时、它可以轻松地与热点连接、但当我第一次启动 CC3200时、一段时间后、我启动热点、它无法连接、红色 LED 始终闪烁。当我重置 Launchpad 时、它就会开始 轻松连接。

谢谢、此致、

Shashank

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

    您是否存储了一个或多个配置文件?
    默认情况下、MQTT_CLIENT 应用程序定义为使用 AUTO_CONNECT 方法、该方法始终尝试连接到存储的配置文件之一。
    如果您希望连接到器件连接到的最后一个 AP、则可能需要添加"FAST_CONNECT"配置(跳过连接扫描)。

    lRetVal = sl_WlanPolicySet (sl_policy_connection、
    sl_connection_policy (1、1、0、0、0)、
    &PolicyVal,1/*PolicyVallen*/);


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

    您好、Kobi、

    感谢您的回复。

    我只有1个存储的配置文件。


    这里、我的问题是

    最初、当 WiFi 路由器关闭且 CC3200LP 尝试连接时、由于 WiFi 路由器关闭、它无法连接。一段时间后、如果 WiFi 路由器打开、CC3200LP 将保持在同一阶段、它始终尝试连接路由器。

    但是、当我复位 CC3200Launchpad 时、它便会连接。


    此致、
    Shashank

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否按照上述说明将 WLAN 配置文件设置为 AUTO_CONNECT 和 FAST_CONNECT?
    您是否按原样使用了 MQTT_CLIENT 示例?

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

    如上所述、我将 WLAN 配置文件设置为 AUTO_CONNECT 和 FAST_CONNECT。是的、我将按原样使用 MQTT_CLIENT 项目。
    但得到相同的响应。

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

    您好、Shashankk、

    [参考 CC3200SDK_1.3.0中的 MQTT_CLIENT 示例]

    只需快速检查-确保您已注释掉了将尝试手动连接的对 Network_if_ConnectAP()的调用。  如果此手动连接失败(如果 AP 未通电、它将在超时后执行此操作)、则应用程序将永远不会到达添加配置文件的位置等。

    我会建议如下对 main.c 的更改(作为一种使用自文件测试自动连接的简单方法)。  这将导致应用程序旋转、直到 CC3200连接到 AP。  :-

    (笑声) 

    //启动计时器使红色 LED 闪烁,直至接入点连接 LedTimerConfigNStart(); //初始化 AP 安全参数 SecurityParams.Key =(signed char *) security_key; SecurityParams.KeyLen = strlen (security_key); SecurityParams.Type = SECURITY_TYPE; //删除手动连接检查 #if 0 // //连接到接入点 // lRetVal = Network_IF_ConnectAP (SSID_NAME、SecurityParams); if (lRetVal < 0) { UART_PRINT ("连接到 AP 失败\n\r\n); loop_forever (); } #endif lRetVal = sl_WlanProfileAdd (SSID_NAME、strlen (SSID_NAME)、0、&SecurityParams、0、1、0); //设置自动策略 lRetVal = sl_WlanPolicySet (sl_policy_connection、 sl_connection_policy (1、0、0、0)、 &PolicyVal,1/*PolicyVallen*/); // //添加检查循环,直到 AP 连接成功 // while (!(is_connected (g_ulStatus)))||!(is_ip_acquired (g_ulStatus))) { UART_PRINT ("正在等待连接到 AP ...\n\r"); UtilsDelay (20000000);//测试延迟、但最好使用更低功耗的延迟。 } // //在器件连接到 AP 时禁用 LED 闪烁计时器 // LedTimerDeinitStop();

    请注意,对于此逻辑的实际应用实现,您应该检查 Network_if_*帮助程序模块中的代码,以便只添加一次配置文件(而不是像本单元测试示例中那样,每次重新添加配置文件时删除所有配置文件)。  

    ~Roger

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

    我没有注释掉 Network_if_ConnectAP。 默认情况下、所有内容都保持不变。我刚才将 WLAN 配置文件更改为 AUTO_CONNECT 和 FAST_CONNECT、如 kobi 所述。

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

    好的、请尝试注释掉这些行并添加检查循环、如我的小代码段示例中所示。

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

    感谢您的回复。

    我检查了它、现在它工作了。

    此致、
    Shashank