ニコンに使えるデジタル一眼レフの外部制御ソフト
- gPhoto2:Linuxで動く汎用デジタルカメラ外部操作ソフト。APIが公開されていて、さまざまなプログラムに組み込むことにも耐えられると考えられる。しかし、コマンド入力から実行まで随分と時間がかかり、ごく短い時間にたくさんの画像を撮像するには向かない
- Helicon remote:Androidタブレットで動く外部制御ソフト。無料版はjpegのみ対応、有料版でないとRAWは扱えない。パラメータの設定、レリーズなどは瞬時に行われるのはいいが、ソースコードなど公開されておらず、制御の核となるAPIは$5,000で販売とのこと。とても手が出る価格ではありません…
- DSLR Dashboad:Androidタブレットで動く無料外部制御ソフト。パラメータの設定、レリーズなどは瞬時に行われる。RAWにも対応し、ソースコードも手に入ったが、APIは公開されていない様である。
- Nikon純正ソフトウェア開発キット(SDK=Software Development Kit):Windows/Macでデジイチを動かすための素材。デモソフト、解説書など、素人の私には読み解けないけど手(ぶ)厚いAPIなどに関する解説書が付属する。デモソフトはC++言語で書かれ、ヘッダファイルなどはC/C++に対応するようである。デモソフトをコンパイルしてコマンドラインで操作すると、パラメータの設定、レリーズなどは瞬時に行われるが、Captureを行うとUSB接続をリセットしないとつぎのCaptureが行えないという問題がある。これはD600用のSDK固有のバグで、D7100用のSDKでは見られない。
この中から私はNikon純正SDKを選択しました。同時にソフトを作成する環境としてマイクロソフトが無料で配布しているVisual Studio
Express 2013 for Windows Desktopを使う事にしました。しかし、C++でフォームを弄る様には出来ていないようなのと、D600用のSDK固有バグを解消するために、C#でSDKを扱えるようにするWrapperを入手して開発を進めることにしました。
必要なソフト・ファイルの入手
- Visual Studio Express 2013 for Window Desktopの入手→こちらから
- ニコンのSDKの入手→こちらから
- Wrapperの入手→こちらから
WrapperからD600を動かしてみる
- Wrapper(私はこの時最新版のnikoncswrapper_v1.7を使いました)を開くとbinとsrcの2つがあり、うちsrcを開くと9つのフォルダがあります。
- demo_mokemoke(mokemokeにはcapabilities等が入る、アルファベット順に並べて6つ分)のProgram.csにある"Type0003.md3"を"Type0008.md3"に書き換えます。
- 次いでtestappフォルダを開き、testappファイルをVisual Studioで開きます。そしてtestappファイルを左クリック、「スタートアッププロジェクトに設定(A)」を選択してダイアローグを閉じます。
- 上の方にある選択肢で「Release」を選び、「開始」ボタンを押すと自動的にコンパイルされ、\src\testapp\bin\Releaseにtestapp.exeと言うアプリケーションが現れます。このフォルダにD600 SDK\Module\Win\Sample Program\win\ReleaseからType0008.md3とNkdPTP.dllをコピーします。
- testapp.exeをダブルクリックすると起動します。
- D600のminiUSB端子をPCにつないだら、さまざまな設定でD600で撮像可能になります。
- 撮像したファイルはPCのsrc\demo_capture_DebugかReleaseにセーブされます。
|