■目標:
ラズパイ1台のGPIO接続可能数より多いセンサーからの情報を得る
■方法案1:親子方式
1:ラズパイPICOでセンサの値を得る
例:超音波センサによる距離値もしくはランク値を得る。
ー>別記事投稿済。
2:1でラズパイPICOが得た値をラズパイへ送る
ー>
3:ラズパイ1台に複数のラズパイPICOを接続し、ラズパイで値を集計する
出典:
(出典元さま、勝手ながら参考にさせていただきます。ありがとうございます!)
RP2040をI2Cスレーブ、ラズパイをI2Cマスターにして通信できるとな!!!
それをMicroPythonでできるか?(できたらESP32でもできるはず)
あるようです!
(出典元さま、勝手ながら参考にさせていただきます。ありがとうございます!)
ー>コード、配線など詳細勉強中!
MicroPythonでスレーブ側からデータを返す方法がまだ理解できない!
↓
参考記事を発見!ただしC言語。スレーブからの送信はCが必要か・・・?
(出典元さま、勝手ながら参考にさせていただきます。ありがとうございます!)
結局Wifiで通信するのが一番保守性がよさそう。
出典:
ESP32でソケット通信をしてみる(Micropython)
(出典元さま、勝手ながら参考にさせていただきます。ありがとうございます!)
クライアント=PC、ラズパイなどでpythonにて、サーバ=ESP32あるいはラズパイPICOWとしてMicroPythonにてコード化。
これは可用性、保守性ともにいけるかもしれない。
セグメント内のIPアドレス消費が問題になるかもしれないが、それはまたそのときに・・・
出典:
ESP32でなくてPICO-Wでも同様ですね。MicroPythonでSocket通信にて達成できそうです。
どうやらこれで行けそうです。
次は試してみることになりそうです。(手元にESP32があるし・・・)
■方法案2:手足増設方式
PLCのようにIOモデュールが分離しているイメージになる。
で、どんな方法???
ー>これはたぶん無いかも・・・
■関連しそうな情報(検討中)
複数のセンサーから得たデータにタイムスタンプを付すにはRTCが要るとな!
ということでI2C接続のRTCについて・・・
出典;
(出典元さま、勝手ながら参考にさせていただきます。ありがとうございます!)
以上