いくつかのセンサーを監視し、それらに基づいていくつかのライトをオン/オフするシステムを配置しています。
さらにデータを分析するために、そのデータを中央サーバーにも送信したいので、Wifi シールドを追加しました。ネットワークがない場合でも、システムは完全に機能する必要があることに注意してください。だから私がやったことは、 loop() でネットワークのステータスを監視し、ダウンした場合は再度接続することです。
ここでの問題は、 Wifi.begin() が接続されるかエラーがスローされるまで実行をブロックすることです。その間、システムは応答しなくなるため、これは受け入れられません。
私は Arduino でスレッドを使用することを検討しました。
このライブラリの主な潜在的な問題の 1 つは、現在のスレッドが loop() 関数を終了するまで次のスレッドを呼び出すことができないため、ハングした単一のスレッドがシステム全体をロックするという事実です。
それで、誰か指針、アイデア、または経験がありますか?
ありがとう、
ファン