HOME >> 鉄道模型実験室 > 登山鉄道レイアウトとモニタ式操作盤 ESP32の限界
登山鉄道レイアウトの操作盤について、以前検討したモニタ方式の操作画面からWiFiを使った通信によって、操作できないか検討を始めた。 通信モジュールESP32を使ってのWiFi通信信を学習しているが、その限界を感じてしまった。
■ 通信モジュールESP32の学習メモ
今回も、おもしろく、たのしく、Arduinoと戯れると銘打った「おもろ家」のサイトの「ESP32入門編」の解説を参考にしながら、この無線通信モジュールの使い方を習得することにします。 そして、その学習メモとしてここに記録していくことにしました。 今回は、最後のLesson06 とLesson07 を学習する。
● Lesson06 【WiFi経由でのLED ON/OFF】その2 の学習メモ
先回のLesson05 では、クリックしたリンクに飛んだ後、「hasarg」というメンバ関数を使うことでパラメータ名を識別してLEDのON/OFFを行ったが、今回は、「method」のメンバ関数を使用するとのことです。 昔、Perl を使って簡単なCGIプログラムで遊んだ事がありましたが、今はすっかり忘れてしまいました。 GET や POST といった言葉もなんだか懐かしいのですが、内容はさっぱりです。
今回もサンプルコートをコピペしました。 必要な情報を書き換えて走らせると、問題なく機能しました。 先回とどこが違うのか、内容を見ていきましょう。
*********************************************
クライアントからデータを送信する方式として、GET方式とPOST形式があるようですですが、どちらが使い良いのか経験が無いので分かりません。
● Lesson07 【WiFi経由でのLED ON/OFF】その3 の学習メモ
いよいよ最終レッスンです。 うたい文句として “HTMLコードはHTMLファイルとして読み込む形としたい” とのことですので、ファイルとして扱うのだ! それならば画像もファイルとして扱っているので、画像ファイルを使ったページが記述できると、早合点して 期待していました。
.
まず最初にファイルが取扱い出来るようにするため、SPIFFS アップローダープラグインの設定が必要とのことでしたので、説明に従って、このプラグインをダウンロードして設定しました。
そして、同じ場所にdataファオルダを作成してアップロードしたいファイルを格納しますとの事でしたが、ここでも早とちりして、作成したtool というファルダの中に作ってしまいました。 変だなとは思いましたが作業を進めてトライしたもののダンマリであった。 もう一度、頭を冷やして読み直すと、間違いに気が付きました。
サンプルコードをコードをコピペして作動させましたが、その内容を見ていきましょう・
*********************************************
dataFile = SPIFFS.open("/sample7.txt", FILE_READ); //ファイルの読み込み while (dataFile.available()){ //受信データがある間繰り替えす html += (dataFile.readStringUntil('\n')); //\nが受信されるまでデータを受信し続けて結果を格納 } dataFile.close(); //ファイルを閉じる
.
自分が期待していた事は、「モニタ式の操作盤を作ろう ボタンの画像を作る」(2021/8/13)で実施したような操作画面なのです。 その画面を右に示します。 ボタンなどの画像が使えないとすると、全くの単純な操作画面となってしまって面白くありません。
*************************************************
画像が使える方法は無いかと探しましたが、自分の技量ではあきらめざるを得ませんでした。
■ まとめ
結論として、ESP32 の限界ではないかと考えるようになりました。 上記のレポートでは RaspberryPi を使い、アプリは、WebIOPi を使っています。 WiFi を使って通信していますので、スマホでもタブレットからでも制御出来ているのです。
これは、デバイス機器の機能レベルの問題であり、ESP32 に対してラズパイ並みの機能を求めるのが無理と考えるべきでしょう。 ESP32は通信専用のデバイスと考えます。
********************************************
ここで、あきらめないのが自分の取柄です。 ESP32からの画像提供が無理なら、クライアント自身で用意するとか、他のサーバーから借りてくる方法があるのではないかと考え付いたのです。
他のサーバーから画像を借りてくる方法は、レンタルサーバーを使っている自分の場合では容易に設定することが出来ます。 所定のフォルダに画像ファイルを収めておき、そこから画像を取り出せば良いはずです。
また、ESP32 を受信専用のサーバーとして立ち上げておき、他の方法で構成した画面から、Lesson06 の方法でデータを送ってくれば処理できるような気がします。
********************************************
さて、うまく行くかどうかは分かりませんが、今後、報告が無ければ失敗していると判断してください。
2022/10/27