浜松ホトニクスc12880maをPythonで使う (5)

タイトル変えた...

PC側Python、Raspberry Pi Pico側がMicro PythonでC12880MAを動かす。PC側はデータ処理でスペクトルの表示。Pico側はC12880MAの制御とPC側へのデータ送信。あと、シャッターの制御などもPicoの仕事。

スペクトルメータだけでなく、もっと様々な外部機器に対応できるように汎用性を持たせてみる。クラスにはport_statusとperipheral_messageを持ち、それぞれのセンサーや機器の接続先のシリアルポートの状態、機器の状態を人にも理解しやすいようにした。peripheral_messageの内容はport_statusリストの最後にも同様な内容を持たせてある。スペクトルメータなども複数接続対応可能に出来るのである。たぶん。

現状考えているシステムでは新しいデバイスとそれが収集するデータに関してはセンサーに付随するRaspberry Pi PicoのMicroPython側とデータベースの設定のみの変更で対応可能としたい。できるのか... 分光計は難しいけどね。温度、湿度、気圧、電圧などの単純なものなら可能であろう。おそらく。

その前に、Linux以外のOSでの接続確認を行わなければならないのであるがな...

実行結果

ちょっと、コードを大きく変えた、名前とかも… MicroPythonが動いているが、対象外のPicoの場合、つまり、’Identify'に返事しないPicoが繋がっていると返事を待ち続ける問題があったので、timeoutを3秒に設定した(45行目)。timeoutした場合、エコーバックしてくるようなので、その様な場合、Unkonw device...とCannot connet...のメッセージを返すように変更した(54行目〜)。全体的にもう少し、スッキリさせたい...

<追記>

Linux以外での動作確認だが、VirtulBoxにWindows10を入れていたのだが、シリアルポートを認識させることに難儀している。設定の操作ができない。やはり実機を用意しなければダメそうである。レーザー加工機などの制御用PCはネットワーク接続していないので、Pythonの導入が面倒なのだ。

<追記-2>

Windowsでの動作確認は未だできず。

macOSでは動作を確認できた。ただし、部品のレイアウトがおかしくなる。
一応、シリアル通信周りのマルチプラットフォーム化はできた模様。

次はexe化か、レイアウトの崩れもなんとかしないとな...

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA