基、転職ポートフォリオ用工作計画。
ハードウェア
材料
- Raspberyy Pi zero 2 w
- 10 inchディスプレイ
- 木材
- アクリル板 (40 inch 程度)
- マジックミラーシート (40 inch 程度)
木材でフレームを作成し、アクリル板にマジックミラーシートを張り付けて鏡にする。マジックミラーシートを張ったアクリル板の後ろから画面を表示することで鏡越しに投影することができる。マジックミラーシートも完全に反射するわけではないので、背面に黒い板(またはシート)を設置することで反射しやすくする。
壁に立てかけることを想定して木材はなるべく軽量なものを使用する予定。
組み立てイメージ
前から順に「木材フレーム(1)」、「木材フレーム(2)」、「アクリル板(マジックミラーー)」、「板(黒)」、「ディスプレイ」。Raspberry Piはディスプレイの背面に設置する。
※ディスプレイはテクスチャ作るの面倒だったためメッシュそのまま。ディスプレイの見た目はリンク先参照。
ソフトウェア
- OS: Ubuntu (検討: Windows IoT / CentOS)
- 画面制御: Python (Pyside or PyQt)
(Processing)
OSはUbuntu(または、Windows IoT)を使用する。OS起動時に画面制御のプログラムをフルスクリーンで自動起動する。
Processingはアニメーションが優秀だが、Javaの勉強が少し必要になるため時間がかかる。また、OS内にあるシェルの実行ができるかが不明なのとJavaのランタイムがLinux上で動くか不明(多分動く)。
OSがGUIの処理ができるかは事前に調べる必要がある。
Ubuntu Desktop
Rapsbery Pi (以降、RPと表記)上では動くようだが、RP zeroはメモリが貧弱(512 mb)なので動くか不明。OSは軽量と噂だが、 内部のシステムと自作ソフトが並列で動くかは怪しい。PC版はPythonがデフォルトで入っているので環境構築が楽だったが、RP版は入っているか不明。
Windows IoT
Windows IoTはタイムスタンプ機能のようなものがあるようで、再起動時に一定のところまで勝手に復元されてしまうことがあるらしい。正直よくわからんOS。単純に興味があるから使用検討。
CentOS
そもそもRP上で動くか不明。よく使うのでOSの設定変更は楽。C言語版Qtが動くのは知ってるがPython版は不明。
画面制御
以下を表示予定
- 時間
- 天気
- ネットニュース
時間の取得はハードウェアから取得し、天気の情報はOpenWhetherMapのAPIから取得する。ネットニュースの取得方法については要検討(APIがあることは知っている)。ディスプレイ自体はタッチに対応しているが、アクリル板を挟むため、タッチ機能は使用できない。ネットニュースの表示はQRコードを表示してスマホで読み取って表示できるようにする(鏡に張り付いてネットニュースを見る人などいない)。
内部処理
画面以外の処理で以下の処理が必要になる
- WiFiの設定
Windows IoTは画面がWindowsのままなのでわざわざソフトで変更する必要はないかもしれない。Ubuntuも画面上で設定変更可能。CentOSはGUIですらないので、ファイルの設定変更はソフトで行う必要がある。
ssh通信ができればこの辺は解決?
プロトタイプ開発
以下の確認が必要。
- マジックミラーシートがしっかり反射するか
- マジックミラーシートの裏から画面を投影できるだけディスプレイが明るいか
余談
組み立てイメージの動画は木材フレームを親に作ってもらうためにstlで渡そうと思っていたのだけど、stlテクスチャつかなくてぱっと見ようわからんかったので、遊び心でアニメーション付けたらたかが5秒の動画をレンダリングするのに5時間かかった。時短のためにサンプリング落としたり解像度下げたせいでテクスチャつけたけど木目見えねぇし。。。人に示すときは二度とCycleエンジンでレンダリングしない。
いいね、楽しみ。動画もきれいにできている。
・・・小型の液晶ディスプレイって、結構高いんだね。もっと安くて簡単なソリューションは?と思って、アマゾンを見ていたら、FireHD 10が14980円だった。・・・UnityでAndroid用のソフトを焼いて、マジックミラーの裏側に貼り付けるってのはどうだろう。RaspberryPiより強力なSoCがついてるし、スピーカーもカメラもついてるしね。それだとポートフォリオとして魅力がないか。
ディスプレイ高くなってましたね。買ったときは1万ちょいくらいでした。Aliexpressで購入できればいいのですが。。。
ソフトは一瞬Unityも考えましたが、この手のしょぼいソフトごときに大掛かりになりすぎるので候補から外れました。
理由:
– CPU使用による発熱電力消費(維持費)
– ハードのコスト (特にメモリ)
– メンテナンス性 / 開発コスト (C#は問題ないがUnityの理解があまりない)
→ デバッグの際にFTP通信を検討しているのでなるべくソフトの生成物の容量は減らしたい
RP zeroで開発予定でしたが、思ってた以上にグラフィックが弱いようなので、RP 3 or 4あたりになりそうです。おそらく製作費は合計で2.8万~3.5万くらいになりそうです。