wifi SD Watch

WiFi付SDカードから画像をPCに自動ダウンロードするアプリです。

PCとの接続機能が乏しいデジタル一眼レフカメラで、撮影するたびにPCのローカルフォルダへ画像をダウンロードするだけの単機能アプリです。

SharpCapにてライブスタックするために作りました。

ソースとインストーラ

githubにてオープンソースで公開しました。また、インストーラはこちらにあります。

注意:このインストーラはいわゆる自己署名証明なのでセキュリティの警告が出ます。

対応しているwifiカード

現在、対応しているカードは2機種のみです。共に技適ありの製品です。
1. ezShare wifi SDアダプタ (型番:ES-WiFiSD-ADP)
こちらはアダプタなので、別途マイクロSDカードを買って挿して使います。
※同じezShareブランドでもアダプタ型でないSDカード型のものは、このアプリでは使えません。
現在販売中です。オススメですが、このカードのIPアドレスが 192.168.4.1 になるため、他の機器で192.168.4 のネットワーク機器が混在するときは注意が必要です。
2.東芝FlashAir
既に販売終了しており、中古市場でかなり高値が付いています。PCからFlashAirを経由して他のWifiに接続する、専用ツールをインストールしてExplorerでファイルを操作する、など多機能ですが、コストパフォーマンス的には難しいでしょう。

使い方

  1. ezShareかFlashAirかを選択します。
  2. ダウンロードするフォルダを指定します。
  3. STARTを押します。

 4. 開始に先立って、ダウンロードフォルダ内のファイルをすべて削除するか、確認があります。
   はい:ダウンロードフォルダ内をすべて削除して、ダウンロードへ進みます。
   いいえ:削除はせずにダウンロードへ進みます。
   キャンセル:処理を中止します。

 5. 下記のメッセージで一旦停止します。SharpCapの「フォルダ・モニタ・カメラ」を使っている場合は、ライブスタックをリスタートしてください。その後、OKを押すとダウンロードが始まります。

処理のルール

  1. 一定時間(0.5 秒)おきにSDカードを監視し、新しい画像フ
    ァイルが出来ているか確認します。
  2. 新しいファイルがあれば、ダウンロードフォルダへダウンロードします。
  3. ダウンロード対象は「見に行った時点での最新のもの1つのみ」です。
    ※Wifiの接続不良等で見に行くのが遅れた場合、ダウンロード対象から抜けることがあります。

※「一番新しいファイル」の定義
デジタルカメラのデータフォーマットの命名規則で「一番新しいフォルダ」から「一番新しいファイル」を探します。
一番新しいフォルダ:DICM/ フォルダ以下でフォルダ名の先頭3桁の数字000~999までが連番
一番新しいファイル:各フォルダ下でファイル名の下4桁0000~9999が連番

 4. ダウンロードするのは JPGファイルのみです。RawファイルとJPGファイルの両方を保存する機能を使うと、Rawファイルで撮影用のファイルを保存しながらJPGファイルのライブスタックで状況を確認する、ということもできます。

テザー撮影できないカメラでテザー撮影する

ローエンドカメラには「テザー撮影」機能などついていない

前回の投稿「SharpCap非対応のデジカメで電子観望をする!」で、デジカメの撮影画像をPCに取り込むことができれば、SharpCap非対応のデジカメでもライブスタックによる電子観望ができることが分かりました。
「テザー撮影」とは、USBケーブルやWifiなどでデジカメとPC/スマホ/タブレットを接続して、リアルタイムで表示しながら撮影する機能です。さて、最近の機種だと普通にできそうですが、自分も持っている「SonyNEX-3N」はローエンド機で、そんな機能はありません。USB接続すると単にPCから見たストレージになり、本体側は撮影すらできなくなります。全くテザー撮影はできません。せめてWifiでもあれば。。。。??

そこで思いついたのが Wifi機能付きSDカード

一時、EyeFi という商品が流行ってました。今はデジカメ自体がWifi内蔵も多くて、それほど売られてない。
早速、いくつかのWifi付SDカードを入手しようと思います。こういう時は「セルフ人柱」。
電子観望に使う前提で何種類か試してみました。※どれも技適が付いてますね。

・LZeal ezShare  SDアダプタ型のもの。使えた!
・LZeal ezShare  32GBのもの GUI以外のアクセスがなく使えない!
・東芝 FlashAir (既に販売終了品かつ、高額で流通中。)
・EyeFi mobi (既に販売終了品:中古で買ったがアクティベーションコードが無く断念(泣))
・メーカー不明 (未到着なので、到着したら情報を更新します)

結論から言うと、現在のところ想定している用途に使えたのは
ezShare Wi-Fi機能搭載 SDアダプター microSDHC(8GB-32GB)サポート ES-WiFiSD-ADP
の一択のみでした。

「ezSh@re SDカードアダプタ」

同じメーカーですが、今回の使用目的にはSDカード型はNGでした。
アダプタ型が使えたのは嬉しい偶然です。こちらならSDカードの寿命を気にする必要がないです。

技適もちゃんとあります。

注意点としては16GB以下のカードを推奨です。(32BGだと動かないというレビューがありました)
私はこの16GBのカードで動きを確認しています。

さて、Wifi SDカードには、「撮影したファイルを自動でPC等へ転送」してくれる機能を期待していたが、使ってみると
・ブラウザを開く
・選んでダウンロードする
という機能しかありません。
しかも、ブラウザを更新しないと、リストが更新されないことも分かる。
図を書いてみたけど、赤矢印のところは「手動で操作」しなければならない。

赤矢印のところは「手動で操作」しなければならない

手動部分を自動化するWindowsアプリ「wifi SD Watch」を開発

要するに上の図の赤矢印のところ、

  • ブラウザに表示されているリストを定期的に更新・監視する
  • 新しいファイルが追加されていたら指定フォルダにダウンロードする

だけの機能があれば、オートメーションは完成するはず。
SharpCapのクセを前提に

  • 対象フォルダ内のファイルの全削除
  • OKボタンを押すまで待機(その間にライブスタックを開始/リセットする)
  • SDカード内の「最新の画像1枚のみ」をダウンロード。(既にあれば何もしない)

という機能も欲しい。探してもないだろうし、作った方が早い。
と言う訳で「wifi SD Watch」というアプリを作りました。

手作り感満載の単機能のアプリ

スタートを押すと、「フォルダモニターカメラ」のフォルダ内を全削除します。

はい:全削除して実行、 いいえ:削除せずに実行、 キャンセル:実行中止

先にライブスタックを開始、またはリセットする必要があるので、OKボタンを表示して待機します。
SharpCapでライブスタックをリセットしたら、OKを押して処理を続行します。

その後、新しい写真があるか0.5秒毎にチェックし、あればダウンロードします。

こんな動きです。

wifiへのアクセスが途切れた時は表示が点滅します。Wifi接続が復活すれば続行しますが、常に「その時の最新の写真」しか持ってこないので、接続が切れている間の写真はスキップします。

Wifi でネットワークエラーが起きた場合。

※ 現在は ezShare のアダプタのみ対応しています。下記にキャプチャを載せましたが、SDカード一体型は内部フォルダに直接アクセスできません。ブラウザから人間が操作するのであれば問題ないですが、プログラムからはアクセスできませんでした。

SDアダプタ型のUI画面。 disk_list メニューがあり、ここから、フォルダ構造にアクセスできる
SDカード一体型のUI画面。disk_list メニューもなく、内部への直接アクセスもトップ画面に戻される


近日中にオープンソース(MITライセンス)で公開しますので、そのまま使うなり、改造するなり、ご自由にお使いください。

SkyWatcherマウントをWifiで使っている方に注意

もう一つ、ez Sh@reは Wifi親機です。SSIDの変更はできますが、子機にはなれません。
さらに、親機としてのIPアドレスが 192.168.4.1 に固定されています
このアドレス、AZ-GTi をWifi親機にしたときのIPアドレスと全く同じなので、Wifiアダプタを2つ付けて両方と通信する、ということが出来なくなります。AZ-GTi とは有線接続になってしまいます。(もしくはAZGTiを子機モードで運用するか。)心当たりのある方はご注意ください。

東芝 FlashAir(2/6追記)

中古で東芝FlashAirを入試しました。これは既に販売終了している製品なので、ヤフオク等でかなり高額で出回っています。

こちらは専用アプリをインストールすると、エクスプローラでSDカードの中身が見えるようになります。(ネットワーク上のフォルダ扱い)
ただ、、、、F5更新しないと一覧がアップデートされないので、直接SharpCapのフォルダー・モニター・カメラで使うのは難しそうです。(こちらの方が自作ソフトを作るのは簡単そうです)

あと、専用アプリを使うとSSID、パスワードの再設定もできるので親切です。
もう売ってなくて、ヤフオク等で高額で取引されてるのが残念ですね。

EyeFi (2/6追記)

こちらも販売終了商品です。ヤフオク等で中古品を買うときは必ずアクティベーションコードが付いているものを入手するようにしてください。
※ EyeFi は「アクティベーションコード」が無いと、どうもにもなりません。SSIDはずっと見えているのにWifi接続ができない、ただのカードです。。。。

SharpCap非対応のデジカメで電子観望をする!

デジカメの連続静止画でライブスタックできる??

手元にある「天体改造 SONY NEX-3N」をなんとかライブスタックに使えないか、いろいろ考えていました。ほしぞLoveログ さんの記事によると、NikonやCanonのメジャー機では対応してるようです。
しかし、このカメラはSharpCapは非対応です。

その時、SharpCapPro(有料)のメニューでふと目に留まったのがこれ。
Folder Monitor Camera』??

指定したフォルダを監視して、そこに新しい画像が保存されると、それをフレームとして読み込む。ライブスタックにも使える、とここに書いてある。では、テザー撮影(リアルタイムでカメラから連続的に静止画を取り込む)できれば、ライブスタックが実現する?

The Virtual Folder Monitor Camera adds another way to get images into SharpCap – it can read existing or newly added image files from a directory opening up new ways to use SharpCap. As a couple of examples:

·         You have a camera that isn’t supported by SharpCap, even using a DirectShow or ASCOM driver, but you have an application that will capture frames from that camera and save them to a folder. You can use the folder monitor virtual camera to load each new frame saved to the folder into SharpCap, allowing you to access SharpCap tools like focus measurements, live stacking, etc.

·         You have a series of image frames of a target captured with either SharpCap or another capture application. You can use the folder monitor virtual camera to live stack these frames in SharpCap (or repeat the live stacking with different parameters if these were frames originally saved in SharpCap).

http://docs.sharpcap.co.uk/3.2/13_CameraControls.htm

SharpCap の Folder Monitor Camera の使い方と注意点

まずは、この Folder Monitor Camera が動くか確認です。
どうも Folder Minotor Camera は若干動作が不安定、というかクセがあるようです。フォーラムにも「動かない」というQAがあり、それに対する回答に下記のようにすれば動くと書いてあります。

1) Create an empty folder
2) Choose folder monitor cameras, browse to the new empty folder and choose ‘All in folder’
3) Enable live stacking (reset if already enabled)
4) Drop a single image file into the folder – the file becomes the first frame stacked
5) in the folder, copy the image file and then repeatedly paste it, making ‘Image copy.png’, ‘Image Copy (2).png’, etc – these files also get added to the stack with no further intervention needed.

https://forums.sharpcap.co.uk/viewtopic.php?p=4949#p4949

ここに書かれている通りにすると確かに動きます。違う手順だとなぜか検出してくれなかったりします。翻訳と、気付いたことを追記します

1.空のフォルダを作る
2.フォルダモニタカメラを選択し、空フォルダを選択して「All in Folder」ボタンで指定する


3.空フォルダのまま、ライブスタックを開始する。既に始まっている場合はリセットする
4.最初の1枚をフォルダに入れるーこれがスタックの最初の1枚目になります

 ※最初の1枚を入れても「無反応」な事がたまにあります。そんな時、「カメラコントロールを開く」辺りを触ると、なぜか反応し始めました。(特に設定を変えたわけではない)
最初の1枚が検出されれば、2枚目以降は問題なく読まれます。

とりあえずテスト

まずはベランダでテストです。
・AZ-GTi経緯台モードで追尾
・QBP-Ⅱフィルタ
・ISO16000
・露出2秒
で撮った写真を「フォルダー・モニター・カメラ」で指定したフォルダに1枚ずつ転送していきます。
カメラの写真をPCに転送する仕掛けは「テザー撮影できないカメラでテザー撮影する」を参照

ただ、フォルダ・モニター・カメラでライブスタックするには少し時間が掛かるようです。2秒露出+10秒インターバルで撮ってましたが、処理が追い付かなかったです。
ざっくりですが、写真を100枚撮った時=PCに転送されているのが80枚=ライブスタック済みが60フレーム、くらいの感じです。ここはもう少し実験をしてダウンロード間隔を調整したほうがいいかもしれません。いずれにしても少し余裕をみたインターバルにした方がよいと思います。
最初の1枚を入れた後、SharpCapがそれを認識してライブスタックの初期フレームに取り込むまでは少し時間が掛かりました。2枚目以降は大量にコピーしても連続処理してくれますが、2枚目以降の投入は、1枚目の処理完了を待ってから行ったほうが良さそうです。

以下、元画像(の内の1枚)と、ライブスタック画面です。

30枚くらいでもそこそこ出ました。

これで「フォルダー・モニター・カメラ」でライブスタック機能が動いていることは確認できました。何らかの方法で撮影画像を連続取り込みできれば、普通のデジカメでもライブスタックできることが分かりました。

ちなみにこちらはFMA-135+SVBony SV305でライブスタックしたものです。あっという間に何十フレームもスタックできるので、「観望」という意味のリアルタイム性はやはりカメラ直結の方が良いですが、広い視界とコストパフォーマンスではデジカメもありです。