乐鑫技术交流
直播中

孙成红

8年用户 1451经验值
私信 关注
[问答]

ESP-Touch极难连接,容易超时怎么解决?

ESP-touch默认APP超时只有46秒(这个可以自行修改),在ESP8266上30秒左右就会超时,但是平均大概要40秒左右才能锁定频道,然后经常在数据尚未接受完成就超时。希望能在调用smartconfig_start是可以指定超时时间。同时加入状态变化的callback就不必轮询get_smartconfig_status了

回帖(1)

cherry1989

2024-7-19 17:18:16
以下是一些建议,可以帮助您解决这些问题:

1. **增加超时时间**:
   您可以通过修改ESP-Touch的源代码来增加超时时间。在`smartconfig_start`函数中,您可以设置一个更长的超时时间。例如:

   ```c
   smartconfig_start(10000); // 设置超时时间为10秒
   ```

2. **优化信号强度**:
   确保您的ESP8266设备和手机之间的信号强度足够强。您可以尝试将设备靠近路由器,或者使用Wi-Fi信号放大器来增强信号。

3. **减少干扰**:
   确保在连接过程中,周围没有其他设备产生干扰。例如,关闭其他Wi-Fi设备或将设备远离其他电子设备。

4. **使用状态变化的回调函数**:
   您可以在调用`smartconfig_start`时,使用一个回调函数来获取状态变化。这样,您就不需要轮询`get_smartconfig_status`。以下是一个示例:

   ```c
   void smartconfig_done(sc_status status, void *pdata) {
       if (status == SC_STATUS_LINK) {
           uint8_t *bssid = (uint8_t *)pdata;
           printf("SSID: %s, BSSID: " MACSTR "n", smartconfig_get_ssid(), MAC2STR(bssid));
       } else if (status == SC_STATUS_LINK_OVER) {
           printf("Link Overn");
       } else {
           printf("Smartconfig Failedn");
       }
   }

   smartconfig_start(smartconfig_done);
   ```

5. **检查固件版本**:
   确保您的ESP8266设备使用的是最新的固件版本。有时,固件中的bug可能会导致连接问题。您可以从ESP8266的官方网站下载最新的固件,并按照说明进行升级。

6. **检查代码逻辑**:
   确保您的代码逻辑正确,特别是在处理Wi-Fi连接和ESP-Touch配网的过程中。检查是否有任何可能导致超时或连接失败的错误。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分