インタラクション2018で発表した 「(3A09★) タッチパネルを拡張する紙製インタフェースを搭載したインタラクティブパッケージの開発」 の鏡台アプリのソースです. サーバを起動することで,Webアプリが使用可能になります.
動作している動画は こちら
-
PC1台(サーバ)
-
スマートフォン1台(クライアント)
- 最新版のGoogle Chromeを入れておく
- Galaxy S6 edgeを推奨(その他の機種でのレイアウトは未考慮)
※ テスト環境
- Windows 10 (64bit)
- Node.js (v8.8.0)
- Yarn (v1.0.2)
- Galaxy S6 edge
-
PCとスマートフォンを同じWi-Fiに接続
- 注意点:つないでいるWi-Fiスポットのネットワークプロファイルがプライベートに設定されていることを確認して下さい。
- パブリックに設定されている場合、PC上で起動しているサーバにスマートフォンからアクセスできない可能性があります。
-
PCでの作業
- 基本的にコマンドプロンプト もしくは ターミナルから,コマンドを実行します.プロジェクトのルートに移動して作業します
- ソースを解凍する
- PCの ローカルIPアドレス を調べておく
- コマンドプロンプトやターミナルで、このREADME.mdがある階層まで移動します
cd
(Change Directory)コマンドを使用します- 階層が
C:/Users/Asahi/Desktop/mirrorSampleApp
であった場合 cd C:/Users/Asahi/Desktop
を実行- 画面に左に表示されている階層が
C:/Users/Asahi/Desktop
になっていることを確認します - 以後、この階層でコマンドを実行します
- 動作に必要なライブラリのインストール
yarn
- サーバを起動
yarn start
- 3000番のポートでサーバが起動する
videos
フォルダがルートにない場合、自動的にvideos
フォルダが作られます- このフォルダがないと動画のアップロードや閲覧が行えず、サーバでエラーが出ます
- 基本的にコマンドプロンプト もしくは ターミナルから,コマンドを実行します.プロジェクトのルートに移動して作業します
-
スマートフォンでの作業
- Chromeで先程調べたローカルIPアドレスを元にPCのサーバにアクセスする
- 例)
https://192.168.xx.xx:3000
- 例)
- 「この接続ではプライバシー保護がされません」などの警告が出る場合があるが,「詳細設定」を押して接続する
- カメラの使用を許可する
- Chromeで先程調べたローカルIPアドレスを元にPCのサーバにアクセスする
-
使用する
- 機能は動作している動画を参照
- 録画した場合,サーバPCの
videos/
フォルダに追加される
※ Wi-Fiによっては稀に,サーバが起動していてもスマートフォンからアクセスできない場合があります.その場合,他のWi-Fiを試して見ることをおすすめします.
-
コマンドプロンプトやターミナルで、このREADME.mdがある階層まで移動します(上記)
-
動作に必要なライブラリのインストール
yarn
-
ソースファイル(
src/
)をコンパイルyarn watch
-
ソースファイルを編集すると,自動的にコンパイルされます
- サーバ
src/server.js
->dist/server.js
- クライアント
src/*
->public/*
- サーバ
- HTML
- Pug
- CSS
- PostCSS
- JavaScript
- Riot.js
- Node.js
- Express
クライアントでの鏡と録画のためにWebRTC技術を使っています.
そのため,SSL通信が必要となり,適当に作った証明書(src/test.pfx
)を使ってサーバを起動しています.