HOME >> 鉄道模型実験室 > 登山鉄道レイアウトとモニタ式操作盤 操作画面を作る

鉄道模型実験室 No.224  登山鉄道レイアウトとモニタ式操作盤 操作画面を作るト     

 登山鉄道レイアウトの操作盤について、以前検討したモニタ方式の操作画面からWiFiを使った通信によって、操作できないか検討をしている。 ESP32 を受信専用のサーバとして立ち上げておき、クライアント側は新しく作った操作画面より操作情報を送るという方法で検討した。

 

  .

■ 操作画面を作る

 操作情報の送信方法が分かったので、新しく操作画面を作ることにした。 参考にしたのは、「モニタ式の操作盤を作ろう ボタンの画像を作る」(2021/8/13)です。 この時のコンテンツを利用して再構成しました。 ボタン類は新しく作りましたが、速度制御については表示方法がうまく行かなかったのでボタンだけの操作に簡略化しています。

 作成した画面を右に示します。 下側のメッセージボックスは返信されてきた情報を表示させます。 このクライアント側の画面を紹介します。

       操作画面 ⇒ esp32test-43.html

 ただし、送信先のIPアドレスは、<a href="http://192.xxx.xxx.x/?direction=left" target="message"> と記述し、その後に通信内容を記述しています。

 また、ESP32に書込んだWebサーバー用の記述は、

      サーバのスケッチ ⇒ ESP32_test43.html

   .

です。 記述はなるべく簡略化しており、返信用のメッセージもいちいちHTMLファイルを作るのではなく、コマンド内に直接書込んでいます。 ただし、日本語で記述すると文字コードの関係で文字化けしてしまいましたので、アルファベットで記述しました。

 7ビット世界と8ビット世界の違いは、こんなところでも影響しているのですね。

 操作は、まず、サーバ側を立ち上げておき、パソコン内のクライアント側の操作画面を作動させます。 最初は上の画面の様に、メッセージボックス内は何も表示されませんが、ボタンを操作すると左に示す画面の様に、転轍機の画像が変更されると共に、操作情報がボックス内に表示されます。 他の状態についても下に示す。

 

  

 速度関係の表示は、まだ工夫が足りませんが、最終段のArduinoMEGA にてアナログデータになるように処理し、給電制御用のモータドライバをPWM 制御しようと考えています。

  .

 

■ サーバ側の設定

 サーバについては、テスト用として右の写真のようにいろいろなLEDを追加接続しました。 使用したポートは、

  GPIO 12 はポイント1、GPIO 14 はポイント2、GPIO 25 は右方向、GPIO 26 は左方向、GPIO 32 は速度調整用の信号を想定して、5っのポートを設定しました。 それらの on と off の情報をもとに ArduinoMEGA で処理しようと考えています。

 まだ、 ArduinoMEGA の処理方法は考えていませんが、おおよそのもくろみは、レイアウトの操作盤に設置した使用していないポイント3用のスイッチは切り替えスイッチとして使用し、モニタ操作かスイッチ類を直接操作するのかを判断させます。 そして、両方の操作動作を同じようにしておくと、大きなプログラム変更無しに実施できるのではないかと考えています。 さて、上手くいくかな?

 ESP32のサーバの処理内容は、上に示したスケッチの内容に示しています。 進行方向指示は、中立位置のある3ポジションスイッチを模した処理にしていますが、右と左が同時にONとなる状態があるのですが・・・・・・・・・。 使用しているモータドライバTB6612によると、ショートブレーキ状態になるので、問題無いと考えています。

 

■ 操作テストの実施

 先回と同じように、デスクトップパソコンをクライアント側として設定してテストを実施しました。 細かい点を修正して問題なく操作出来るようになりました。 ここまで来ると欲が出てきました。 デスクトップパソコンからでなく、タブレットから操作できないかと・・・・・・・・・・・。

 画像を含めて自分自身で操作画面が構成出来ればしめたものです。 インターネットのウエブ閲覧が出来るタブレットではできるはずだと考え、必要なデータ一式をタブレットに設定する方法を探しました。 そして、OneDrive というアプリを見つけ、デスクトップパソコンから画面の表示に必要なファイル一式を取込ました。 下の写真。

 シメシメと思いつつ、本体である html ファイルをアプリで開くと、なんと下左の写真にしめすような画面となりました。 画像部分がすべて抜けています。

      なんで・・・・・・・・・・・・・・?

 すぐそばに画像データがあるのに! 通常のパソコンでは問題なく表示されるのに、このタブレットはパソコンではないの・・・・・・・・・! 

 そうのです。 このタブレットは、普通のパソコンでは無いのです。 Amazon ブランドのFire HD10 なのです。 OSはFireOS7Android9.0ベースとのこと。 OSなのかアプリなのか分かりませんが、htmlファイルは、そのままでは機能しないのです。 ガックリです!。

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

 そこで、レンタルサーバに設けている自分のホームページサイトの片隅に、このファイル一式をアップロードしてアクセスしてみました。 この時の画面が上右の写真ですが、画像等も問題なく表示されました。

    良く分かりません!

 自分の解釈として、このタブレットでは、ネットからの情報処理は実施できるものの、Windowsのようなフォルダ内のファイル処理は出来ない、即ち機能が不足していると考えることにしました。 間違っていいるかも知れませんがスマホでも機能限定と考えるべきですかね。

 そして、この状態で操作状況をテストしました。 その状況を下に示します。

 機能はすべて正常に作動していました。 問題はありませんでした。 その様子を動画でも紹介します。

■ どうするか?

 ESP32のWebサーバは、社内(家庭内)LANとして、192.xxx.xxx.xxx のローカルIPアドレスを使って構成しています。 このセグメント内で画像処理の出来るWEBサーバを立ち上げておき、必要なファイルを提供するようにすれば、タブレットやスマホからアクセスして、レイアウトの運転を操作できるのですが・・・・・・・・・・・。 

 さて、どうしようか? 画像ファイルも処理できるパソコンを使用するか、専用のWEBサーバを立ち上げるかの方法を考えてみると、

  1. ラズパイを使ってWEBサーバを立て、その中にファイルを保管する。
  2. パソコンを使用し、Python を使ってWEBサーバを立てる。 簡単に出来そうとのことらしい。
  3. タブレットを使わず、ノートパソコンから操作する。
  4. WindowsのOSが走るタブレットを使用する。 
  5. 自分は、レンタルサーバーを使っているので、上記の状態で使用する。

などが考えられます。 いちいちサーバを立ち上げる必要が無い3番から5番の方法の中で、4番目の方法が一番便利な方法ですが、その機器が手元にありません、 このため皆さんの参考にならないものの、5番の方法で実施することにします。

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

 今回も、意外と簡単に実施できたのでシメシメです。 そして、いよいよ Arduino との接続を考えて行くことにします。

 

ページトップへ戻る  .


 2022/11/1