HOME >> 鉄道模型工作室 >  モニタ式の操作盤を作ろう GUI ソフトに挫折

鉄道模型工作室  モニタ式の操作盤を作ろう GUI ソフトに挫折

 今まで実施してきた卓上レイアウトの制御について、Arduino を使った自動運転装置や、マスコン方式の運転操作台を工作して来た。 制御対象としている卓上レイアウトは、思いついたアイディアに従って簡単に組替えている。 しかし、自動運転システムの場合は、そのたびにプログラムを変更する必要があった。 そこで、変更したレイアウトに対応すべく、パソコンを使ってコントロール出来ないだろうかと、またまた欲が出てきた。 

 なお、この記事は、別室のブログで報告した内容を整理して再掲載しています。 ( 少し出口が見えて来たのです・・・・・・・・!)

 

■ モニタ式の操作盤の構想

 卓上レイアウト用の制御システムとして、下左の写真に示すように、Arduino を使った自動運転装置とマスコン方式の運転操作台を工作して来た。 今回は、下右の写真に示すように、操作盤をモニタに替えて実施出来ないが検討することにしよう。

 鉄道模型をパソコンから制御する方法は、商品としても販売されているし、多くの事例がネットでも紹介されている。 しかし、その多くはパソコンとの親和性がよいDCC使用が前提だったり、その道のプロが制作した専用部品を使用しているのが現在の主流です。  でもホビーで楽しんでいる懐の寂しい輩としては、今まで工作して来た機器を使って工夫出来ないか、と考えた。
 そうだ! パソコンと連動しているし、制御機器を制御できるGPIOを使用しているマイコン、即ち、ラズベリーパイが使えないだろうかと考えた。 そのシステム構成をスケッチで描いてみたのが、右上のスケッチ図である。

 

■ ラズパイへの再挑戦 その1

 ラズパイを使った事例は、「LED電子工作集 RaspberryPi に挑戦」(2017/3/6)などで経験ずみである(・・・・でも、もう忘れてしまっているかも?)ので、GPIOの制御は何とかなるとしても、問題なのはモニタの制御画面の作成方法なのである。  このためには、ラズパイでのGUIを使う必要があるので、ネットでそのレクチャサイトを探した。そして、「とある科学の忘備録」さんのサイトを参考に、挑戦してみることにした。

 昔のラズパイ・セットを持ち出して来て挑戦を始めました。

  .

 4年前に使用していたラズパイ・セットを作動させようとセットしたが、何故だか立ち上がって来ないのである。 配線をチェックするも間違いない。 何度かトライしたが早々に諦めて、OSを再インストールする事にした。 また、使用するGUIは、ネットの情報をもとにTkinter を使うことにする。 このTkinter はPython のGUIフレームワークのひとつで、Python をインストールして置けば使用できるとのことであった。 このため、OSなども最新バージョンをインストールした。

  .

 面倒な作業であったが、無事再インストールを実施し、サイト情報を参考にしてサンプルプログラムを書き込もうとしたが、”×” の文字が入力できなかったり、さらにはフォントがありませんなどのエラーにぶち当たり、ウロウロしているうちに、ラズパイがフリーズしてしまった。 最初の挑戦ははなから挫折である。

 頭を冷やして考えてみました。参考にしていたPython用Tkinter の説明サイトは、RaspberryPi を対象としているのでなく、一般のPCを対象にしている事に気が付きました。フォント指定方法がラズパイでは未対応なのかもしれませんし、指定したフォントのインストールなども実施する必要があったのでしょう。  でも、再起動出来なくなっていたので、ふりだしに戻りました。

 

■ ラズパイへの再挑戦 その2

 もう一度初期化してインストールをやり直しました。最新バージョンの「イメージ」形式を使ってインストールを実施する。imager_1.6.2.exe です。RaspberryPi OS (32-bit) Released 2021-05-07 が展開されました。 今回はGUIソフトとして、ネットの「Symamonenの技術ノート」を参考にしてPyQt5をインストールする事にしました。 インストールは無事に完了したので、説明に従って恐る恐る使い始めました。  PyQt5を使ったGUI開発は、pythonのIDEである eric を起動して使用するとのことです。  試しに、あちらこちらをいろいろ触ってみましたが、よく分からないのが本音です。 方向制御のボタンと速度制御のスライダをイメージしてプログラムを作って見ました。

  .

 トライして作成したプログラムを見ると、class と言う命令がでてきています。 さらに 見慣れない self@マークなども随所に出ているのです。 オブジェクト指向型の記述だ‥‥‥‥。
 この記述方法は、聴いた事がありますすが、内容はチンプンカンプンなのです。 いちから勉強が必要ですが、もう80才になろうとしている輩には、知力気力がありません‥‥‥‥。

 

  **********  休憩(半分は、あきらめムードです) *********

【余談 1】

 パソコンを使って運転操作を実施するアプリとして Traincontroller があるそうです。 その使用状態をYouTubeで見たのですが、簡単に、かつ、楽しく実施していました。 このアプリはDCCシステムと連携して作動させていますので、ポイントなどへの配線が不要と思われます。 運転会などで、線路を設置する作業と並行して、レイアウト図を設定すれば、即、運転操作が可能になると思われるので、世界の標準(?)になるのもうなずけます。
 一念発起してささやかな年金を貯め、DCCシステム一式を導入したらーーー?との誘惑が頭をよぎります。  ーー電子工作はやめるの?

 

【余談 2】

 今から17年前、ホームページ作成を勉強していた。 その時、Java script を使ってボタンを押した時の動作などの細工していたことがありました。 onmouse‥‥などの単語が懐かしく、ボタンの色を変えたりしたことを思い出しました。 トグルボタンの図を差し替えて、ポイントの定位や反位を示すことも可能と思われます。 このイメージが残っているので今回挑戦したのですが、様子が異なっているので戸惑っているのです。 いっそのことHTML形式で記述出来ないだろうか‥‥とも考え始めています。

 

■ もう一度教則本に戻ろう

 挫折を味わってから数日後、やはり諦めきれませんでした。 ラズパイに最初に取り組んだ教則本に戻って、再勉強することにしました。 注目した点はスマホやPCからボタン操作やPWM制御を使う方法です。 我がサイトの「LED電子工作集」の「RaspberryPi に挑戦」にて、4年前に実施していた内容を再勉強する事にしました。

 この方式は、HTML形式を使用してパソコンやタブレットのWEBブラウザに操作画面を表示させ、Javascript を使って処理した後、ラズパイにセットされた WebIOPi によるWebサーバーソフトを介してGPIOを制御しようとするものです。 PCとラズパイとの間はWi−Fiを使って通信するので、遠隔操作も可能です。

 何よりも、操作画面をHTML形式で記述するのが安心なのです。 

   *********************************************************************

 次回は、その検討状況を報告しましょう。

ページトップへ戻る .


 2021/8/8 作成