出典元のみなさま、ありがとうございます。

 

目的:

複数のラズパイPICOからデータをPCへ記録する。

 

目的の処理:

 0:PCは待受をする

 1:対象物の状態をセンサでラズパイPICOが取得し、

 2:ラズパイPICO上のRTC時刻を付加した文字情報を生成し、

 3:ラズパイPICOから同一LAN上のPCへ情報を渡し、

 4:PCが受けた情報を加工し、

 5:ラズパイPICOに終了コードを送り、

 6:ラズパイPICOは終了コードを受けて通信をクローズし、

 7:PCはSQLiteに情報を積み上げ記録し、

 8:PCは待受に戻る

 

目標など:

 ・骨格を完成させる。

 ・信頼性が甘い点は現場に合わせて必要都度改善する。

 

使用デバイス、環境など:

 ・RaspberryPi-PICO_WH
 ・RTC:I2C/DS1307/電池CR2032

 ・ボタンスイッチなど

 ・DC5V電源

 ・WindowsPC(Win11)

 ・Thonny

 ・Python3.12

 

■ソケット通信を知る

出典:

↑サーバ側の参考になります。TCP、UDP、HTTPの例があります。

 差異をまだ理解できていませんが、とりあえずTCPで、と思っています。

 SQLite接続の付加とリターンコード設計をすればいけそうな気が・・・

 

■実例(過去引用あり)

出典:

↑クライアント側は大筋がそのままで使えそうです。

 サーバ側をPC+Python+SQLiteに置き換えれば骨格ができそうです。

 スイッチ入力のハード的なチャタリング防止は将来作業とします。

 

■ラズパイPICO−WのWifi接続設定

出典:

サンプルコード(出典から抜粋)
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("SSID","PASSWORD")
print(wlan.isconnected())

■FTPクライアント・サーバ方式の検討

SQLDBに格納せずにFTPという手もあるが・・・

 

出典:クライアント側

 

■配線

 

記入中・・・後日追記