■目標:

ラズパイ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について・・・

出典;

(出典元さま、勝手ながら参考にさせていただきます。ありがとうございます!)

以上