2011年6月18日土曜日

3DS と Mac 間の画像受け渡しを SD カードを介さずに行う

 ニンテンドー 3DS で撮った写真や、保存した Mii 画像、ゲームソフトで生成した画像を Mac(パソコン)に移動させようとしたら、通常は SD カードを経由して行うことになる。つまり
  1. 3DS から SD カードを抜いて
  2. カードリーダ・ライタ機器に差して
  3. それを Mac に認識させて
  4. ファイル移動
  5. カードリーダ・ライタ機器から SD カードを抜いて
  6. 3DS にカードを差す
というような手順を踏む。

 これはいかにもめんどくさい。3DS から SD カードを抜き差しする際は 3DS 本体の電源を切ることが推奨されてるっぽいのでさらにめんどい。3DS 本体が SD カードリーダ・ライタとして動作し、Mac とケーブルで繋いでファイル転送、くらいならまだいいのだが……。

 そこで、六月の 3DS 本体アップデートでインターネットブラウザが使用可能になったことに着目する。3DS のインターネットブラウザはフォームの <input type="file" /> に対応しており、本体および SD カードに保存されている画像のアップロードを行うことができる。

 つまり、ローカルネットワーク上でウェブサーヴァを立ち上げて、そこで簡易的な画像アップローダを構築すれば、SD カードの抜き差しを行うことなく画像の受け渡しが可能になるというわけである。

 アップローダは「ファイルをアップロードする - Python CGIプログラミング入門」を参考に Python で書いた。40 行程度。参考ページの Python スクリプトは単にファイルをアップロードするだけやけど、一般的な画像アップローダみたいなファイルリストなんかも出力するようにしておけば、Mac から 3DS への画像移動も簡単にできるようになる(3DS のインターネットブラウザで画像を開くと本体に保存できる)。ウェブサーヴァは Mac 標準の Apache で適当な設定をして Python スクリプトが CGI として動くようにしておく。画像を書き込むディレクトリィのパーミッション設定も忘れずに。

 3DS のインターネットブラウザは viewport 指定が効くみたいやけん、head 内に <meta name="viewport" content="width=device-width"> を入れておくとイイ感じのサイズで表示してくれる。

 準備が終われば 3DS のインターネットブラウザからアップローダにアクセスし、Mac に移動したい画像をアップロードすればよい。簡単ですね。

0 comments:

コメントを投稿