ラズベリーパイと温度変化の監視を目的としたセンサーを使ったIoT実験を行っています。各ラズベリーパイは複数のセンサーに接続されています。私の目標は、毎秒センサーを1つ読み取ってバッファー(実バッファーまたはcsvファイル)に保管し、データをブローカーに公開することです。プログラムは現在キュー内のすべてのことをやっています。いくらかの遅れが出てくる。私はテストして、それは遅れが読書プロセスから来ることが判明。読み込み遅延を減らす方法はありますか?マルチスレッドでこの問題を解決できますか?もしそうなら、私は3スレッドを作成すると思います。センサスレッドはデータを読み出し、バッファに格納します。 Communicatorスレッドはブローカに接続し、バッファ内のデータを読み取り、ブローカに送信します。メインスレッドはセンサースレッドとコミュニケータスレッドを管理します。このようにプログラムをリファクタリングすると、各センサーごとに1つのセンサースレッドを作成するのか、すべてのセンサーに対して1つのセンサースレッドを作成するのですか?センサー付きラズベリーパイのマルチスレッドプログラムのリファクタリング
ご意見をいただければ幸いです。
Piは1ダースのセンサーを持っていても、1秒に1回、すべてのセンサーの読み取りを何ら問題なく処理できなければなりません。スレッドを使用すると、問題を過剰に設計するように聞こえます。最初に、センサーからの読み取りまたはデータの書き込みから遅延が発生しているかどうかを確認してから、問題を最初に解決してください。 – JvO
遅延の発生場所を確認するにはどうすればよいですか?現在、すべてのセンサーが1つのブレッドボード上にありますが、遅延を引き起こす可能性もありますか? – Tian