====== Webアプリ ======
[[Desktop Station Software|TOPに戻る]]
Desktop Station ソフトウェアに搭載されているWebアプリサーバーの機能の使用方法についてご紹介します。\\
Desktop StationのWebアプリサーバーは強力なWebアプリによって、ブラウザが搭載されたスマートフォンやタブレットにアプリのインストールなしに鉄道模型のコントロール機能を提供できます。HTML5対応のブラウザとLANに繋がる端末であれば、PCでもテレビでもゲーム機でもなんでも構いません。
===== 解説サイト =====
ユーザーの方が解説記事を公開されています。
* [[http://ameneko.net/aso-bit/2016/160127/160127.html|無線でDesktopStationを使う - あそびっと]]
* [[http://1st.geocities.jp/dcc_digital/dsmainr5web.html | Desktop StationのWebサーバーを作る - DCC館]]
===== 接続図 =====
wifiルータとパソコンだけ用意すれば、ネットに繋がなくてもスマホやタブレットをwifiルータに接続して、ブラウザを立ち上げてパソコンで起動したDesktop Stationの右下にあるURLを入力すれば操作できるようになります。
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DesktopStationWebApp.png}}
仕組みの解説:\\
Desktop Station Softwareに、Webサーバー機能を搭載しています。このサーバーには、JavaScriptとjQuery、HTML5を使ったブラウザ上で動作するWebアプリケーションを、接続してきた端末に送信する機能を持っています。端末はHTML5をサポートしたブラウザを搭載し、wifi機能を持っていれば接続できます。つまり、最近のスマートフォンやタブレットであれば接続できます。
パソコンの他にwifiルーターを置くのがもっとも良いですが、パソコンのwifi機能をルーターにする設定変更によっては、wifiルーター無しでも実現が可能です。
===== 対応機器 =====
Desktop Stationで制御可能な機器全般。\\
DCC/MM2シールド、MS2接続キット、DSmainR1,R2,R4,R5
対応ブラウザは、HTML5に対応した最近のものであれば動作するはずです。
Chrome, Safari, IEなど。
===== 必要なもの =====
* Windows Vista以降が入ったPC(管理者権限でログインできること、もしくは実行許可を出せること)
* Wifiルーター(無くてもできる方法はあるが、ソフトのセットアップが煩雑です)
* 接続したいスマートフォン、タブレットなど。
* Desktop Station Softwareに対応したコマンドステーション(DSmainシリーズ、DCC/MM2シールド、Railuino、MS2接続キット等)
==== 設定手順 ====
- パソコンをwifiルーターに接続できるようにする(インターネットへの接続は不要、もちろん接続していても良い)
- Desktop Station Softwareをダウンロードする(0.94d以降)
- ファイヤーウォールの設定をする
- 管理者権限で実行する
- シリアル設定を行う
- Desktop Station softwareの右下に書かれたURL(httpで始まるアドレス)をクリックしてブラウザを立ち上げ、ブラウザでPOWER ONできるか確認する。
- スマートフォンやタブレットをPCが接続されているwifiルーターに接続する。
- Desktop Station softwareの右下に書かれたURLをスマートフォンやタブレットのブラウザ画面で入力して、メーター画面が出ることを確認する。
- POWER ONして画面操作できるか確認する。
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/IMG_9258-thumbnail2.JPG}}
[[https://www.youtube.com/watch?v=1eaU4OVkerg|操作例ビデオ]]
==== ファイヤーウォールの設定 ====
- Windows xpかVistaか7か8以降は、サーバーを立てる際にファイヤーウォールを許可しないと外部の端末から見えないそうなので、以下の設定を必ずしてください。Desktop Stationソフトが入ったパソコンのブラウザでは見えるのに、iPadから見えないというのは確実にファイヤーウォールで止められてます。
- まずファイヤーウォールの設定画面を開きます。コントロールパネルからファイヤーウォールの設定画面を出してください。\\ {{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSWifi_1-thumbnail2.png}}\\
- プログラムを登録するために「別のプログラムを許可」を押します。\\ {{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSWifi_2-thumbnail2.png}}\\
- 参照ボタンを押します。\\ {{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSWifi_3-thumbnail2.png}}\\
- DesktopStation.exeを選択します。\\ {{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSWifi_4-thumbnail2.png}}\\
- 追加します。\\ {{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSWifi_5-thumbnail2.png}}\\
- OKを押します。\\ {{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSWifi_6-thumbnail2.png}}\\
- ファイヤーウォールの設定は完了です。
==== mDNSの設定 ====
DNSサフィックスがうまくいかない方は、mDNSの設定を行うことで、ホスト名.localでアクセスできるようになります。
Windows10を利用の方は、以下のサイトでUDP 5353ポートを開く設定をすることで使用できるようになります。
[[http://moguno.hatenablog.jp/entry/2015/09/12/100231|Bonjour for Windows不要!Windows10マシンに".local"でアクセスしよう!]]
Windows8やWindows7をお使いの方は、iTunesと一緒に入るBonjourソフトウェアをそのまま利用するほうが簡単です。
Bonjourソフトウェアがインストールされている場合、特に設定は不要です。**コンピュータ名.local:1192**でアクセスできるようになります(上記のファイヤーウォールの設定は必要です)
==== DNSサフィックスの設定 ====
Windowsでは、ネットワークの設定でDNSサフィックスという設定をしていないと、DNSサーバー(ブラウザのURLバーに入力するアドレスの文章をIPアドレスの数値に変換してくれるサーバー)に登録がされません。
ここでは、WindowsPCでDNSサフィックスを登録する作業を紹介します。DNSサフィックスには「local」という名前を付けることにします。適宜、各自で変更しても良いようですが、ラズベリーパイでもlocalとなってますので、共通化する意味では一番わかり易いと思いますので、当方としては「local」をDNSサフィックスに設定することを推奨します。
まず、以下のネットワークアダプタの一覧画面まで表示させます。コントロールパネルのネットワークから進んでいくとあります。ここでは、内蔵wifiアダプタを使用しているので、そちらを選びました。環境によっては複数あると思いますので、メインで使っているアダプタを選択してください。
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/HOSTNAME_1-thumbnail2.png}}
次は、プロパティを選択します。
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/HOSTNAME_2-thumbnail2.png}}
次に、プロファイルの一覧が出てきますので、ここではIPv4のプロパティを開きます。なお、IPv6ネットワークにしている場合は、当方はよくわかりませんので、頑張って自分で調べてください。
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/HOSTNAME_3-thumbnail2.png}}
プロパティを開いたら、詳細設定を押します。
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/HOSTNAME_4-thumbnail2.png}}
DNSのタブを選択し、下の方にある「DNSサフィックス」に「local」と打ち込んで、「この接続のアドレスをDNSに登録する」にチェックが入っていることを確認してOKを押します。DNSサフィックスに複数を設定する必要がある場合は、各自でがんばってください。
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/HOSTNAME_5-thumbnail2.png}}
OKを順に押して、開いた全てのウィンドウを閉じます。念のため再起動します。再起動が終わったら、準備完了です。
Desktop Stationを、管理者権限で起動し(ファイヤーウォールの設定は既に完了しているとします)、同じネットワークにつながっているスマートフォンやタブレットのブラウザから以下のアドレスを入力して表示されるか確認します。
http://ホスト名.local:1192/
私のおさがりのノートPCは、「yaasanPC」というコンピュータ名なので、以下のように打ち込みました。
http://yaasanpc.local:1192/\\ (大文字を使っていても、アドレスは全部小文字になります)
iPadで表示した例:\\
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/HOSTNAME_6-thumbnail2.png}}
==== 管理者権限での実行 ====
サーバーとして実行する場合、管理者権限が必須です。以下のように毎回、管理者権限で実行するか、面倒な場合はプロパティで常に管理者権限で実行するように設定しましょう。
管理者権限で毎回実行の場合:\\
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSWifi_7-thumbnail2.png}}
常に管理者権限で実行するように登録する場合:\\
{{::dss_adminconfig.png?300|}}
==== 動作の仕組み ====
Desktop Station Softwareに、Webサーバー機能を実装し、タブレット等のブラウザで動作するWebアプリ(htmlとjavascriptで実装)をWebサーバーからダウンロードして実行できるようにしています。ダウンロードして実行する仕組みのため、タブレットやスマーフォンにアプリをインストールする必要がなく、すぐに動かせるのが特徴になっています。
==== FAQ ====
* 同時に複数人で動かせますか?\\ 動かせます。おおよそ5人位が目安ですが、特に制限はかけておりません。
* Wifiルーターなしでできませんか?\\ スマイラーさんがwifiルーターなしでパソコンのWifi機能を親機にするためのソフトを解説しています。[[http://d.hatena.ne.jp/har_amc/20160110/1452401190 | Desktop Station 「Webアプリサーバー」を試す。その2<DSワイヤレスオペレーション>]]
* DSmainR5もワイヤレス化したい。\\ Bluetoothアダプタを計画中です。改造すれば、ご自分で内蔵させることは可能です。
* ほかの端末から、IPアドレスを指定しているのに表示しない\\ ファイヤーウォールの設定を忘れていませんか?また管理者権限で実行してください。
===== Review =====
* [[http://smile-dcc.hatenablog.com/entry/20160109/1452366535|Desktop Station 「Webアプリサーバー」を試す。その1<無線LANルーター編>]]
* [[http://smile-dcc.hatenablog.com/entry/20160110/1452401190|Desktop Station 「Webアプリサーバー」を試す。その2<Connectify Hotspot 2016編>]]