ちょこちょこっと写真をPCで使いたいときに1〜2枚撮ってはSDカードを抜き差しする手間が面倒です。なので無線LAN転送を使います。で、ちょっと前のことですが東芝のFlashAirを入手しました。無線LAN機能付きのSDメモリーカードです。
無線LAN機能付きのSDメモリーカードは、私は長年Eye-Fiを使っていました。いまでもEye-Fiは使えますが、ちょっと不満を感じていたのでFlashAirに切り替えました。
不満その1。Eye-Fiの新品が買えない。接続用のユーティリティも更新されず今後のこと考えると不安があります。良い製品だろうに、なぜ途絶えてしまったのか。
不満その2。JPEGしか転送できない。Eye-FiプロならRAWも転送できますが、私のカードはできない。動画も転送できません。たまにRAWで撮るので、そうなると結局メモリーカードリーダーを使うので無線LAN機能付きの意味が無い。
不満その3.容量4GB。旅行に行くときに心ともない。って1日あたり数十枚しか撮らないから足りなくなったこと無いけど。
それでFlashAirですが、いままで入手を見送ってました。ずいぶん前から売っているのは知ってたのですが、Eye-Fiに比べ使えないと思ってたので。FlashAirのホームページには一見スマホしか相手にしていないように見えるし、ちゃんとPCへも転送できるけれど、その際はPCの無線LANのアクセスポイント(無線LAN親機)をFlashAirへ変更しなければならぬ。写真転送のたびに普段使っている無線LANのアクセスポイントから抜けて、いちいちFlashAirに接続しなければならない。ということは写真を転送中はインターネットを使えない。不便すぎるじゃろ。なおスマートフォンの専用アプリを使った写真転送ならばFlashAirを介して公共Wi-Fiに接続できるみたいです。
私はスマートフォンもタブレットもないし、そもそもスマートフォンがあればFlashAirを買わないでもバシャコンのWi-Fiでも同じようなことが出来るし。なによりアクセスポイントの切り替えが面倒。
という理由で見送ってきたのですが、あるときFlashAirを無線LAN子機として接続できる方法を知りました。また無線LAN子機として接続したFlashAirの写真をPCから取得する方法も。それならFlashAirをお家の無線LANに接続してPCの設定を変えずに写真を転送することができます。ただ、そのための作業が次のとおりで思ってたよりめんどうでした。
方法は次のリンク参照。
無線LAN関連の初期設定の常としてナニが起きているのか見えなくて、なにかと時間がかかるので(私だけか?)時間があるときにするのがお薦めです。あと、最初はFlashAirのマニュアル通りにFlashAirをアクセスポイントとしてPCを接続してFlashAirが正常に動くことを確認してからステーションモードへ変更することをお薦めします。
無線LAN接続がうまくいったら、次はカメラの写真をどうやってPCへ転送するか?です。Webブラウザを使う方法と、WebDAVを使う方法がありますが、私はブラウザでアクセスする方法を使ってます。WebDAVではうまくゆかず調べる気力を失いました。
次は無線LAN機能が必要ないときにFlashAirの無線LAN機能をoffにする方法です。ずっと無線LANが動いているとカメラのバッテリーが無駄に減ってしまいますから。無線起動画面を使った方法です。
ということで私が使っているCONFIGの設定は次のとおり。私のお家の無線LANではDHCPを使ってますがFlashAirに割り当てるIPアドレスは固定しました。ちなみに秘密にしたいのでSSIDとパスワードとIPアドレスは嘘っこです。
[WLANSD] DHCP_Enabled=NO IP_Address=192.168.1.129 Subnet_Mask=255.255.255.0 [Vendor] ~ CIPATH=/DCIM/101ND750/DSC_1572.JPG ~ APPSSID=LANLAN APPNETWORKKEY=sorehahimitsu ~ APPMODE=2 ~
写真を転送するときはPCのブラウザを使います。私の場合はURLにIPアドレス「http://192.168.1.129/」を指定します(私の場合は上記資料の方法ではうまくゆかなかったのでIPアドレスを指定してます)。するとブラウザにSDカードの中のフォルダーが表示されるので選ぶだけ。写真をPCへダウンロードするときはブラウザのダウンロードを使います。MacOSのsafariなら右クリックして「イメージをダウンロードに保存」を選ぶ、と。
ブラウザを使っているうちにカメラ側の電源が切れちゃうようなら、カメラの省電力タイマーを長めに設定すると良いです。
途中で接続が切れてしまったときは。いちどFlashAirの無線LAN機能をoffにしてonにします。具体的にはカメラで写真の再生機能でCONFIGに登録した無線起動画面の写真を表示してプロテクトをかけて(無線LANをoff)、5秒待って、プロテクトを外して(無線LANをon)、10秒待つ。無線LANの起動にはアクセスポイントへ接続があるので10秒以上かかるときも。ちょっと待つこと。
ところで無線LAN機能付きSDカードを使うときにカメラの省電力機能による自動電源offがやっかいです。いつのまにか切られちゃう。FlashAirの無線LANが生きているかわかりません。そのため私はpingでモニタすることにしました。方法はMacOSXなら「ターミナル」アプリで次のようなコマンド実行します(Windowsならコマンドプロンプトで「ping -t」)。これで無線LANが繋がっているか確認できます。繋がっていてもブラウザで見られなかったら、URLかブラウザの設定に問題がある、と。
$ ping 192.168.1.129 ←これがコマンド PING 192.168.1.129 (192.168.1.129): 56 data bytes ←コマンドの結果を1秒ごとに表示。 Request timeout for icmp_seq 0 ←応答がない。繋がってない。 Request timeout for icmp_seq 1 Request timeout for icmp_seq 2 ~ Request timeout for icmp_seq 9 Request timeout for icmp_seq 10 64 bytes from 192.168.1.129: icmp_seq=11 ttl=255 time=110.003 ms ←応答があった。繋がった。 64 bytes from 192.168.1.129: icmp_seq=12 ttl=255 time=1.060 ms ~ (止めるときはcontrol + c)
と、ここまで読んで、SDカードの抜き差しが面倒だから無線で写真を転送したいだけなのに、すごい面倒な、と思いますよね……このあたりEye-Fiはよくできてたなぁ、と思いました。そしてFlashAirはカメラ方面でやる気は無いんだなぁ、と思いました。
でも、1度設定して使い方のコツを掴んでしまえば、SDカードとして速いし、無線LANの転送もすんごく速いし、性能は良いです。スキルがあればカスタマイズしてEye-Fi同等にカード内の写真を自動で転送する機能も作り込めるみたいだし。なお「カメラ用無線LAN機能付きSDカード」はFlashAirの持てる芸のひとつに過ぎず、その真の姿は無線LAN&Webサーバ付きSDカードであり、組み込み先と合わせて完成品となる汎用アッセンブリですよ。同人誌をみるといろいろな工作に使われてます。イメージキャラクターまで。
(2018.12.16補足)MacOSならば「ターミナル」から「curl」コマンドを使って一括転送できます。curlコマンドは画像一括ダウンロードなどのキーワードでgoogleするとヒットします。Windowsなら「コマンドプロンプト」からWgetコマンドを使えばできるようです。で、MacOSの私の場合。まずcdコマンドで写真を格納したいフォルダへ。次にcurlコマンドで"-O"オプションで写真データファイルのurlを指定します(-Oは大文字)。写真データファイルは連番なので開始番号と終了番号を指定します。具体的には次のとおり。
$ cd 写真データを格納したいMacのフォルダ $ curl -O 192.168.1.129/DCIM/101ND750/DSC_[1680-1720].JPG (カメラからフォルダに1680〜1720のJpegフォーマットの写真が転送される) $ curl -O 192.168.1.129/DCIM/101ND750/DSC_[1680-1720].NEF (カメラからcフォルダに1680〜1720のRAWフォーマットの写真が転送される) $ exit ※"DCIM/101ND750/"の部分はカメラによって異なります。 ブラウザで転送するときにURL部分を参照すれば、指定内容がわかります。
この方法ですとフォルダを開くと写真が転送されているのですが、カメラに存在しない番号のファイルについてはサイズがゼロのファイルができてしまいます。たとえばカメラで写真を削除するなどして番号が飛んでる場合。カメラ側で DSC_0100.JPG の次が DSC_0103.JPG とすると、PC側のフォルダには DSC_0101.JPG と DSC_0102.JPG というサイズがゼロのファイルができます。これらのサイズがゼロのファイルを削除するのは地味に面倒なので、curlコマンドで指定する番号は転送したい範囲だけに絞るのが良いです。このあたり、もっと簡単にできる方法があると良いなぁ。
ということで久々にガジェットの話でした。