Himadawa Cover ELパネル 制御

Ubuntu

https://himadawa.doorblog.jp/archives/10160498.html
あっさりと作られるのは、凄い事です。それを楽しまれているのも素晴らしい事です。

Himadawaさんが制作されたカバーとELパネルを Ubuntu から “On, Off” するGUIを試作します。

シリアルとリレー制御は、機器制御の基本です。
また、GNU/Linux では、コマンドとそれを組み合わせたスクリプトで過ごしてきた自分ですが、これは『人に優しくない』ので、GUIを習作をします。

python周り

SirilもPythonスクリプトを多様しています。
自分もPythonコードを少しは分かるようになりたいので、Pythonを使います。

GUIを扱う”Tkinter”
シリアルを扱う”pyserial”を用意します。

https://packaging.python.org/ja/latest/tutorials/installing-packages
ここを参照し、仮想環境も作ります。

$ python3 -m pip --version #バージョン確認
$ python3 -m venv tutorial_env #試作ディレクトリを作成
$ cd tutorial_env
$ source tutorial_env/bin/activate #試作ディレクトリを活性化
$ python3 -m pip install tkinter
$ python3 -m pip install pyserial

仕様

  • /dev/ を一覧表示
  • /dev/リストからデバイス、ボーレートを選べる
  • log表示
  • log表示をクリア
  • カバー、ELパネル、On,Offスイッチ
  • カバーの状態を「緑」「橙」で表す。スイッチの背景色
  • ELパネルの状態を「緑」「橙」で表す。スイッチの背景色

リレー動作確認

コマンドを送って、USBリレーモジュールの動作確認を行います。

  • USBモジュールを差し込み、/dev/ttyUSB0 もしくは /dev/ttyACM0 などを確認します。
  • $ sudo stty -F /dev/ttyUSB0 9600 ← ボーレートの設定
  • $ sudo echo -n “1” > /dev/ttyUSB0 ← グループにユーザー追加せずに、sudoを用いる。
  • $ sudo echo -n “0” > /dev/ttyUSB0 ← 改行が不要な場合は、-nオプション。

Python コード

次のサイトを参照して作ります。

tkinterで簡易シリアル通信アプリ - Qiita
つくったもの Aruduinoと通信してる様子(Arduinoは送信データをそっくりそのまま返すだけ) シリアルポートの接続切断 ボーレート、デリミタ設定 文字列の送受信 という機能だけのシンプルなアプリです。 準備 pythonで簡単にG...
How to program GUI for serial Port
I have a microchip and want to communicate via a GUI with it.I have Ubuntu.First step would be just having buttons that ...
How to make UART Serial Console using Pyserial, Tkinter in python – EXASUB

試作

試作中

コメント