我正在使用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秒的时间。
我如何尝试在不使用此代码的情况下连接到代理,或者是否有其他解决方案可以使我的程序不会冻结?
当我的程序仍在运行时,ESP可以在后台连接到代理吗?
发布于 2021-09-27 07:11:26
我发现问题:原因是Wifi超时我们可以设置超时Wifi,例如: WiFiClient wifiClient;wifiClient.setTimeout(100);它正在工作
https://stackoverflow.com/questions/64553495
复制相似问题