将ESP8266与arduino一起使用时.connect()函数中的延迟



我正在使用ESP8266-7作为我的项目中唯一的微控制器,我对它有一个小问题。有时互联网线路断了,我的ESP试图重新连接到代理。当这种情况发生时,程序会冻结,直到互联网恢复在线,ESP重新连接到经纪人。(更具体地说,我的程序每次在.connect(device_ID.c_str(), mqtt_user.c_str(), mqtt_pass.c_str())中等待15秒。(

我使用的是PubSubClient.h库,正如我测试的那样,当我调用mqtt_client.connect(device_ID.c_str(), mqtt_user.c_str(), mqtt_pass.c_str())时会出现这个问题。通过这种方式,程序运行此函数并等待处理完成。这可能需要长达15秒的时间。

在不使用此代码的情况下,我如何尝试连接到broker,或者是否有任何其他解决方案可以使我的程序不冻结?

当我的程序仍在运行时,ESP能否在后台连接到代理?

我发现问题:原因是Wifi超时我们可以设置超时Wifi,例如:WiFiClient WiFiClient;wifiClient.setTimeout(100(;正在工作

最新更新