SSブログ

DSmainR5 WifiOptionを試す その2 [DSmainR5]

 いちおう動きますがいろいろと条件付きです。
 いくつか不満点/不具合があります。
(1)STAモードでmDNSが使えない(10秒に一回ぐらいの割で再起動がかかる)ため、愛称によるアクセスができなく、192.168.2.100のように直接アドレスを打ってアクセスしなければいけないが、DHCPで値が変わることがあり不便。というかPCから今IPが何かを確認しなければ使えない。
→ライブラリのバグを誰かがとってくれないと使い物にならない。
 一応、AccessPointをUIでブラウザから設定するツールはライブラリで出ており、IoTラボ様で紹介されている。(試してない)。
(2)APモード(アクセスポイントになるモード)になれば、ある意味愛称(SSIDとパスワード)だけでアクセスできる。こちらの実験をしてみたが、APモード時のサーバーはSTAモード時のサーバーに比べ不安定で、大きなファイルを送ろうとすると、すぐにだんまりして使えない。(わたしのソフトが悪いかもだが)
(3)STAモードでつなげると、ファイル転送自体はちゃんと行えるが、前回書いたように全部で500KbほどDesktopStationWeb用のファイルを落としてこなければいけないが、30~50秒かかる。また、この間の電車の制御はできなくなる。(ファイル転送にすべての力をつぎ込んでいるため)
→これについては、.gzでHTML、JS、CSSファイルを圧縮して送るのに変更したのと、ボード設定のFlash Frequencyを40MHz→80MHzにして、CPU Frequency を 80MH→160MHzにしたら、数秒程度にまで速くなった。PNGファイルはパスとファイル名が長すぎるようで、ファイルが見つからないといわれる。このダウンロード中に電車の制御ができないのは変わらないが。

 一応、現状のファイルはこちらです。SSIDとPasswordは自分の環境に合わせないと動きません。子供と二人で動かした感じでは、ときどき、パケットが詰まるようで、ESP-WROOM-02がだんまりしたり、再起動したりします。
 Webから受けた命令はスルーでシリアルに流します。この時、Web側にDSmainR5の現状パラメータを返すようなのですが、そこは作っていません。
 回路図は以下です。
sch_dsmainR5_wifi.PNG
 ESP8266のライブラリはGitHubのところにあります。
 それ以外の参考ページは以下です。
ESP-WROOM-02開発ボードのページ
電子工作と介護と生活と・・・
 環境は、StableVersionの2.0.0を使用しています。
 FFS(FlashFileSystem)についてだが、参考ページは以下です。
Flash File System(FFS)について
ESP-WROOM-02 リファレンス
FFSシステムのアップロードの説明

https://github.com/esp8266/Arduino
からのStable Ver2.0.0のリンクのFileSystemのリンク
http://esp8266.github.io/Arduino/versions/2.0.0/doc/filesystem.html
で、
https://github.com/esp8266/arduino-esp8266fs-plugin/releases/download/0.1.3/ESP8266FS-0.1.3.zip
を使うと、Stable VerでもFFSのUpLoadができました。

HTTPの通信を確認するために
HTTPの仕組み
・サンプルの美しいところ。
WIFI-TNGとESP-WROOM-02で始めるWIFI Arduino
・gz圧縮の説明でわかりやすいところ
ウェブサイトをgzip圧縮で高速化する

ソフトの使い方ですが、まず、環境を整えます。
(1)ESP8266のライブラリとFFSでESP8266内にファイルを送れるよう設定します。
(2)スケッチのSSIDとPasswordを自分のAP(アクセスポイント)の設定に合わせます。(私はなぜか家のWifiルーターにはつなげられず、独立したネットワークをモバイルルーター(ELECOM WRH-300WH2)で作ってそこで実験しました)
(3)ESP8266の設定は下記のようにしました。ただし、その後スピードアップのため、Flash Frequencyを40MHz→80MHzにして、CPU Frequency を 80MH→160MHzにしています。COMは各自の設定で変わるかと思います。
設定.png
(4)ツール→ESP8266 Sketch Data Uploadを使って、スケッチフォルダのDataフォルダ内のDesktopStationのHTMLをESP8266内に格納します。これはDesktopStationのBin->WebAppフォルダの構造そのままで、そのうちHTML,CSS,JSは転送速度を上げるためgzip圧縮したものです。
(5)普通にスケッチをコンパイルしてESP8266にプログラムを入れます。
(6)APにつながったかどうかはESP8266のLEDかシリアルモニタで確認できます。
LEDの見方ですが、リセット直後は消灯しています。APにつながると点灯します。
(7)シリアルの通信から接続IPを確認してください。数回やると、大体どんな値になるかは見当がつくかと思います。
(7)ブラウザから接続IPに繋いでください。10秒~30秒ほどでDesktopStationのWebAppの画面になるかと思います。
(8)HTMLなどのダウンロード命令が来ると、ファイル転送を始めます。この間はLEDは消灯します。終わったら点灯します。この間はスピード切り替えなどの命令は一切受け付けませんので、事故に注意してください。
(9)スピード切り替えやファンクションなど来ると30msだけLEDは消灯します。消灯しないときはすでにESP8266がフリーズしています。
 ファンクションや速度指令を連打したり、複数ブラウザから連打すると、LEDが付きっぱなしになってフリーズしたり、暗く点灯して(多分よくわからないPWMがついている)だんまりしたり、数秒間ネットから消えて再起動したりします。だんまりした場合はリセットボタンを押すか、電源線をOnOffするかが必要です。
 個人ベースで優しい心で使うのであれば、まあ、それなりに使えるかなあとは思います。(複数台接続でボタン連打と、ページの再読み込みをすると、レスポンス、再起動、だんまりなど悲しいことが起きるので)。環境のインストールはそれなりにややこしいと思います。(Verによって書いてあることが違うので、参考にしているWebページの記述が現在も必ず正しいわけでもないため)

 まだやるなら、
・現在のスケッチのloopにすべて書いている構造をやめて、CallBackに変更して美しくする。
・AP選択を付ける。
・DesktopStationと同じように現状値をWebAppに返してあげる。
 ぐらいでしょうか?

コメント(0)  トラックバック(0) 

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。