iPhoneの画面をパソコン側のスクリーンに映す方法


iPhoneにはMobileFinderやAirSharingなどpdfファイルなどを開くツールがいろいろあるし、ZeptoPadのようなツールもある。だから、iPhone自体にプレゼンのために使う能力は十分にあると思う。


ところが、iPhoneの画面は人に見てもらうには小さすぎる。見てもらうどころか、横から覗き見されないように覗き見防止フィルターを貼って使ってたりするのが現状だ。


そこで、iPhoneにプロジェクタを接続したいのだが、そんなものは売られていないので、iPhoneVNC Serverになってもらい、パソコンから接続するしかない。


iPhoneVNC Serverは、Veencyを使う。JBしていれば、Cydiaからインストール出来る。
パソコン側のVNC Viewerのほうは何でもいい。私はUltraVNC ViewerとTightVNC Viewerを使って接続出来ることは確認した。


あと、Veencyは常駐してしまうので、メモリ使用量も馬鹿にならないし、3Gで接続しているとAttackされて気分が悪い。


そこで、iPodayの人のプラグインを入れて、BossPrefsでオンオフ出来るようにしておく。


BossPrefs Plugin - Veencyをオンオフ(iPoday)
http://www.ipoday.com/ipodtouch_applications/item_2848.html


ここまでで、一応iPhoneの画面がパソコンのスクリーンに映し出せるという状況にはなった。
(ちなみに、描画にOpenGLを使うアプリはパソコン側のスクリーンに映らないようだ)


ところが、これだと無線LANが使えない環境では、使えない。大事な商談をしているのに、無線LANが途中で電波が途切れたり、通信速度が遅かったりすると目も当てられない。


そこで、無線LANなんかに頼らず、USBで接続したいわけだ。どうしようかと考えた末、tetheringの時に使ったport bridgeを使うことにした。以下のリンクにある。


SSH to tether your iphone over USB cable to get your PC online(alk blog)
http://alk2blog.blogspot.com/2008/08/ssh-to-tether-your-iphone-over-usb.html


↑の文中の itunnel.zip を使う。
【直リン】
http://www.mediafire.com/?tnaqjzw0mnd


itunnel.zipのなかにある、iTunnel.exe が port bridge を行なうためのプログラムだ。( .NET Framework 3.5をインストールしておく必要があるかも知れないと書いてあるので動かない人はインストールすべし)


VNCで使用するディフォルトポートは5900だから、これをbridgeするために、コマンドラインから

iTunnel.exe 5900 5900


と入力する。あるいは、Runtunnel.cmdというバッチファイルが付属されているので、テキストエディタでこれを上のように書き換えて、実行すると良いだろう。


こうしておいて、127.0.0.1:5900 にアクセスすると、あら不思議。iPhoneにアクセスできちゃう。以下に手順をまとめる。


【手順】
1. iPhoneをUSBで接続
2. Runtunnel.cmdを上のように書き換えて実行(コマンドプロンプトの画面は消さないように)
3. UltraVNC Viewerで、127.0.0.1にアクセス。
4. iPhone側で接続を許可するかの確認ダイアログが出るので「Accept」を押す。
5. 接続成功


肝心の描画速度のほうだが、USBで接続した場合、100Mbpsの無線LANで接続しているのよりは多少速いが、劇的に速いわけではない。むしろ、そんなに変わらない。(5 fpsぐらいか) 安定して動作することに意味があると思う。


実際、これを使ってプレゼンしてみた感想だが、iPhoneの画面は見ずに、映し出されるスクリーンを見ながら話して、iPhone自体は単なるタッチ型のコントローラーのように使えた。悪くはないだろう。


皆さんもお試しあれ。