簡體   English   中英

在 .connect() 函數中使用 ESP8266 和 arduino 時的延遲

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM