出典元のみなさま、ありがとうございます。
目的:
複数のラズパイ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という手もあるが・・・
出典:クライアント側
出典:サーバ側
この方式は通信手順は簡単になりそうですが、データを蓄積した後の処理が増えるので、取り急ぎは採用せずとします。
■配線
記入中・・・後日追記