プロジェクトで唯一のマイクロコントローラーとして 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 は、プログラムの実行中にバックグラウンドでブローカーに接続できますか?