デジカメ Flash Air 転送ソフト

ガジェット

Keenaiサービス

Eye-Fiが終了したが、クラウド側での写真保存をしていたEye-Fi Cloudはリコーが吸収し、Keenaiというサービスに引き継がれているらしい。そして以前のEye-Fi同様にクラウドにアップロードを行うアプリがあるようで、 これでPCにもファイル転送が出来そう。

あぁ、有料か。まあ 以前のEye-Fi Cloudも一応写真を永久保存するときは有料だったしな。そのまま引き継がれればそうなるか。

また、KeenaiのPC向けソフトは、無線LANのないPCでは画像転送はできない様子。 これじゃあFlashAirToolと何も変わらない。

いまどきは、Amazonプライムに入れば、写真ストレージは無制限なので、Keenaiの写真保管だけで年間6,000円に比べると、 amazon各種サービス有での年間3,900円のほうが魅力的だ。 また、googleフォトなら実質無料で写真が無制限。画質問題があるが高級デジカメじゃなければ、画質そのままでの保存になるので、 無料で保存が可能だ。

どうやら自分には全く合わないサービスのようだ。

その後2018/11/30にKeenaiサービスは終了した模様。2016/06~2018/11の運用だった様子。有料サービスにしておきながら採算性悪いから撤退とは顧客を無視したひどいところだ。母体はリコーだった様子。利用しなくてよかった。

転送ソフト

FlashAirは仕様が公開されており、作りこめば自分でアプリを作れる。なので、自動転送させるアプリも作れると思われるが、 lua言語という、聞いたことのない言語での開発なので、まあ自分には無理だな。

できあいのもので、何か探していると、「Snowy」 というのが好評なようだ。

また、もう一つ「WiFiSD8」というのが代表的なようなのだが、 こちらは2017/7/24にて公開終了とのこと。Win10の更新でいろいろヤラれた様子。もったいない。

ステーションモード

これらのアプリの使用記事などを読んでいると、どうやらFlashAirにはWiFi親機のアクセスポイントモード以外に、 WiFi子機となるステーションモードでも動作させることができるようだ。しかしFlashAirToolでは設定できないようで、手作業による設定が必要とのこと。とりあえずやってみよう。

まずは、SDカード内に存在しているCONFIGファイルをいじるのだが、これが隠しファイルなので、 エクスプローラで見える設定にしてから作業実施。最初は写真ファイルが入る予定のDCIMフォルダしか見えていない。

そこで、メニューの「表示」で表示設定を出して、隠しファイルにチェックを入れる。これで隠しファイルやフォルダが見えるはず。

すると、SD_WLANというフォルダが見えるようになった。このフォルダが隠しフォルダとして存在していたようだ。

SD_WLANフォルダの下に移動してみると、「CONFIG」ファイルがある。こいつを編集すればよいので、 テキストエディタでファイルを開く。

ファイルの内容について、以下を修正。

  • APPMODEを4から5に変更
  • APPNAMEを追記して、FlashAirのホスト名相当を記入[myflashair]
  • APPNETWORKKEYに家のWiFiのパスワードを記入
  • APPSSIDに家のWiFiのSSIDを記入

これでいいはず。詳しくは公式のこちらを見るとよい。

では更新したFlashAirのSDカードをデジカメに移して、デジカメ側の電源を入れる。 これでFlashAirは内部で立ち上がり、家のWiFiに接続に行っているはず。少ししてからブラウザでAPPNAMEで設定した名前にアクセス。 すると、反応は遅いが画面が出てきた。どうやらSDカードの中のファイルを見せてくれている様子。

http://myflashair/

これで、FlashAirが家のWiFiにつながる設定は完了。ステーションモードでの動作がうまくいったようだ。

Snowy

FlashAir側のステーションモード設定ができたので、Snowyのソフトを動かしてみる。 インストーラなどはなく、解凍したらそこで動作可能なようなので、フォルダごと「C:\Program Files (x86)」に移動する。

では、フォルダ内にある「SnowyImageCopy.exe」を実行。するとウイルスバスターが反応。 まさかウイルス感染しているのかと思ったのだが、調べてみるとダウンロード実績の少ないソフトの場合に、警告を出しているらしい。 なんというか、迷惑。ウイルスバスターは邪魔ばっかするケースが多い。windowsDefenderで大丈夫なら、もう更新は無しだな。

とりあえず、警告画面から「ファイルを開く」を選ぶと実行できた。2回目以降は警告画面は出なくなったので、よかった。 起動したら、まずは右上にある「オプション」を押す。

すると設定類が出てくるので、FlashAirアドレスに「http://myflashair/」を入れて、 コピー先は、ローカルディスクを選択。とりあえずそこだけ設定しておく。

では、デジカメ側の電源を入れて、Snowyで左上にある「チェック」のボタンを押してみる。 すると何か通信してチェックを行い、完了した。何も出てこない。試しに1枚写真を撮ってあるはずなんだけど、 出てこないな。

変だと思い、またブラウザからアクセスしてみる。すると135__03というフォルダが出来ており (これはデジカメ側で作られるので、正しいと思う)、その下に写真ファイルがあった。 なので写真ファイルはできているのだが、それが取得できておらず、「チェック」では何もなしとなった。なぜ?

オプション設定で、FlashAirアドレスを試しにもう一段深くしてみる。具体的にはDCIMフォルダも記載してみる。 135__03フォルダまで記載してしまうと、このフォルダはファイル数や日付で次のフォルダに移るので、固定にはできない。 その直前のフォルダであるDCIMフォルダを設定して、サブフォルダを探してくれないと、お手上げなのだが。

これでもう一度チェックを動かすと、今度は写真が表示された。深いフォルダまで探りにいかない仕様なのかわからないが、 とりあえず写真ファイルに到達出来て、サムネイルが表示されたので良かった。

だが、これはあくまでチェックだけで、ファイルの転送は行われていない。できれば自動で転送してほしいのだが、どうするのだろう? 自動ボタンを押してみると、これで自動モードに入ったらしく、待機&チェックを繰り返すようだ。 指定された間隔で、「チェック&コピー」が動作する。その時にFlashAirが見えていれば、コピーされるようだ。

そのうち、チェックモードに入り未送信のファイルを見つけ、コピー開始。いい感じだ。

ファイルが一つなのですぐに終了し、コピー完了となった。便利。

PCのローカルフォルダを見てみると、指定のフォルダが作成され、その下に日付フォルダが作成されて、ファイルがコピーされている。 良い動作だ。ちなみにこのファイルを削除して再チェックをしたら、未送信扱いとなった。

どうやらローカル側とFlashAir側でのファイル存在チェックで 送信済みかどうかをチェックしているようだ。となると、転送されたPC側のファイルを動かすと、未転送扱いとなり、またコピーされてしまいそうだ。 使い方は少し考えないと。

常駐化(Snowy)

また、毎回Snowyを起動して自動のボタンを押すのも面倒だなと思う。そこで、常駐化させようと思う。 アプリ自体はexe起動すればいいだけなので、ショートカットをスタートアップに置けばいいだろう。

windows10でのスタートアップは、 「C:\Users\[ユーザ名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup」 となるので、ここにショートカットを配置する。

しかし、これだと起動されてウインドウ表示されるだけなので、起動後に「自動」ボタンを押してやる必要がある。 カメラを使用するときだけ自動を押せばいいか。それ以外はアクセスしても接続エラーを繰り返すだけだから、 無駄なCPU使用を改善できるかも。

とはいえ、やはり写真のコピーを自動化したので、起動と設定は自動化したい。 githubにアップされているようなので、のぞいてみる。 Documentsフォルダにreadmeがあったので、調べてみると、起動時にパラメータを入れておくと、いろいろできる様子。

オプション内容
/autocheck起動時に自動チェックを開始
/minimized起動時にウィンドウを最小化
/recordlogFlashAirからのダウンロードのログを記録

いろいろあるようだが、最小化と自動チェック開始は便利そうだ。入れてみよう。 ショートカットの「リンク先」の部分に直接追記しておく。

これで、PC起動と同時に常駐して自動モードで常時問い合わせが実施される。すこしCPUが食われるだろうが、 まあいいだろう。Eye-Fiだって同じだっただろうし。唯一気になるのは、最小化してもタスクバーに残ってしまう。 右側のタスクトレイに収納されると、よりいいんだけどな。

その他

後になって気づいたのだが、オプション設定がいろいろあった。初期ウインドウサイズが小さくて、見えてなかったのだが、 ウインドウサイズを大きくしたら、下にもまだまだ設定項目が存在していた。

全部見てみたが、デフォルトのままで特に変更する箇所はなかった。日付フォルダ作成がオプション化されていて、 デフォルトでOnなのだが、これは地味に便利だ。ありがたい。

削除に関する機能は、コピー後すぐ削除くらいしかないので、ちょっと残念。 破損や紛失を考慮して、SDカードには少しの間は残しておいてほしいので、500枚超えたら、古いのから少し消すとか、そんな機能があると便利。SDカード側とローカル側の保存枚数次第での調整ができるといいのにな。

追加検討

FlashAirがなかなか便利に使えることが分かったので、自分のカメラだけではなく、 嫁のカメラもFlashAirを入れてリモート化させようと思う。 現在嫁のEOS Mには、今はリモートでは使えないEyeFiが入っており、ただの8GBのSDカードとなっている。 すでに中身がいっぱいらしく、古い写真を都度削除しながら写真を撮っている。 32GBのFlashAirにすれば、容量も大きいし、自動転送できればさらにいうことなしだろう。

(2018/04/15)そう思い、追加購入したのだが、嫁のパソコンはiMac。自分と同様にSnowyソフトを入れようとしたら、このソフトはwindowsのみだった。 MAC版を探すが同様のソフトは見当たらず、少々困ったことに。

とりあえず、モノは購入してしまったので、前回同様ステーションモード化までは実施してみる。 調べてみるとこのステーションモードになると、WebDavというものが動いている状態らしく、 httpでの共有モードらしい。

SnowyソフトもこのWebDavを利用して接続を行い、データコピーを行っているので、 バッチファイルなどでも同様のことができるのではないかと考えた。

転送システム

Snowyの動きを見ていると、定期的にFlashAirへの接続を試みて、つながったらローカルファイルとSDカード内ファイルの比較を行い、差分を取得する動作を行っている。うちには常時起動中のラズパイがあるので、こいつにアクセスさせてみよう。 また、NASがあるので、ここに写真をコピーするようにしてみよう。

ということで、まずはラズパイからFlashAirへのアクセスを試す。 ラズパイからのWebDavアクセスは、davfs2を入れる必要があるらしい。

sudo apt-get install -y davfs2

インストールを実行すると、なんだか確認画面が出てきた。権限をどうするかの確認らしい。 rootのみとするかどうかなので、一般ユーザでも設定可能とするように、「はい」を選択。 外のインターネットからアクセスできない場所なので、セキュリティの心配はあまり厳しくしなくても大丈夫だろう。

以下工事中