パソコンで鉄道模型を制御するための基礎検討(12)
制御盤操作GUIソフトウエア
パソコン上にNゲージレイアウトの制御盤を表示し、マウスまたはキーボードで操作する以下のソフトを試作しました。
ダウンロード(右クリック-->名前を付けてリンク先を保存)して使ってください。
なおこれらのソフトや関連ファイルは同一フォルダに入れ、PowerShellまたはコマンドウインドウでpython プログラム名 で起動します。
上記プログラムを起動するには上記プログラム以外にこれまで紹介してきた環境設定、ハードウェア/ソフトウェアと以下の手順が必要です。
【環境設定&ハード、ソフト】
ダウンロード(右クリック-->名前を付けてリンク先を保存)して使ってください。
なおこれらのソフトや関連ファイルは同一フォルダに入れ、PowerShellまたはコマンドウインドウでpython プログラム名 で起動します。
上記プログラムを起動するには上記プログラム以外にこれまで紹介してきた環境設定、ハードウェア/ソフトウェアと以下の手順が必要です。
【環境設定&ハード、ソフト】
【Bluetooth接続でbt_ikcp.pyをテスト中】
【使用手順】
1.PIC基板をループネットワークでパソコンと接続する。
2.PIC基板の接続状態をBLE_GetConnection.pyまたはUSB_Serial_GetConnection.pyで自動抽出する。
3.自動抽出した接続情報control_panel_数字.txtを制御基板エディタで開き、好みの制御盤に編集します。
4.PowerShellウインドウまたはコマンドウインドウ内でpython bt_ikcp.py または python us_ikcp.pyのキー入力により起動作します。
バッチファイルを作成すればコマンドウインドウ立ち上げやキー入力無しでマウスクリックにより起動することもできます。(後述)
なお、起動するとき上記の2.、3.で生成した制御盤データファイル(制御盤デザインとネットワーク接続の情報)が必要です。
起動時に制御盤データのファイル指定を省略するとcontrol_panel_数字.txtのファイルを探して 数字が1~100の範囲内で一番大きいものが読み込まれます。
ファイル名を引数として指定する場合はファイルタイプを*.txtとします。
1.PIC基板をループネットワークでパソコンと接続する。
2.PIC基板の接続状態をBLE_GetConnection.pyまたはUSB_Serial_GetConnection.pyで自動抽出する。
3.自動抽出した接続情報control_panel_数字.txtを制御基板エディタで開き、好みの制御盤に編集します。
4.PowerShellウインドウまたはコマンドウインドウ内でpython bt_ikcp.py または python us_ikcp.pyのキー入力により起動作します。
バッチファイルを作成すればコマンドウインドウ立ち上げやキー入力無しでマウスクリックにより起動することもできます。(後述)
なお、起動するとき上記の2.、3.で生成した制御盤データファイル(制御盤デザインとネットワーク接続の情報)が必要です。
起動時に制御盤データのファイル指定を省略するとcontrol_panel_数字.txtのファイルを探して 数字が1~100の範囲内で一番大きいものが読み込まれます。
ファイル名を引数として指定する場合はファイルタイプを*.txtとします。
【操作方法(help表示)】
hキーでコマンドウインドウ側に以下のヘルプ文が表示されます。
# ID番号の表示/非表示はnキーで切り替わる。
# 信号機の点灯色を変えたい場合は光らせたいランプの上にマウスポインタを持ってきてクリックする。
#
# 3角形アイコンのポイントまたはスイッチの接続方向を切り替えるにはマウスポインタを3角形アイコン上に持ってきてクリックする。
#
# コントローラーのドライブ数値(列車の駆動力)を変えるにはマウスポインタをコントローラーの上に持ってきて
# マウスのホイールを回すか、左ボタン(増速)または右ボタン(減速)をクリックする。
#
# コントローラーのAcc(加速度)、Offset(0近辺の不感帯のスキップ)、WobT(駆動力Wobblingの時間幅)、
# WobS(駆動力Wobblingの強さ)を変更するにはそれぞれその上にマウスポインタを持ってきてマウスボタンまたはホイールで変更する。
#
# 列車の走行方向を変えるにはコントローラーの三角印の上にマウスポインタを持ってきてクリックする。
#
# n または Nキーを押すとポイント、信号機、センサー、コントローラーのID番号(シリアルネットワークの接続順)の表示をON/OFFできる。
#
# Hまたはhキーでコマンドウインドウ側にこのHelpを表示する。
hキーでコマンドウインドウ側に以下のヘルプ文が表示されます。
# ID番号の表示/非表示はnキーで切り替わる。
# 信号機の点灯色を変えたい場合は光らせたいランプの上にマウスポインタを持ってきてクリックする。
#
# 3角形アイコンのポイントまたはスイッチの接続方向を切り替えるにはマウスポインタを3角形アイコン上に持ってきてクリックする。
#
# コントローラーのドライブ数値(列車の駆動力)を変えるにはマウスポインタをコントローラーの上に持ってきて
# マウスのホイールを回すか、左ボタン(増速)または右ボタン(減速)をクリックする。
#
# コントローラーのAcc(加速度)、Offset(0近辺の不感帯のスキップ)、WobT(駆動力Wobblingの時間幅)、
# WobS(駆動力Wobblingの強さ)を変更するにはそれぞれその上にマウスポインタを持ってきてマウスボタンまたはホイールで変更する。
#
# 列車の走行方向を変えるにはコントローラーの三角印の上にマウスポインタを持ってきてクリックする。
#
# n または Nキーを押すとポイント、信号機、センサー、コントローラーのID番号(シリアルネットワークの接続順)の表示をON/OFFできる。
#
# Hまたはhキーでコマンドウインドウ側にこのHelpを表示する。
マウスによるpythonプログラム起動
バッチファイルを作成すればそのファイルをダブルクリックするだけでプログラムを起動できます。
パワーシェルやコマンドウインドウを立ち上げてプログラム名や引数を毎回キー入力する必要が無くなります。
windows10またはwindows11ではバッチファイル名は*.batまたは*.cmdにしてその中にテキストエディタで起動コマンドを記入しておきます。
バッチファイル内の記述例: python bt_ikcp.py
ただしエラーが発生してプログラムが終了した場合、起動時に立ち上がったコマンドウインドウも同時に閉じてしまうため、エラーメッセージを確認出来ません。
その場合はバッチファイルを使わずコマンドウインドウ(コマンドプロンプト、パワーシェルウインドウ等)を立ち上げてコマンド入力で起動するとエラーメッセージを確認できます。
パワーシェルやコマンドウインドウを立ち上げてプログラム名や引数を毎回キー入力する必要が無くなります。
windows10またはwindows11ではバッチファイル名は*.batまたは*.cmdにしてその中にテキストエディタで起動コマンドを記入しておきます。
バッチファイル内の記述例: python bt_ikcp.py
ただしエラーが発生してプログラムが終了した場合、起動時に立ち上がったコマンドウインドウも同時に閉じてしまうため、エラーメッセージを確認出来ません。
その場合はバッチファイルを使わずコマンドウインドウ(コマンドプロンプト、パワーシェルウインドウ等)を立ち上げてコマンド入力で起動するとエラーメッセージを確認できます。
ハードウェア無しで起動できるikcp
制御盤操作GUIのデバッグのために、ソフトでダミーのハードウエアを実装したものを作りました。
ハードウエア接続無しでGUI操作を試せますが、信号機のタイマー動作は実装していません。。
デバッグ用途以外にあまり意味がないかもしれませんがおまけで作業フォルダごとzip圧縮したものを置きます。
dummy_hard_ikcp.zip
右クリックで 名前を付けてリンク先を保存 でダウンロードしたら展開してください。
展開してできたフォルダ内のdummy_hard.cmdをダブルクリックすると起動できると思います。
ハードウエア接続無しでGUI操作を試せますが、信号機のタイマー動作は実装していません。。
デバッグ用途以外にあまり意味がないかもしれませんがおまけで作業フォルダごとzip圧縮したものを置きます。
dummy_hard_ikcp.zip
右クリックで 名前を付けてリンク先を保存 でダウンロードしたら展開してください。
展開してできたフォルダ内のdummy_hard.cmdをダブルクリックすると起動できると思います。