[英]delay in .connect() function while using ESP8266 with arduino
我使用 ESP8266-7 作為我項目中唯一的微控制器,但我遇到了一個小問題。 有時互聯網線路中斷,我的 ESP 嘗試重新連接到代理。 發生這種情況時,程序會凍結,直到 Internet 重新聯機並且 ESP 重新連接到代理。 (更具體地說,我的程序.connect(device_ID.c_str(), mqtt_user.c_str(), mqtt_pass.c_str())
在.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 可以在后台連接到代理嗎?
我發現問題:原因是Wifi超時我們可以設置超時Wifi,例如:WiFiClient wifiClient; wifiClient.setTimeout(100); 它在工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.